/* =========================================================
   trigger fitness 24 — shared site CSS
   ========================================================= */
:root{
  --orange:#FF6B00; --orange-dark:#e05f00;
  --gold:#b8935a;                     /* 上品な金の副アクセント（見出し罫・小ラベル・価格） */
  --gold-soft:rgba(184,147,90,.34);
  --line-green:#06C755;
  --bg-dark:#0A0A0A; --bg-section:#0e0f12; --bg-card:#17181c; --border:#2A2A2A;
  --ink:#f4f2ed; --muted:#c7c7c7; --muted2:#9a9a9a;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip; max-width:100%}
body{
  font-family:"Noto Sans JP",-apple-system,"Hiragino Sans",sans-serif;
  background:var(--bg-dark); color:var(--ink); line-height:1.8;
  font-size:15px; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.container{max-width:1200px; margin:0 auto; padding:0 20px}
.container-narrow{max-width:860px; margin:0 auto; padding:0 20px}
.section{padding:76px 0}
.en{font-family:"Inter",sans-serif}
.section-head{text-align:center; margin-bottom:44px}
.section-eyebrow{font-family:"Inter",sans-serif; font-size:13px; font-weight:700; letter-spacing:.22em; color:var(--gold); text-transform:uppercase; display:block; margin-bottom:12px}
.section-title{font-size:clamp(25px,5vw,38px); font-weight:900; letter-spacing:.04em; line-height:1.4; word-break:keep-all}
.section-title span{color:var(--orange)}
.section-rule{width:56px; height:3px; background:var(--gold); margin:16px auto 0; border-radius:2px}
.section-sub{color:var(--muted); font-size:15px; margin-top:16px; line-height:1.9; max-width:680px; margin-left:auto; margin-right:auto}

/* motion */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none} html{scroll-behavior:auto} }

/* HEADER */
.header{position:fixed; inset:0 0 auto 0; z-index:1000; background:rgba(10,10,10,.92); backdrop-filter:blur(10px); border-bottom:1px solid #1c1c1c}
.header-inner{max-width:1200px; margin:0 auto; padding:0 20px; height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px}
.header-logo img{height:30px; width:auto}
.header-nav{display:none; gap:26px; list-style:none}
.header-nav a{font-size:13px; font-weight:600; color:#bbb; letter-spacing:.05em; transition:color .2s; display:inline-flex; align-items:center; min-height:44px}
.header-nav a:hover{color:var(--orange)}
.header-cta{display:none; background:var(--orange); color:#fff; padding:11px 20px; border-radius:6px; font-size:13px; font-weight:700; letter-spacing:.03em; transition:background .2s,transform .2s}
.header-cta:hover{background:var(--orange-dark); transform:translateY(-1px)}
.hamburger{display:flex; flex-direction:column; gap:5px; padding:9px; background:none; border:0; cursor:pointer; min-width:42px; min-height:42px; align-items:center; justify-content:center}
.hamburger span{display:block; width:24px; height:2px; background:#fff; transition:.3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-nav{position:fixed; top:64px; left:0; width:100%; background:rgba(10,10,10,.98); border-bottom:1px solid #1c1c1c; transform:translateY(-120%); transition:transform .35s; z-index:999; padding:18px 20px 26px}
.mobile-nav.open{transform:none}
.mobile-nav ul{list-style:none}
.mobile-nav li a{display:block; padding:14px 4px; font-size:15px; font-weight:600; border-bottom:1px solid #1c1c1c}
.mobile-nav-btns{display:flex; flex-direction:column; gap:10px; margin-top:18px}
.mobile-nav-btn{text-align:center; padding:15px; border-radius:8px; font-weight:700; font-size:15px}
.mobile-nav-btn.primary{background:var(--orange); color:#fff}
.mobile-nav-btn.line{background:var(--line-green); color:#fff}

/* generic page hero (lower pages) */
.hero{position:relative; min-height:78vh; display:flex; align-items:center; overflow:hidden}
.hero-media{position:absolute; inset:0; z-index:0}
.hero-media img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 42%}
.hero-veil{position:absolute; inset:0; z-index:1; background:
  linear-gradient(180deg,rgba(10,10,10,.42),rgba(10,10,10,.62) 60%,rgba(10,10,10,.94)),
  linear-gradient(90deg,rgba(10,10,10,.8),rgba(10,10,10,.32) 62%,rgba(10,10,10,.1))}
.hero-content{position:relative; z-index:2; padding-top:96px; padding-bottom:56px}
.hero-eyebrow{font-family:"Inter",sans-serif; font-size:13px; font-weight:700; letter-spacing:.28em; color:var(--gold); margin-bottom:16px}
.hero-title{font-size:clamp(28px,6.4vw,54px); font-weight:900; line-height:1.3; letter-spacing:.02em; word-break:keep-all}
.hero-title .accent{color:var(--orange)}
.hero-title .sub-en{display:block; font-family:"Inter",sans-serif; font-size:clamp(12px,3.2vw,16px); font-weight:700; letter-spacing:.18em; color:rgba(255,255,255,.6); margin-bottom:14px}
.hero-title .store-en{display:block; font-size:clamp(13px,3.4vw,18px); font-weight:700; color:rgba(255,255,255,.66); letter-spacing:.05em; margin-top:14px}
.hero-subtitle{font-size:clamp(14px,3.5vw,17px); color:#e8e8e8; margin-top:22px; line-height:1.95; max-width:640px}
.hero-tags{display:flex; flex-wrap:wrap; gap:9px; margin-top:24px}
.hero-tag{font-size:13px; font-weight:700; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(184,147,90,.5); color:#fff; backdrop-filter:blur(4px)}
.hero-buttons{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}

/* buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:54px; padding:0 26px; border-radius:8px; font-weight:800; font-size:16px; letter-spacing:.02em; transition:transform .2s, box-shadow .2s, background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-line{background:var(--line-green); color:#fff; box-shadow:0 8px 24px rgba(6,199,85,.28)}
.btn-primary{background:var(--orange); color:#fff; box-shadow:0 8px 24px rgba(255,107,0,.3)}
.btn-secondary{background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.28)}

/* keyword band */
.kwband{background:var(--orange); padding:15px 0}
.kwband-inner{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:9px 20px; max-width:1040px; margin:0 auto; padding:0 20px}
.kw{font-size:14px; font-weight:800; color:#fff; letter-spacing:.03em; white-space:nowrap; display:inline-flex; align-items:center; gap:20px}
.kw::before{content:""; width:5px; height:5px; background:rgba(255,255,255,.55); transform:rotate(45deg); flex:0 0 auto}

/* campaign band */
.cband{position:relative; overflow:hidden}
.cband-bg{position:absolute; inset:0; z-index:0}
.cband-bg img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 40%}
.cband-veil{position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(10,10,10,.94),rgba(10,10,10,.72) 60%,rgba(10,10,10,.55))}
.cband-inner{position:relative; z-index:2; padding:52px 0; display:grid; grid-template-columns:1fr; gap:26px; align-items:center}
.cband-label{font-family:"Inter",sans-serif; font-size:13px; font-weight:700; letter-spacing:.2em; color:var(--gold); margin-bottom:10px}
.cband-title{font-size:clamp(24px,5vw,38px); font-weight:900; line-height:1.35}
.cband-title b{color:var(--orange); font-size:1.35em}
.cband-note{font-size:13px; color:var(--muted2); margin-top:14px; line-height:1.8; max-width:640px}
.cband-cta{display:flex; flex-wrap:wrap; gap:12px}

/* section bg image band (暗幕付き) */
.bgband{position:relative; overflow:hidden}
.bgband-bg{position:absolute; inset:0; z-index:0}
.bgband-bg img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 45%}
.bgband-veil{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,10,10,.88),rgba(10,10,10,.82))}
.bgband-inner{position:relative; z-index:2}

/* cards grid (stores / generic) */
.cards{display:grid; grid-template-columns:1fr; gap:26px}
.card{background:var(--bg-card); border:1px solid var(--border); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; min-width:0}
.card-img{aspect-ratio:4/3; overflow:hidden}
.card-img img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; transition:transform .6s}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:24px; display:flex; flex-direction:column; flex:1}
.card-tag{font-family:"Inter",sans-serif; font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--gold)}
.card-name{font-size:20px; font-weight:900; line-height:1.35; margin:8px 0 12px}
.card-desc{font-size:14px; color:var(--muted); line-height:1.85}
.badges{display:flex; flex-wrap:wrap; gap:7px; margin:16px 0}
.badge{font-size:13px; font-weight:700; padding:6px 11px; border-radius:6px; background:rgba(184,147,90,.14); border:1px solid rgba(184,147,90,.4); color:#e9dcc4}

/* price box */
.price-box{background:#0d0e11; border:1px solid var(--border); border-radius:10px; padding:16px; margin:6px 0 18px}
.price-label{font-size:13px; color:var(--muted2); letter-spacing:.04em}
.price-main{display:flex; align-items:baseline; gap:4px; margin-top:4px}
.price-num{font-family:"Inter",sans-serif; font-size:40px; font-weight:900; color:var(--orange); line-height:1}
.price-unit{font-size:15px; font-weight:800; color:var(--orange)}
.price-tax{font-size:13px; color:var(--muted2); margin-top:4px}
.card-btn{display:flex; align-items:center; justify-content:center; min-height:50px; border-radius:8px; font-weight:800; font-size:15px; margin-top:auto}
.card-btn.solid{background:var(--orange); color:#fff}
.card-btn.ghost{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.3); margin-top:10px; min-height:46px; font-size:14px}

/* image grid (equip / gallery) */
.imgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:8px}
.imitem{border-radius:12px; overflow:hidden; border:1px solid var(--border); position:relative; min-width:0}
/* マシン画像は正方形(1080x1080・上下にラベル/店名を焼き込み済)。1/1で全ラベル・機械全体を見せ切る(見切れ0) */
.imitem img{width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; display:block; transition:transform .6s}
.imitem:hover img{transform:scale(1.06)}
/* ラベルは画像に焼き込み済のため重複オーバーレイは非表示(焼き込みの店名帯を隠さない) */
.imcap{display:none}

/* stats */
.stats{background:var(--bg-dark); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.stats-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; text-align:center}
.stat-num{font-family:"Inter",sans-serif; font-size:clamp(30px,7vw,50px); font-weight:900; color:var(--orange); line-height:1}
.stat-unit{font-size:18px; color:var(--gold); font-weight:800}
.stat-label{font-size:13px; color:var(--muted); margin-top:8px; letter-spacing:.04em}

/* features */
.features-grid{display:grid; grid-template-columns:1fr; gap:16px}
.feature-card{background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:26px 22px; position:relative; overflow:hidden}
.feature-card::before{content:""; position:absolute; left:0; top:0; width:4px; height:100%; background:var(--gold)}
.feature-num{font-family:"Inter",sans-serif; font-size:30px; font-weight:900; color:var(--orange); line-height:1}
.feature-title{font-size:17px; font-weight:900; margin:12px 0 8px}
.feature-desc{font-size:14px; color:var(--muted); line-height:1.85}
.feature-desc .sub{color:var(--muted2); font-size:13px}
.note{font-size:13px; color:var(--muted2); margin-top:22px; text-align:center; line-height:1.9}

/* table (spec / comparison) — 必ず overflow-x:auto の箱で使う */
.table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--border); border-radius:12px; margin-top:8px}
table.tbl{width:100%; border-collapse:collapse; min-width:520px; background:var(--bg-card)}
table.tbl th,table.tbl td{padding:13px 16px; font-size:14px; text-align:left; border-bottom:1px solid var(--border); line-height:1.7}
table.tbl th{color:var(--gold); font-weight:800; white-space:nowrap; background:#101116}
table.tbl td{color:var(--muted)}
table.tbl td strong{color:var(--ink); font-weight:800}
table.tbl tr:last-child td{border-bottom:0}

/* steps */
.steps{display:grid; grid-template-columns:1fr; gap:14px; margin-top:8px}
.step{background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:20px 22px; display:flex; gap:16px; align-items:flex-start}
.step-no{font-family:"Inter",sans-serif; font-weight:900; font-size:22px; color:var(--orange); line-height:1; flex:0 0 auto; min-width:44px}
.step-body h3{font-size:16px; font-weight:900; margin-bottom:6px}
.step-body p{font-size:14px; color:var(--muted); line-height:1.85}

/* faq */
.faq{display:grid; gap:12px; margin-top:8px}
.faq-item{background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:20px 22px}
.faq-q{font-size:15px; font-weight:800; color:var(--ink); display:flex; gap:10px; line-height:1.6}
.faq-q::before{content:"Q"; font-family:"Inter",sans-serif; color:var(--orange); font-weight:900; flex:0 0 auto}
.faq-a{font-size:14px; color:var(--muted); line-height:1.9; margin-top:10px; padding-left:24px}

/* prose (legal) */
.prose h2{font-size:18px; font-weight:900; margin:30px 0 10px; padding-left:14px; border-left:4px solid var(--gold); line-height:1.5}
.prose h2:first-child{margin-top:0}
.prose p{font-size:14px; color:var(--muted); line-height:1.95; margin-bottom:12px}
.prose ul{margin:0 0 12px 20px}
.prose li{font-size:14px; color:var(--muted); line-height:1.9; margin-bottom:6px}
.prose .updated{font-size:13px; color:var(--muted2); margin-top:30px}

/* form */
.form-card{background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:30px 24px; max-width:680px; margin:0 auto}
.form-row{margin-bottom:18px}
.form-row label{display:block; font-size:14px; font-weight:700; margin-bottom:8px; color:var(--ink)}
.form-row label .req{color:var(--orange); font-size:12px; margin-left:6px; font-weight:800}
.form-row input,.form-row textarea,.form-row select{
  width:100%; background:#0d0e11; border:1px solid var(--border); border-radius:8px; color:var(--ink);
  font-size:16px; padding:13px 14px; font-family:inherit; min-height:48px}
.form-row textarea{min-height:120px; resize:vertical; line-height:1.7}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none; border-color:var(--gold)}
.form-hp{position:absolute; left:0; top:0; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.form-hp input{width:1px}
.form-submit{width:100%; min-height:56px; background:var(--orange); color:#fff; border:0; border-radius:10px; font-size:17px; font-weight:900; cursor:pointer; margin-top:8px; letter-spacing:.03em; transition:background .2s,transform .2s}
.form-submit:hover{background:var(--orange-dark); transform:translateY(-1px)}
.form-note{font-size:13px; color:var(--muted2); line-height:1.8; margin-top:16px; text-align:center}

/* access */
.access-grid{display:grid; grid-template-columns:1fr; gap:24px}
.access-card{background:var(--bg-card); border:1px solid var(--border); border-radius:14px; overflow:hidden; min-width:0}
.access-map{aspect-ratio:16/9}
.access-map iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(.2) contrast(1.05)}
.access-card-body{padding:22px}
.access-store{font-size:18px; font-weight:900; margin-bottom:12px}
.access-list{list-style:none}
.access-list li{font-size:14px; color:var(--muted); padding:7px 0; border-bottom:1px solid #1c1c1c; line-height:1.7}
.access-list li strong{color:#fff; font-weight:700; margin-right:8px}
.access-btn{display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:8px; border:1px solid var(--orange); color:var(--orange); font-weight:800; font-size:14px; margin-top:16px}

/* line band */
.lineband{background:linear-gradient(135deg,#0d1f14,#0a0a0a)}
.line-box{text-align:center; background:var(--bg-card); border:1px solid rgba(6,199,85,.4); border-radius:16px; padding:40px 24px; max-width:660px; margin:0 auto}
.line-box h3{font-size:clamp(20px,4.4vw,26px); font-weight:900; margin-bottom:12px}
.line-box p{font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:22px}
.line-note{font-size:13px; color:var(--muted2); margin-top:16px}

/* footer */
.footer{background:#060606; padding:56px 0 120px; border-top:1px solid var(--border)}
.footer-logo{height:32px; width:auto; margin:0 auto 30px}
.footer-stores{display:grid; grid-template-columns:1fr; gap:22px; margin-bottom:30px}
.footer-store h4{font-size:15px; font-weight:800; color:var(--gold); margin-bottom:8px}
.footer-store p{font-size:13px; color:var(--muted2); line-height:1.9}
.footer-nav{display:flex; flex-wrap:wrap; justify-content:center; gap:6px 4px; margin-bottom:24px}
.footer-nav a{font-size:13px; color:var(--muted); padding:10px 12px; min-height:40px; display:inline-flex; align-items:center}
.footer-nav a:hover{color:var(--orange)}
.footer-copy{text-align:center; font-size:13px; color:#555; font-family:"Inter",sans-serif}

/* sticky CTA (SP) */
.sticky-cta{position:fixed; left:0; bottom:0; width:100%; z-index:900; background:rgba(10,10,10,.96); border-top:1px solid var(--border); backdrop-filter:blur(8px); padding:9px 10px; transform:translateY(120%); transition:transform .4s}
.sticky-cta.show{transform:none}
.sticky-inner{display:flex; gap:7px; max-width:640px; margin:0 auto}
.sticky-btn{flex:1; text-align:center; min-height:46px; display:flex; align-items:center; justify-content:center; border-radius:8px; font-size:13px; font-weight:800; padding:0 6px}
.sticky-btn.orange{background:var(--orange); color:#fff}
.sticky-btn.outline{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35)}
.sticky-btn.green{background:var(--line-green); color:#fff}

/* ===== 深掘り追加（競合学習軸）：目的別カード＝実写全面背景＋暗幕＋白見出し（epの勝ち筋） ===== */
.goalcards{display:grid; grid-template-columns:1fr; gap:14px; margin-top:8px}
.goalcard{position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--border); min-width:0; min-height:308px; display:flex; align-items:flex-end}
.goalcard>img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; transition:transform .7s ease; z-index:0}
.goalcard:hover>img{transform:scale(1.06)}
.goalcard-veil{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,10,10,.12),rgba(10,10,10,.52) 52%,rgba(10,10,10,.93))}
.goalcard-body{position:relative; z-index:2; padding:24px 20px 22px; width:100%}
.goalcard .gc-en{font-family:"Inter",sans-serif; font-size:13px; font-weight:700; letter-spacing:.16em; color:var(--gold); display:block; margin-bottom:6px}
.goalcard h3{font-size:19px; font-weight:900; color:#fff; margin:0 0 8px; line-height:1.42; word-break:keep-all}
.goalcard p{font-size:14px; color:#e8e8e8; line-height:1.8}
.goalcard ul{margin-top:12px; display:flex; flex-direction:column; gap:6px}
.goalcard li{list-style:none; font-size:13px; color:#ededed; padding-left:18px; position:relative; line-height:1.7}
.goalcard li::before{content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; background:var(--orange); transform:rotate(45deg)}

/* 強オファー帯（banner_playbook：白抜き大数字＋ラベル列） */
.offer-band{background:linear-gradient(135deg,var(--orange),var(--orange-dark))}
.offer-band-inner{display:grid; grid-template-columns:repeat(2,1fr); gap:10px; max-width:1040px; margin:0 auto; padding:26px 20px}
.offer-item{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:4px; padding:14px 8px; border-radius:10px; background:rgba(255,255,255,.10)}
.offer-item .oi-lbl{font-size:13px; font-weight:800; color:#fff; letter-spacing:.02em; line-height:1.4}
.offer-item .oi-big{font-family:"Inter",sans-serif; font-size:clamp(28px,7vw,42px); font-weight:900; color:#fff; line-height:1}
.offer-item .oi-small{font-size:13px; font-weight:800; color:rgba(255,255,255,.92)}
@media(min-width:720px){
  .goalcards{grid-template-columns:repeat(3,1fr)}
  .goalcards.two{grid-template-columns:repeat(2,1fr)}
  .offer-band-inner{grid-template-columns:repeat(4,1fr)}
}

/* right rail (PC) */
.rail{display:none}

@media(min-width:720px){
  .cband-inner{grid-template-columns:1.4fr 1fr}
  .cards{grid-template-columns:repeat(3,1fr)}
  .cards.two{grid-template-columns:repeat(2,1fr)}
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .footer-stores{grid-template-columns:repeat(3,1fr)}
  .imgrid, .imgrid3{}
  .imgrid{grid-template-columns:repeat(3,1fr)}
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:1fr}
  .split{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start}
}
.split>*{min-width:0}
.tbl a{display:inline-flex; align-items:center; min-height:40px}
.imgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:8px}
/* マシン画像は正方形・上下にラベル/店名を焼き込み済のため1/1で見せ切る(4/3にすると上下のラベルが見切れる) */
.imgrid .imitem img{aspect-ratio:1/1}
@media(min-width:960px){
  .header-nav{display:flex}
  .header-cta{display:inline-flex}
  .hamburger{display:none}
  .mobile-nav{display:none}
  .features-grid{grid-template-columns:repeat(3,1fr)}
  .sticky-cta{display:none}
  .rail{display:block; position:fixed; right:22px; bottom:22px; z-index:900; width:230px; background:var(--bg-card); border:1px solid rgba(184,147,90,.45); border-radius:14px; padding:16px; box-shadow:0 18px 40px rgba(0,0,0,.5); opacity:0; transform:translateY(14px); transition:opacity .4s, transform .4s}
  .rail.show{opacity:1; transform:none}
  .rail h4{font-size:14px; font-weight:900; margin-bottom:4px}
  .rail p{font-size:13px; color:var(--muted2); margin-bottom:12px; line-height:1.7}
  .rail a{display:flex; align-items:center; justify-content:center; min-height:46px; border-radius:8px; font-size:13px; font-weight:800; margin-top:8px}
  .rail a.orange{background:var(--orange); color:#fff}
  .rail a.green{background:var(--line-green); color:#fff}
}
