@charset "UTF-8";
/* ============================================================
   VACANCY NEON, Outcall Escorts Amsterdam, inner pages
   Same sign, same road, same night as the homepage.
   ============================================================ */
:root{
  --ink:#0D0C0E; --ink-2:#141216; --ink-3:#1B171A;
  --neon:#FF2E2E; --neon-soft:rgba(255,46,46,.55); --neon-faint:rgba(255,46,46,.14);
  --cream:#FFF4E6; --cream-70:rgba(255,244,230,.72); --cream-45:rgba(255,244,230,.45);
  --cream-12:rgba(255,244,230,.12); --cream-06:rgba(255,244,230,.06);
  --tube-core:#FFE7DA;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Jost","Century Gothic",Futura,sans-serif;
  --wrap:1220px; --pad:clamp(1.1rem,4vw,2.5rem); --radius:14px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
html,body{overflow-x:hidden;max-width:100%}
/* the mobile bar forces overflow-x:hidden on body, which would make body a scroll container and
   switch the sticky bar off; clip keeps zero sideways scroll and keeps position:sticky alive */
@supports (overflow:clip){html,body{overflow-x:clip}html body{overflow-x:clip!important}}
body{background:var(--ink);color:var(--cream-70);font-family:var(--body);font-weight:300;font-size:1.03rem;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--neon);color:var(--ink)}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
ul,ol{list-style:none}
[hidden]{display:none!important}
h1,h2,h3{font-family:var(--display);color:var(--cream);text-transform:uppercase;overflow-wrap:anywhere}
p,li,dd,dt,summary,span,a,b,small{overflow-wrap:break-word}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cream);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:1rem;top:-100px;z-index:100;background:var(--neon);color:var(--ink);padding:.6rem 1rem;border-radius:8px;font-family:var(--display);font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.skip:focus{top:1rem}

/* ---------- neon utilities ---------- */
.tube{color:var(--tube-core);text-shadow:0 0 2px rgba(255,255,255,.35),0 0 10px var(--neon),0 0 26px var(--neon),0 0 64px var(--neon-soft)}
.lit{color:var(--tube-core);text-shadow:0 0 2px rgba(255,255,255,.3),0 0 12px var(--neon),0 0 30px var(--neon-soft)}
.outline{color:transparent;-webkit-text-stroke:2px var(--neon);filter:drop-shadow(0 0 14px var(--neon-soft))}
@keyframes flicker{0%,100%{opacity:1}38%{opacity:1}39%{opacity:.55}40%{opacity:1}43%{opacity:.25}44%{opacity:1}68%{opacity:1}69%{opacity:.7}70%{opacity:1}92%{opacity:1}93%{opacity:.5}94%{opacity:1}}
.flicker{animation:flicker 6.5s linear infinite}
.flicker-late{animation:flicker 8.2s linear infinite;animation-delay:1.7s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.rise{animation:rise .85s var(--ease) both}
.d1{animation-delay:.08s}.d2{animation-delay:.22s}.d3{animation-delay:.36s}.d4{animation-delay:.5s}.d5{animation-delay:.66s}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.lag1{transition-delay:.1s}.js .reveal.lag2{transition-delay:.2s}.js .reveal.lag3{transition-delay:.3s}.js .reveal.lag4{transition-delay:.4s}

/* ============================================================ NAV */
.nav{position:sticky;top:0;z-index:60;background:rgba(13,12,14,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--cream-12)}
.nav-in{display:flex;align-items:center;gap:1.5rem;height:70px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}
.logo-mark{width:38px;height:38px;flex:none;display:grid;place-items:center;border:2px solid var(--neon);border-radius:8px;font-family:var(--display);font-weight:900;font-size:1.05rem;color:var(--tube-core);box-shadow:0 0 14px var(--neon-faint),inset 0 0 10px var(--neon-faint);text-shadow:0 0 8px var(--neon);transition:box-shadow .3s}
.logo:hover .logo-mark{box-shadow:0 0 24px var(--neon-soft),inset 0 0 14px var(--neon-faint)}
.logo-word{font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);line-height:1;white-space:nowrap}
.logo-word small{display:block;font-family:var(--body);font-weight:500;font-size:.58rem;letter-spacing:.42em;color:var(--neon);margin-top:.28em}
.nav-main{margin-left:auto}
.nav-links{display:flex;gap:2rem}
.nav-links a{position:relative;font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--cream-70);transition:color .25s,text-shadow .25s;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.nav-links a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--neon);box-shadow:0 0 10px var(--neon);border-radius:2px}
.nav-many .nav-links{gap:1.4rem}
.nav-many .nav-links a{letter-spacing:.1em}
.nav-toggle{display:none;flex:none;width:44px;height:42px;place-items:center;background:transparent;border:2px solid var(--cream-12);border-radius:10px;cursor:pointer;transition:border-color .3s,box-shadow .3s}
.nav-toggle:hover,.nav-toggle[aria-expanded="true"]{border-color:var(--neon);box-shadow:0 0 16px var(--neon-faint),inset 0 0 12px var(--neon-faint)}
.bars{display:grid;gap:5px;width:20px}
.bars i{display:block;height:2px;background:var(--cream);border-radius:2px;transition:transform .3s var(--ease),opacity .3s}
.nav-toggle[aria-expanded="true"] .bars i{background:var(--neon);box-shadow:0 0 6px var(--neon)}
.nav-toggle[aria-expanded="true"] .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{border-top:1px solid var(--cream-06);background:rgba(13,12,14,.97);max-height:calc(100vh - 70px);overflow-y:auto}
.dr-list{display:grid;padding-block:1rem}
.dr-list a{display:flex;align-items:center;gap:1rem;padding:.95rem 0;border-bottom:1px dashed var(--cream-12);text-decoration:none}
.dr-no{flex:none;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--neon);min-width:4.6rem}
.dr-l{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);line-height:1}
.dr-go{margin-left:auto;color:var(--neon);transition:transform .3s}
.dr-list a:hover .dr-go,.dr-list a[aria-current] .dr-go{transform:translateX(6px)}
.dr-list a[aria-current] .dr-l{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.dr-foot{padding-block:1.2rem 1.8rem;display:grid;gap:1rem}
.dr-tag{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.dr-btns{display:flex;flex-wrap:wrap;gap:.8rem}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--display);font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:10px;cursor:pointer;white-space:nowrap;max-width:100%;transition:transform .3s var(--ease),box-shadow .3s,background .3s,color .3s,border-color .3s}
.btn-neon{background:var(--neon);color:var(--ink);padding:.85rem 1.5rem;font-size:1rem;box-shadow:0 0 22px var(--neon-soft),0 8px 26px rgba(0,0,0,.5)}
.btn-neon:hover{transform:translateY(-2px);box-shadow:0 0 42px var(--neon-soft),0 0 90px var(--neon-faint),0 12px 30px rgba(0,0,0,.55)}
.btn-neon:active{transform:translateY(0)}
.btn-ghost{border:2px solid var(--cream-12);color:var(--cream);padding:.78rem 1.4rem;font-size:1rem;background:transparent}
.btn-ghost:hover{border-color:var(--neon);color:var(--tube-core);box-shadow:0 0 20px var(--neon-faint),inset 0 0 16px var(--neon-faint)}
.btn-big{padding:1.15rem 2.4rem;font-size:1.25rem;border-radius:12px}
.btn-sm{padding:.55rem 1rem;font-size:.85rem;border-radius:8px}
.btn-ghost.btn-sm{padding:.48rem .95rem}
.wa-dot{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none;box-shadow:0 0 8px currentColor}
.tg-ring{width:10px;height:10px;border-radius:50%;border:2px solid var(--neon);flex:none;box-shadow:0 0 8px var(--neon-soft)}

/* ============================================================ BREADCRUMBS */
.crumbs{border-bottom:1px solid var(--cream-06);background:linear-gradient(180deg,#0A090B,var(--ink))}
.crumbs-in{display:flex;align-items:center;justify-content:space-between;gap:.4rem 2rem;flex-wrap:wrap;padding-block:.75rem}
.crumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .7rem;font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-45)}
.crumbs-list li{display:flex;align-items:center;gap:.7rem;min-width:0}
.crumbs-list li+li::before{content:"→";color:var(--neon);letter-spacing:0;text-shadow:0 0 8px var(--neon-faint)}
.crumbs-list a{text-decoration:none;transition:color .25s,text-shadow .25s}
.crumbs-list a:hover{color:var(--tube-core);text-shadow:0 0 10px var(--neon)}
.crumbs-list [aria-current]{color:var(--cream)}
.crumbs-tag{display:flex;align-items:center;gap:.6rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.live{width:7px;height:7px;border-radius:50%;background:var(--neon);box-shadow:0 0 8px var(--neon);animation:flicker 5s linear infinite;flex:none}

/* ============================================================ HERO */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 55% at 50% 112%,rgba(255,46,46,.20),transparent 62%),radial-gradient(52% 42% at 50% 34%,rgba(255,46,46,.12),transparent 70%),linear-gradient(180deg,#0D0C0E 0%,#121013 55%,#0D0C0E 100%)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(255,244,230,.022) 0 1px,transparent 1px 9px);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 78%,transparent 100%)}
.hero::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(680px,84vw);height:5px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--neon),transparent);filter:blur(1px);opacity:.7}
.hero-in{position:relative;z-index:2;width:100%}
.hero-inner{padding-block:clamp(3.4rem,8vw,6.5rem) clamp(3.6rem,7vw,5.5rem)}
.hero-top{display:flex;align-items:center;gap:.8rem 1rem;flex-wrap:wrap;margin-bottom:2rem}
.open-sign{display:inline-flex;align-items:center;gap:.75rem;border:2px solid var(--neon);border-radius:99px;padding:.45rem 1.25rem;font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.26em;text-transform:uppercase;box-shadow:0 0 18px var(--neon-faint),inset 0 0 18px var(--neon-faint);max-width:100%}
.hero-route{font-size:.76rem;letter-spacing:.34em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
h1.hero-h1{font-weight:900;line-height:.9;letter-spacing:.005em;font-size:clamp(2.7rem,8.4vw,6.4rem);margin-bottom:1.5rem;max-width:16ch}
.h1-l1{color:var(--cream)}
.h1-l1 .cm{color:var(--neon);text-shadow:0 0 12px var(--neon-soft)}
.h1-l2{display:block;margin-top:.06em;color:transparent;-webkit-text-stroke:2.5px var(--neon);filter:drop-shadow(0 0 18px var(--neon-soft))}
.h1-l2.is-long{-webkit-text-stroke:0;color:var(--tube-core);text-shadow:0 0 2px rgba(255,255,255,.3),0 0 12px var(--neon),0 0 34px var(--neon-soft);filter:none}
.hero-lede{max-width:60ch;margin-bottom:2.2rem;font-size:clamp(1rem,1.5vw,1.12rem)}
.hero-lede p+p{margin-top:.9rem}
.hero-lede a,.prose a,.pf-tagline a,.faq-a a,.sign-text a,.leg p a,.foot-brand p a,.g-prose a,.g-lede a{color:var(--tube-core);text-decoration:underline;text-decoration-color:var(--neon);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-shadow .25s,color .25s}
.hero-lede a:hover,.prose a:hover,.pf-tagline a:hover,.faq-a a:hover,.sign-text a:hover,.leg p a:hover,.foot-brand p a:hover,.g-prose a:hover,.g-lede a:hover{color:#fff;text-shadow:0 0 10px var(--neon)}
.hero-cta-row{display:flex;align-items:center;gap:1rem 1.4rem;flex-wrap:wrap}
.hero-arrow-wrap{flex:none;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.hero-arrow{width:clamp(110px,14vw,170px);color:var(--neon);filter:drop-shadow(0 0 10px var(--neon-soft))}
.arrow-label{font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap;color:var(--tube-core);text-shadow:0 0 4px rgba(255,255,255,.3),0 0 12px var(--neon),0 0 30px var(--neon-soft);padding-left:.32em}
@keyframes chase{0%,100%{opacity:.15}18%{opacity:1}40%{opacity:.15}}
.hero-arrow .bulb{animation:chase 1.5s linear infinite}
.hero-arrow .b2{animation-delay:.18s}.hero-arrow .b3{animation-delay:.36s}.hero-arrow .b4{animation-delay:.54s}.hero-arrow .b5{animation-delay:.72s}
.hero-note{margin-top:1.5rem;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.hero-note b{color:var(--tube-core);font-weight:600;text-shadow:0 0 10px var(--neon)}
.big-404{font-family:var(--display);font-weight:900;line-height:.8;font-size:clamp(6rem,24vw,16rem);color:transparent;-webkit-text-stroke:3px var(--neon);filter:drop-shadow(0 0 22px var(--neon-soft));margin-bottom:.4rem;animation:flicker 7s linear infinite}

/* ============================================================ TICKER */
.ticker{background:var(--neon);color:var(--ink);overflow:hidden;border-block:3px solid var(--ink);box-shadow:0 0 44px var(--neon-faint)}
.ticker-track{display:flex;width:max-content;animation:slide 30s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
.ticker-set{display:flex;align-items:center;flex:none;padding-block:.7rem}
.ticker-set span{font-family:var(--display);font-weight:800;font-size:1.1rem;letter-spacing:.18em;text-transform:uppercase;padding-inline:1.5rem;white-space:nowrap;display:flex;align-items:center;gap:1.5rem}
.ticker-set span::after{content:"→";font-family:var(--body);font-weight:600}

/* ============================================================ SECTIONS */
.section{padding-block:clamp(4rem,8.5vw,7rem);position:relative}
.section.alt,.how,.areas{background:var(--ink-2);border-block:1px solid var(--cream-06)}
.kicker{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:.32em;text-transform:uppercase;color:var(--neon);margin-bottom:1.05rem}
.kicker::before{content:"";width:34px;height:2px;background:var(--neon);box-shadow:0 0 10px var(--neon);flex:none}
.section-h{font-weight:800;line-height:.92;font-size:clamp(2.3rem,5.6vw,4.4rem);margin-bottom:1rem}
.section-lede{max-width:58ch}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;flex-wrap:wrap;margin-bottom:2.8rem}
.sec-head>div:first-child{min-width:0;max-width:760px}
.sec-aside{flex:none}

/* copy sections */
.copy-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
.copy-side{position:sticky;top:110px}
.copy-no{font-family:var(--display);font-weight:900;font-size:clamp(3.6rem,7vw,5.6rem);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--neon);filter:drop-shadow(0 0 12px var(--neon-faint));margin-bottom:1rem}
.copy-h{font-weight:800;line-height:.95;font-size:clamp(2rem,4.2vw,3.3rem)}
.prose{max-width:68ch;font-size:1.06rem}
.prose p{color:var(--cream-70)}
.prose p+p{margin-top:1.15rem}
.prose p:first-child::first-line{color:var(--cream)}

/* ============================================================ ROSTER */
.roster{background:radial-gradient(70% 40% at 50% 0%,rgba(255,46,46,.07),transparent 70%),var(--ink)}
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(1rem,2vw,1.5rem)}
.roster-grid.flash .card:not([hidden]){animation:rise .55s var(--ease) both}
.card{--glow:var(--neon);position:relative;display:block;text-decoration:none;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));overflow:hidden;min-width:0;transition:transform .38s var(--ease),border-color .38s,box-shadow .38s}
.js .card.reveal.in{transition:opacity .8s var(--ease),transform .38s var(--ease),border-color .38s,box-shadow .38s}
.card:hover,.card:focus-visible{transform:translateY(-7px);border-color:var(--glow);box-shadow:0 0 34px var(--neon-faint),0 22px 44px rgba(0,0,0,.55)}
.card::before{content:"";position:absolute;top:9px;left:14px;right:14px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--glow) 0 1.6px,transparent 2.6px 14px);opacity:.55;transition:opacity .38s;pointer-events:none;z-index:3}
.card:hover::before{opacity:1}
.photo{position:relative;aspect-ratio:3/4;overflow:hidden;border-bottom:1px solid var(--cream-06);background:var(--ink-3)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .5s var(--ease),filter .4s,opacity .45s}
.photo .ph-2{opacity:0}
.card:hover .photo img{transform:scale(1.04);filter:brightness(1.08) saturate(1.06)}
.card:hover .photo .ph-2.ready{opacity:1}
.photo::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(13,12,14,.16) 0%,transparent 22%,transparent 62%,rgba(13,12,14,.6) 100%)}
.card-no::before{content:attr(data-no)}
.card-no{position:absolute;left:12px;bottom:11px;z-index:3;font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tube-core);text-shadow:0 0 8px var(--neon);padding:.18rem .55rem;border:1px solid var(--neon-soft);border-radius:99px;background:rgba(13,12,14,.55)}
.card-body{padding:1.15rem 1.25rem 1.3rem}
.card-row1{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.card-name{font-weight:800;font-size:1.65rem;letter-spacing:.05em;line-height:1}
.card-age{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--neon);letter-spacing:.1em}
.card-row2{display:flex;align-items:center;justify-content:space-between;margin-top:.8rem;gap:.6rem;flex-wrap:wrap}
.card-area{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;border:1px solid var(--cream-12);border-radius:99px;padding:.32rem .8rem;color:var(--cream-45);white-space:nowrap}
.card-price{font-size:.85rem;font-weight:500;letter-spacing:.06em;color:var(--cream-70);white-space:nowrap}
.card-price b{color:var(--tube-core);font-weight:600;text-shadow:0 0 8px var(--neon-faint)}
.card-book{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.95rem;border-top:1px dashed var(--cream-12);font-family:var(--display);font-weight:800;font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-70);transition:color .3s,text-shadow .3s}
.card-book::after{content:"→";font-family:var(--body);transition:transform .3s}
.card:hover .card-book{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.card:hover .card-book::after{transform:translateX(6px)}
.v1{--glow:#FF2E2E}.v2{--glow:#FF5C39}.v3{--glow:#FF9A3D}.v4{--glow:#FF2E6B}.v5{--glow:#FFB84D}.v6{--glow:#FF4747}
.v7{--glow:#E6C4FF}.v8{--glow:#FF3A3A}.v9{--glow:#FF7A45}.v10{--glow:#FFE0B8}.v11{--glow:#FF3E5E}.v12{--glow:#FF5E2E}

/* lanes (filters) */
.lanes{margin-bottom:2.4rem;padding:1.3rem;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.lane-row{display:flex;flex-wrap:wrap;gap:.7rem}
.lane-pair{display:inline-flex;align-items:stretch;border:1px solid var(--cream-12);border-radius:99px;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.lane-pair:hover{border-color:var(--neon-soft)}
.lane{display:inline-flex;align-items:center;gap:.6rem;background:transparent;border:0;color:var(--cream-70);padding:.55rem 1rem;font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .25s,background .25s,text-shadow .25s}
.lane:hover{color:var(--tube-core)}
.lane-n::before{content:attr(data-n)}
.lane-n{font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--neon)}
.lane.is-on{background:var(--neon);color:var(--ink)}
.lane.is-on .lane-n{color:var(--ink)}
.lane-pair:has(.lane.is-on){border-color:var(--neon);box-shadow:0 0 18px var(--neon-faint)}
.lane-go{display:grid;place-items:center;padding:0 .85rem;border-left:1px solid var(--cream-12);text-decoration:none;color:var(--neon);transition:background .25s,color .25s}
.lane-go:hover{background:var(--neon-faint);color:var(--tube-core)}
.lane-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem 2rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--cream-12)}
.lane-travel{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;font-size:.9rem}
.lane-travel span{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.lane-travel a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--neon-soft);transition:color .25s,text-shadow .25s}
.lane-travel a:hover{color:var(--tube-core);text-shadow:0 0 10px var(--neon)}
.lane-count{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.lane-count b{font-family:var(--display);font-size:1.3rem;font-weight:800;color:var(--tube-core);text-shadow:0 0 10px var(--neon);letter-spacing:.06em;margin-right:.3rem}
.lane-empty{margin-top:1rem;color:var(--tube-core)}

/* ============================================================ STEPS */
.route{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2.6rem 2.2rem;margin-top:1rem}
.leg{position:relative;padding-top:.6rem;min-width:0}
.leg-top{display:flex;align-items:center;gap:1rem}
.step-no{font-family:var(--display);font-weight:900;font-size:clamp(4rem,8vw,6.2rem);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--neon);filter:drop-shadow(0 0 12px var(--neon-faint))}
.step-arrow{width:54px;flex:none;color:var(--neon);filter:drop-shadow(0 0 8px var(--neon-soft))}
.leg-end{font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;border:2px solid var(--neon);border-radius:99px;padding:.3rem .8rem;color:var(--tube-core);text-shadow:0 0 8px var(--neon);box-shadow:0 0 14px var(--neon-faint)}
.leg h3{font-size:1.85rem;font-weight:800;letter-spacing:.04em;line-height:1;margin:.9rem 0 .55rem}
.leg p{font-size:.98rem;color:var(--cream-45);max-width:36ch}

/* ============================================================ RATES */
.rates{background:var(--ink)}
.rates-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.rates-sign{border:2px solid var(--neon);border-radius:18px;padding:clamp(1.8rem,4vw,3rem);padding-top:clamp(2.2rem,4.5vw,3.3rem);background:radial-gradient(120% 100% at 50% 0%,rgba(255,46,46,.10),transparent 65%),var(--ink-2);box-shadow:0 0 34px var(--neon-faint),inset 0 0 44px rgba(255,46,46,.06);position:relative;overflow:hidden;min-width:0}
.rates-sign::before{content:"";position:absolute;top:10px;left:16px;right:16px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.7px,transparent 2.7px 15px);opacity:.8}
.rates-from{font-family:var(--display);font-weight:900;line-height:.85;font-size:clamp(4rem,9vw,7rem)}
.rates-from small{display:block;font-size:.22em;font-weight:800;letter-spacing:.3em;color:var(--neon);margin-bottom:.5em;text-shadow:none}
.rates-from .per{font-size:.3em;font-weight:700;letter-spacing:.1em;color:var(--cream-45);text-shadow:none}
.sign-text{margin-top:1.2rem;font-size:.98rem;color:var(--cream-70);max-width:44ch}
.sign-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.rate-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem 1rem;padding-block:1.05rem;border-bottom:1px dashed var(--cream-12)}
.rate-list li:first-child{padding-top:0}
.rate-name{flex:0 1 auto;min-width:0;font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);line-height:1.1}
.rate-name small{display:block;margin-top:.35rem;font-family:var(--body);font-weight:400;font-size:.8rem;letter-spacing:.06em;text-transform:none;color:var(--cream-45)}
.rate-dots{flex:1 1 2rem;align-self:center;border-bottom:2px dotted var(--cream-12);transform:translateY(-4px)}
.rate-val{flex:0 1 auto;font-weight:500;font-size:.95rem;color:var(--cream-70);letter-spacing:.04em;text-align:right}
.rate-val.hot{color:var(--tube-core);text-shadow:0 0 10px var(--neon);font-weight:600}
.rates-note{margin-top:1.6rem;font-size:.9rem;color:var(--cream-45);max-width:46ch}

/* ============================================================ AREAS */
.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:1.6rem}
.areas-grid-one{max-width:720px}
.exit-sign{border:1px solid var(--cream-12);border-radius:var(--radius);padding:1.9rem 1.9rem 1.6rem;background:linear-gradient(180deg,var(--ink-3),var(--ink-2));transition:border-color .3s,box-shadow .3s;min-width:0}
.exit-sign:hover{border-color:var(--neon);box-shadow:0 0 26px var(--neon-faint)}
.exit-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:2px solid var(--neon)}
.exit-head h3{font-size:1.6rem;font-weight:800;letter-spacing:.06em;line-height:1}
.exit-eta{font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--neon);text-shadow:0 0 10px var(--neon-faint);white-space:nowrap}
.exit-list{display:grid;gap:.2rem}
.exit-list li{display:block}
.exit-list a,.exit-list .hl{display:flex;align-items:center;gap:.9rem;padding-block:.55rem;font-size:1.02rem;color:var(--cream-70);text-decoration:none;transition:color .25s}
.exit-list a::before,.exit-list .hl::before{content:"→";color:var(--neon);font-weight:600;text-shadow:0 0 8px var(--neon-faint);transition:transform .3s;flex:none}
.exit-list a:hover,.exit-list a[aria-current]{color:var(--tube-core)}
.exit-list a:hover::before{transform:translateX(5px)}
.exit-list b{font-weight:500;color:var(--cream);min-width:0}
.exit-list a span{margin-left:auto;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-45);text-align:right}
.exit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:1.3rem}
.exit-tile{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.6rem 1.5rem 1.3rem;text-decoration:none;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));overflow:hidden;min-width:0;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.exit-tile::before{content:"";position:absolute;top:9px;left:14px;right:14px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.6px,transparent 2.6px 14px);opacity:.35;transition:opacity .35s}
.exit-tile:hover{transform:translateY(-6px);border-color:var(--neon);box-shadow:0 0 30px var(--neon-faint),0 20px 40px rgba(0,0,0,.5)}
.exit-tile:hover::before{opacity:1}
.exit-no{margin-top:.5rem;font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--neon)}
.exit-name{font-size:2rem;font-weight:800;letter-spacing:.04em;line-height:.95;padding-bottom:.7rem;border-bottom:2px solid var(--neon)}
.exit-line{font-size:.92rem;color:var(--cream-45)}
.exit-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-top:.2rem}
.exit-count{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.exit-count b{font-family:var(--display);font-size:1.25rem;font-weight:800;color:var(--tube-core);text-shadow:0 0 10px var(--neon);letter-spacing:.04em;margin-right:.25rem}
.exit-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.5rem;padding-top:.9rem;border-top:1px dashed var(--cream-12)}
.faces{display:flex}
.faces img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid var(--ink-2);box-shadow:0 0 0 1px var(--cream-12)}
.faces img+img{margin-left:-11px}
.exit-go{font-family:var(--display);font-weight:800;font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-70);display:flex;align-items:center;gap:.5rem;transition:color .3s,text-shadow .3s;white-space:nowrap}
.exit-go::after{content:"→";font-family:var(--body);transition:transform .3s}
.exit-tile:hover .exit-go{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.exit-tile:hover .exit-go::after{transform:translateX(5px)}

/* ============================================================ FAQ */
.faq{background:var(--ink)}
.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.faq-list{margin-top:2.2rem;max-width:860px}
.faq-item{border-top:1px solid var(--cream-12)}
.faq-item:last-child{border-bottom:1px solid var(--cream-12)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1.3rem;padding-block:1.4rem;font-family:var(--display);font-weight:700;font-size:1.32rem;letter-spacing:.05em;text-transform:uppercase;color:var(--cream);line-height:1.15;transition:color .3s,text-shadow .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--tube-core);text-shadow:0 0 12px var(--neon-faint)}
.faq-q{min-width:0}
.faq-plus{flex:none;width:30px;height:30px;position:relative;border:1.5px solid var(--neon);border-radius:8px;box-shadow:0 0 10px var(--neon-faint);transition:transform .35s var(--ease),background .35s}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;inset:0;margin:auto;background:var(--neon);box-shadow:0 0 6px var(--neon);transition:background .3s,box-shadow .3s}
.faq-plus::before{width:12px;height:2px}
.faq-plus::after{width:2px;height:12px}
.faq-item[open] .faq-plus{transform:rotate(45deg);background:var(--neon)}
.faq-item[open] .faq-plus::before,.faq-item[open] .faq-plus::after{background:var(--ink);box-shadow:none}
.faq-a{padding:0 0 1.7rem calc(30px + 1.3rem);max-width:66ch;color:var(--cream-70);font-size:1rem}
.faq-item[open] .faq-a{animation:rise .5s var(--ease) both}
.faq-side{position:sticky;top:110px;border:2px solid var(--neon);border-radius:18px;padding:2.4rem 1.6rem 1.7rem;background:radial-gradient(120% 90% at 50% 0%,rgba(255,46,46,.10),transparent 65%),var(--ink-2);box-shadow:0 0 30px var(--neon-faint),inset 0 0 34px rgba(255,46,46,.05);overflow:hidden}
.faq-side::before{content:"";position:absolute;top:10px;left:16px;right:16px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.7px,transparent 2.7px 15px);opacity:.8}
.side-sign{display:inline-block;font-family:var(--display);font-weight:900;font-size:1.05rem;letter-spacing:.34em;text-transform:uppercase;padding:.4rem .9rem .4rem 1.2rem;border:2px solid var(--neon);border-radius:10px;box-shadow:0 0 16px var(--neon-faint),inset 0 0 14px var(--neon-faint)}
.side-h{margin-top:1.2rem;font-family:var(--display);font-weight:800;font-size:1.8rem;line-height:.95;letter-spacing:.03em;text-transform:uppercase;color:var(--cream)}
.faq-side p:not(.side-sign):not(.side-h){margin-top:.8rem;font-size:.95rem;color:var(--cream-45)}
.side-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}

/* ============================================================ FINAL CTA */
.final{text-align:center;overflow:hidden;position:relative;padding-block:clamp(5rem,11vw,8.5rem);background:radial-gradient(60% 55% at 50% 62%,rgba(255,46,46,.16),transparent 68%),var(--ink);border-top:1px solid var(--cream-06)}
.final-open{display:inline-block;font-family:var(--display);font-weight:900;font-size:clamp(1.2rem,3vw,1.9rem);letter-spacing:.48em;padding:.65rem 1.5rem .65rem 2rem;border:3px solid var(--neon);border-radius:14px;margin-bottom:2rem;text-transform:uppercase;box-shadow:0 0 28px var(--neon-faint),inset 0 0 24px var(--neon-faint);max-width:100%}
.final h2{font-weight:900;line-height:.9;font-size:clamp(2.6rem,7.6vw,6rem);margin-bottom:1.4rem}
.final p{max-width:48ch;margin:0 auto 2.4rem}
.final-btns{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem}
.final .final-num{margin:1.8rem auto 0;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-45);font-weight:500}

/* ============================================================ PROFILE */
.pf-hero{padding-block:clamp(2.4rem,6vw,5rem) clamp(3.6rem,7vw,5.5rem)}
.pf-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.pf-shot{--glow:var(--neon);position:relative;border:2px solid var(--glow);border-radius:18px;padding:22px 12px 12px;background:var(--ink-2);box-shadow:0 0 38px var(--neon-faint),0 30px 70px rgba(0,0,0,.6),inset 0 0 30px rgba(255,46,46,.06);min-width:0}
.pf-shot::before,.pf-shot::after{content:"";position:absolute;left:18px;right:18px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--glow) 0 1.7px,transparent 2.7px 15px);animation:flicker 9s linear infinite;pointer-events:none}
.pf-shot::before{top:8px}
.pf-shot::after{bottom:-14px;opacity:.5;animation-delay:2.4s}
.pf-shot-link{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:10px;cursor:zoom-in;background:var(--ink-3)}
.pf-img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .8s var(--ease),filter .5s}
.pf-shot-link::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,14,.1),transparent 30%,transparent 70%,rgba(13,12,14,.55));pointer-events:none}
.pf-shot:hover .pf-img{transform:scale(1.03);filter:brightness(1.06)}
.pf-tag{position:absolute;top:36px;left:26px;z-index:2;font-family:var(--display);font-weight:800;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tube-core);background:rgba(13,12,14,.72);border:1px solid var(--neon-soft);border-radius:99px;padding:.3rem .8rem;text-shadow:0 0 8px var(--neon)}
.pf-count{position:absolute;right:26px;bottom:26px;z-index:2;font-family:var(--display);font-weight:800;font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:var(--neon);border-radius:8px;padding:.45rem .85rem;text-decoration:none;box-shadow:0 0 20px var(--neon-soft);transition:transform .3s var(--ease),box-shadow .3s}
.pf-count:hover{transform:translateY(-2px);box-shadow:0 0 34px var(--neon-soft)}
.pf-info{min-width:0;padding-top:.4rem}
h1.pf-h1{font-size:clamp(2.5rem,6vw,5rem);max-width:none;margin-bottom:1rem}
.pf-tagline{font-size:clamp(1.05rem,1.8vw,1.28rem);font-weight:400;color:var(--cream);max-width:44ch;margin-bottom:1.8rem}
.facts{border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));padding:1.1rem 1.4rem .6rem;margin-bottom:1.8rem}
.facts-head{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;padding-bottom:.8rem;margin-bottom:.3rem;border-bottom:2px solid var(--neon);font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--neon)}
.facts-head span:first-child{color:var(--cream)}
.fact{display:grid;grid-template-columns:max-content minmax(1rem,1fr) fit-content(62%);align-items:baseline;column-gap:.8rem;padding-block:.62rem;border-bottom:1px dashed var(--cream-06)}
.fact:last-child{border-bottom:0}
.fact::after{content:"";grid-column:2;grid-row:1;border-bottom:2px dotted var(--cream-12);transform:translateY(-4px)}
.fact dt{grid-column:1;grid-row:1;font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-70)}
.fact dd{grid-column:3;grid-row:1;text-align:right;font-size:.96rem;color:var(--cream);min-width:0}
.fact dd a{color:var(--tube-core);text-decoration:none;border-bottom:1px solid var(--neon-soft)}
.fact dd a:hover{text-shadow:0 0 10px var(--neon)}
.fact .hot{color:var(--tube-core);font-weight:600;text-shadow:0 0 10px var(--neon)}
.frames{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,240px),1fr));gap:clamp(.8rem,2vw,1.2rem)}
.frames-few{grid-template-columns:repeat(auto-fill,minmax(min(46%,300px),1fr))}
.frame{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--cream-12);border-radius:12px;background:var(--ink-3);cursor:zoom-in;min-width:0;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.frame img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .6s var(--ease),filter .4s}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,12,14,.72));pointer-events:none}
.frame:hover{transform:translateY(-5px);border-color:var(--neon);box-shadow:0 0 30px var(--neon-faint),0 18px 36px rgba(0,0,0,.5)}
.frame:hover img{transform:scale(1.05);filter:brightness(1.08)}
.frame-no::before,.frame-zoom::before{content:attr(data-l)}
.frame-no{position:absolute;left:12px;bottom:10px;z-index:2;font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.2em;color:var(--cream)}
.frame-zoom{position:absolute;right:10px;bottom:9px;z-index:2;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--neon);border-radius:6px;padding:.2rem .5rem;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s var(--ease)}
.frame:hover .frame-zoom,.frame:focus-visible .frame-zoom{opacity:1;transform:none}
.pf-story .copy-side{top:100px}
.pf-high{margin-top:2rem;padding:1.5rem 1.5rem 1.1rem}
.pf-high .exit-head h3{font-size:1.3rem}
.pf-high .hl{align-items:flex-start;color:var(--cream-70);font-size:.98rem;line-height:1.5}
.pf-book-h{font-weight:900;line-height:.9;font-size:clamp(2.6rem,6vw,4.6rem);margin-top:.9rem}
.pf-book-h .outline{display:block}
.sign-kicker{display:inline-block;font-family:var(--display);font-weight:900;font-size:1rem;letter-spacing:.4em;text-transform:uppercase;padding:.35rem .8rem .35rem 1.2rem;border:2px solid var(--neon);border-radius:10px;box-shadow:0 0 16px var(--neon-faint),inset 0 0 14px var(--neon-faint)}
.rates-sign .sign-micro{margin-top:1.3rem;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-45);font-weight:500}
.mini-route{display:grid;gap:1.6rem}
.mini-route li{display:flex;gap:1.3rem;align-items:flex-start}
.mini-route .step-no{font-size:3.6rem;flex:none;width:4.4rem}
.mini-route h3{font-size:1.5rem;font-weight:800;letter-spacing:.04em;line-height:1;margin-bottom:.35rem}
.mini-route p{font-size:.96rem;color:var(--cream-45)}
.pf-links{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;margin-top:2rem}
.pf-links a:not(.btn){font-family:var(--display);font-weight:800;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--cream-70);border-bottom:2px solid var(--neon);padding-bottom:.2rem;transition:color .25s,text-shadow .25s}
.pf-links a:not(.btn):hover{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.pf-links-center{justify-content:center;margin-top:2.6rem}
.pn{background:#0A090B;border-top:1px solid var(--cream-06)}
.pn-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;padding-block:2.2rem}
.pn-link{display:flex;align-items:center;gap:1.1rem;padding:1rem;text-decoration:none;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));min-width:0;transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}
.pn-link:hover{border-color:var(--neon);box-shadow:0 0 26px var(--neon-faint);transform:translateY(-3px)}
.pn-next{flex-direction:row-reverse;text-align:right}
.pn-img{width:64px;height:84px;flex:none;border-radius:8px;object-fit:cover;object-position:50% 20%;border:1px solid var(--cream-12)}
.pn-txt{display:grid;gap:.15rem;min-width:0}
.pn-txt small{font-family:var(--display);font-weight:800;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--neon)}
.pn-txt b{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--cream);line-height:1}
.pn-txt em{font-style:normal;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-45)}

/* lightbox */
html.lb-open,html.lb-open body{overflow:hidden}
.lb{position:fixed;inset:0;z-index:100000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(60% 50% at 50% 55%,rgba(255,46,46,.12),transparent 70%),rgba(8,7,9,.96);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lb-bar{display:flex;align-items:center;gap:1rem;padding:.9rem clamp(1rem,3vw,2rem)}
.lb-count{font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.2em;color:var(--cream-45);flex:none}
.lb-count b{color:var(--tube-core);text-shadow:0 0 10px var(--neon);font-size:1.3rem}
.lb-cap{flex:1;min-width:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-btn{flex:none;display:grid;place-items:center;width:46px;height:46px;border:1.5px solid var(--neon);border-radius:10px;background:rgba(13,12,14,.7);color:var(--tube-core);font-size:1.3rem;cursor:pointer;box-shadow:0 0 12px var(--neon-faint);transition:background .3s,box-shadow .3s,color .3s}
.lb-btn:hover{background:var(--neon);color:var(--ink);box-shadow:0 0 26px var(--neon-soft)}
.lb-close span{position:relative;width:18px;height:18px;display:block;transform:rotate(45deg)}
.lb-close span::before,.lb-close span::after{content:"";position:absolute;inset:0;margin:auto;background:currentColor}
.lb-close span::before{width:18px;height:2px}
.lb-close span::after{width:2px;height:18px}
.lb-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(.4rem,2vw,1.4rem);padding:0 clamp(.5rem,2vw,1.5rem);min-height:0}
.lb-fig{flex:1;min-width:0;height:100%;display:flex;align-items:center;justify-content:center}
.lb-img{max-width:100%;max-height:calc(100vh - 170px);max-height:calc(100svh - 170px);width:auto;height:auto;object-fit:contain;border-radius:10px;border:2px solid var(--neon-soft);box-shadow:0 0 50px var(--neon-faint),0 30px 80px rgba(0,0,0,.7)}
.lb-img.on{animation:lbin .45s var(--ease) both}
@keyframes lbin{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lb-foot{display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;padding:.9rem 1rem 1.2rem}
.lb-bulbs{display:flex;gap:.55rem}
.lb-bulbs i{width:9px;height:9px;border-radius:50%;background:var(--cream-12);transition:background .3s,box-shadow .3s}
.lb-bulbs i.lit{background:var(--neon);box-shadow:0 0 10px var(--neon)}
.lb-hint{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-45)}
.lb-one .lb-prev,.lb-one .lb-next,.lb-one .lb-bulbs{display:none}

/* ============================================================ FOOTER */
.footer{background:#0A090B;border-top:1px solid var(--cream-06);padding-block:3.6rem 2.4rem}
.footer-grid{display:grid;gap:2.4rem;padding-bottom:2.6rem;border-bottom:1px solid var(--cream-06)}
.footer-inner{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
.footer-more{grid-template-columns:minmax(0,1fr) minmax(0,2fr);padding-top:2.4rem}
.two-col{columns:2 14rem;column-gap:2rem}
.two-col li{break-inside:avoid;margin-bottom:.5rem}
.footer p,.footer li{font-size:.92rem;color:var(--cream-45)}
.footer .foot-h{font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);margin-bottom:1.1rem}
.foot-h a{color:inherit}
.footer ul:not(.two-col){display:grid;gap:.5rem}
.footer a{text-decoration:none;transition:color .25s,text-shadow .25s}
.footer ul a:hover{color:var(--tube-core);text-shadow:0 0 10px var(--neon-faint)}
.foot-models small{margin-left:.55em;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.badge-21{display:inline-grid;place-items:center;width:52px;height:52px;border:2px solid var(--neon);border-radius:10px;font-family:var(--display);font-weight:900;font-size:1.25rem;color:var(--tube-core);text-shadow:0 0 10px var(--neon);box-shadow:0 0 16px var(--neon-faint),inset 0 0 12px var(--neon-faint);margin-bottom:1rem}
.foot-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}
.footer .foot-btns .btn-neon{color:var(--ink)}
.footer .foot-btns .btn-ghost{color:var(--cream)}
.footer-legal{display:flex;align-items:center;justify-content:space-between;gap:.8rem 1.4rem;flex-wrap:wrap;padding-top:1.8rem;font-size:.8rem;letter-spacing:.08em;color:var(--cream-45)}

/* ============================================================ v2 link lists */
.oe-list-label{display:block;font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--neon);margin:0 0 .8rem}
.oe-toc{display:grid;gap:.2rem;margin-bottom:1rem}
.oe-toc a{display:flex;gap:1rem;align-items:baseline;padding:.5rem 0;border-bottom:1px dashed var(--cream-12);text-decoration:none;color:var(--cream-70)}
.oe-toc a:hover{color:var(--tube-core)}
.oe-toc-n{font-family:var(--display);font-weight:800;color:var(--neon);letter-spacing:.14em}
.oe-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.oe-chips a{display:inline-block;padding:.45rem 1rem;border:1px solid var(--cream-12);border-radius:99px;text-decoration:none;font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-70);transition:border-color .3s,color .3s,box-shadow .3s}
.oe-chips a:hover{border-color:var(--neon);color:var(--tube-core);box-shadow:0 0 16px var(--neon-faint)}
.oe-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1rem;margin-bottom:1rem}
.oe-card{display:flex;flex-direction:column;gap:.5rem;padding:1.3rem;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));text-decoration:none;min-width:0;transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}
.oe-card:hover{border-color:var(--neon);box-shadow:0 0 24px var(--neon-faint);transform:translateY(-4px)}
.oe-card-meta{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--neon);font-weight:600}
.oe-card-t{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1;text-transform:uppercase;color:var(--cream)}
.oe-card-x{font-size:.92rem;color:var(--cream-45)}
.oe-card-go{margin-top:auto;padding-top:.6rem;font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-70)}
.oe-card-go::after{content:" →";font-family:var(--body)}

/* ============================================================ v2: ROAD NOTES (section bullets) */
.notes{position:relative;margin-top:1.9rem;padding:1.7rem 1.5rem 1.1rem;border:1px solid var(--neon-soft);border-radius:var(--radius);background:radial-gradient(110% 90% at 0% 0%,rgba(255,46,46,.09),transparent 60%),var(--ink-3);box-shadow:0 0 26px var(--neon-faint)}
.notes::before{content:"";position:absolute;top:9px;left:14px;right:14px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.6px,transparent 2.6px 14px);opacity:.6;pointer-events:none}
.notes-h{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin:.35rem 0 .7rem;padding-bottom:.8rem;border-bottom:2px solid var(--neon)}
.prose .notes-h,.g-prose .notes-h{color:inherit}
.notes-sign{font-family:var(--display);font-weight:800;font-size:1.02rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tube-core);text-shadow:0 0 10px var(--neon)}
.notes-n{font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--neon)}
.notes-list{display:grid;counter-reset:note}
.notes-list li{position:relative;padding:.7rem 0 .7rem 2.5rem;border-bottom:1px dashed var(--cream-12);color:var(--cream-70);font-size:1rem;line-height:1.6;counter-increment:note}
.notes-list li:last-child{border-bottom:0}
.notes-list li::before{content:counter(note,decimal-leading-zero);position:absolute;left:0;top:.72rem;font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.06em;color:var(--neon);text-shadow:0 0 8px var(--neon-faint)}

/* ============================================================ v2: DASH (service at a glance) */
.dash{background:#0A090B;border-bottom:1px solid var(--cream-06)}
.dash-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.dash-cell{padding:1.35rem 1.4rem;border-left:1px solid var(--cream-06);min-width:0}
.dash-cell:first-child{border-left:0;padding-left:0}
.dash-l{display:block;font-size:.7rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-45)}
.dash-v{display:block;margin-top:.4rem;font-family:var(--display);font-weight:800;font-size:clamp(1.25rem,2.3vw,1.75rem);letter-spacing:.04em;text-transform:uppercase;color:var(--cream);line-height:1.05}
.dash-v.hot{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.dash-v small{display:block;margin-top:.4rem;font-family:var(--body);font-weight:500;font-size:.66rem;letter-spacing:.18em;color:var(--cream-45)}

/* ============================================================ v2: ROUTE BOARD (services) */
.routes{background:radial-gradient(70% 40% at 50% 0%,rgba(255,46,46,.07),transparent 70%),var(--ink)}
.route-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1rem,2vw,1.5rem)}
.route-board-sm{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.route-card{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:2.1rem 1.6rem 1.35rem;text-decoration:none;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));overflow:hidden;min-width:0;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.js .route-card.reveal.in{transition:opacity .8s var(--ease),transform .35s var(--ease),border-color .35s,box-shadow .35s}
.route-card::before{content:"";position:absolute;top:9px;left:14px;right:14px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.6px,transparent 2.6px 14px);opacity:.35;transition:opacity .35s}
.route-card:hover,.route-card:focus-visible{transform:translateY(-6px);border-color:var(--neon);box-shadow:0 0 30px var(--neon-faint),0 20px 40px rgba(0,0,0,.5)}
.route-card:hover::before{opacity:1}
.route-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem .8rem;flex-wrap:wrap}
.route-no{font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--neon)}
.route-sign{font-family:var(--display);font-weight:800;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tube-core);border:1.5px solid var(--neon-soft);border-radius:99px;padding:.22rem .75rem;text-shadow:0 0 8px var(--neon);white-space:nowrap}
.route-name{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;letter-spacing:.03em;line-height:.95;padding-bottom:.8rem;border-bottom:2px solid var(--neon)}
.is-compact .route-name{font-size:clamp(1.6rem,2.4vw,2rem)}
.route-x{font-size:.95rem;line-height:1.55;color:var(--cream-45)}
.route-foot{display:flex;align-items:center;gap:.7rem 1rem;flex-wrap:wrap;margin-top:auto;padding-top:.9rem;border-top:1px dashed var(--cream-12)}
.route-count{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-45)}
.route-count b{font-family:var(--display);font-size:1.2rem;font-weight:800;letter-spacing:.04em;color:var(--tube-core);text-shadow:0 0 10px var(--neon);margin-right:.2rem}
.route-go{margin-left:auto;display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:800;font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-70);white-space:nowrap;transition:color .3s,text-shadow .3s}
.route-go::after{content:"→";font-family:var(--body);transition:transform .3s}
.route-card:hover .route-go{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.route-card:hover .route-go::after{transform:translateX(5px)}

/* ============================================================ v2: TYPE LANES (categories) */
.type-lanes{display:grid;gap:clamp(2.6rem,5vw,3.6rem)}
.type-lane-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;flex-wrap:wrap;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:2px solid var(--neon)}
.type-lane-head h3{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:.05em;line-height:1}
.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(1rem,2vw,1.4rem)}
.type-tile{position:relative;display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));overflow:hidden;min-width:0;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.js .type-tile.reveal.in{transition:opacity .8s var(--ease),transform .35s var(--ease),border-color .35s,box-shadow .35s}
.type-tile:hover,.type-tile:focus-visible{transform:translateY(-6px);border-color:var(--neon);box-shadow:0 0 30px var(--neon-faint),0 20px 40px rgba(0,0,0,.5)}
.type-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(60% 60% at 50% 60%,rgba(255,46,46,.16),transparent 70%),var(--ink-3);border-bottom:1px solid var(--cream-06)}
.type-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform .5s var(--ease),filter .4s}
.type-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,12,14,.1) 0%,transparent 35%,rgba(13,12,14,.72) 100%)}
.type-tile:hover .type-photo img{transform:scale(1.04);filter:brightness(1.08)}
.type-count{position:absolute;left:12px;bottom:11px;z-index:2;font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tube-core);text-shadow:0 0 8px var(--neon);padding:.18rem .6rem;border:1px solid var(--neon-soft);border-radius:99px;background:rgba(13,12,14,.6)}
.type-body{display:flex;flex-direction:column;gap:.55rem;flex:1;padding:1.15rem 1.25rem 1.2rem}
.type-name{font-size:1.75rem;font-weight:800;letter-spacing:.04em;line-height:.95}
.type-x{font-size:.9rem;line-height:1.5;color:var(--cream-45);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.type-go{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.85rem;border-top:1px dashed var(--cream-12);font-family:var(--display);font-weight:800;font-size:.88rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-70);transition:color .3s,text-shadow .3s}
.type-go::after{content:"→";font-family:var(--body);transition:transform .3s}
.type-tile:hover .type-go{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.type-tile:hover .type-go::after{transform:translateX(6px)}

/* ============================================================ v2: NOTE CARDS (guides) */
.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(1rem,2vw,1.5rem)}
.note-card{position:relative;display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));overflow:hidden;min-width:0;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.js .note-card.reveal.in{transition:opacity .8s var(--ease),transform .35s var(--ease),border-color .35s,box-shadow .35s}
.note-card:hover,.note-card:focus-visible{transform:translateY(-6px);border-color:var(--neon);box-shadow:0 0 30px var(--neon-faint),0 20px 40px rgba(0,0,0,.5)}
.note-art{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(70% 70% at 50% 70%,rgba(255,46,46,.2),transparent 70%),var(--ink-3);border-bottom:1px solid var(--cream-06)}
.note-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:saturate(.92) brightness(.9);transition:transform .6s var(--ease),filter .4s}
.note-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(13,12,14,.75)),linear-gradient(115deg,rgba(255,46,46,.18),transparent 55%)}
.note-card:hover .note-art img{transform:scale(1.04);filter:saturate(1) brightness(1.02)}
.note-art.is-blank{display:grid;place-items:center}
.note-art.is-blank span{position:relative;z-index:1;font-family:var(--display);font-weight:900;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:.14em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px var(--neon);filter:drop-shadow(0 0 12px var(--neon-soft))}
.note-body{display:flex;flex-direction:column;gap:.6rem;flex:1;padding:1.2rem 1.35rem 1.3rem}
.note-meta{display:flex;align-items:center;justify-content:space-between;gap:.4rem 1rem;flex-wrap:wrap;font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-45)}
.note-no{font-family:var(--display);font-weight:800;font-size:.82rem;letter-spacing:.24em;color:var(--neon)}
.note-t{font-size:clamp(1.45rem,2.2vw,1.8rem);font-weight:800;letter-spacing:.03em;line-height:1}
.note-x{font-size:.93rem;line-height:1.55;color:var(--cream-45)}
.note-go{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.85rem;border-top:1px dashed var(--cream-12);font-family:var(--display);font-weight:800;font-size:.88rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-70);transition:color .3s,text-shadow .3s}
.note-go::after{content:"→";font-family:var(--body);transition:transform .3s}
.note-card:hover .note-go{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.note-card:hover .note-go::after{transform:translateX(6px)}
.note-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.note-lead .note-art{aspect-ratio:auto;min-height:340px;border-bottom:0;border-right:1px solid var(--cream-06)}
.note-lead .note-art img{object-position:50% 15%}
.note-lead .note-body{justify-content:center;padding:clamp(1.6rem,3.5vw,2.8rem)}
.note-lead .note-t{font-size:clamp(2rem,4vw,3.2rem);line-height:.92}
.note-lead .note-x{font-size:1rem;max-width:46ch}
.note-lead .note-go{margin-top:1rem}

/* ============================================================ v2: GUIDE ARTICLE */
.read-meter{position:fixed;left:0;right:0;top:70px;height:3px;z-index:59;pointer-events:none}
.read-meter span{display:block;height:100%;background:var(--neon);box-shadow:0 0 12px var(--neon),0 0 26px var(--neon-soft);transform:scaleX(0);transform-origin:0 50%}
.g-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(3.4rem,7vw,5.2rem)}
.g-hero-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.g-hero-in.is-solo{grid-template-columns:minmax(0,1fr)}
.g-hero-main{min-width:0}
h1.g-h1{font-size:clamp(2.5rem,6.2vw,5.2rem);max-width:17ch;margin-bottom:1.3rem}
.g-lede{max-width:54ch;margin-bottom:1.8rem;font-size:clamp(1.06rem,1.7vw,1.26rem);font-weight:400;line-height:1.6;color:var(--cream)}
.g-meta{display:flex;flex-wrap:wrap;gap:.6rem}
.g-meta li{display:inline-flex;align-items:center;gap:.55rem;padding:.42rem .95rem;border:1px solid var(--cream-12);border-radius:99px;font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-70)}
.g-meta b{font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.06em;color:var(--tube-core)}
.g-meta .g-meta-time{border-color:var(--neon);color:var(--tube-core);box-shadow:0 0 16px var(--neon-faint),inset 0 0 12px var(--neon-faint)}
.g-fig{position:relative;min-width:0;border:2px solid var(--neon);border-radius:18px;padding:20px 10px 10px;background:var(--ink-2);box-shadow:0 0 34px var(--neon-faint),0 26px 60px rgba(0,0,0,.55)}
.g-fig::before{content:"";position:absolute;top:7px;left:16px;right:16px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.7px,transparent 2.7px 15px);animation:flicker 9s linear infinite;pointer-events:none}
.g-fig-link{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:10px;background:var(--ink-3)}
.g-fig-img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .8s var(--ease)}
.g-fig-link:hover .g-fig-img{transform:scale(1.03)}
.g-fig figcaption{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .7rem;padding:.8rem .4rem .2rem;font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-45)}
.g-fig figcaption a{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:.08em;color:var(--cream);text-decoration:none;transition:color .25s,text-shadow .25s}
.g-fig figcaption a:hover{color:var(--tube-core);text-shadow:0 0 10px var(--neon)}
.g-fig figcaption em{font-style:normal;margin-left:auto;color:var(--neon)}
.g-article{position:relative;padding-block:clamp(3.4rem,7vw,6rem);background:var(--ink)}
.g-grid{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.g-side{position:sticky;top:100px;display:grid;gap:1.1rem;min-width:0}
.g-toc{border:1px solid var(--cream-12);border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));padding:1.15rem 1.2rem .7rem}
.g-toc-h{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-bottom:.8rem;margin-bottom:.3rem;border-bottom:2px solid var(--neon);font-family:var(--display);font-weight:800;font-size:.86rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream)}
.g-toc-h span+span{color:var(--neon);letter-spacing:.14em}
.g-toc ol{display:grid;max-height:calc(100vh - 380px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--neon-soft) transparent}
.g-toc li{min-width:0}
.g-toc a{position:relative;display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.4rem;align-items:baseline;padding:.55rem 0;border-bottom:1px dashed var(--cream-06);text-decoration:none;font-size:.9rem;line-height:1.35;color:var(--cream-45);transition:color .25s}
.g-toc li:last-child a{border-bottom:0}
.g-toc-n{font-family:var(--display);font-weight:800;font-size:.86rem;letter-spacing:.08em;color:var(--neon);opacity:.65;transition:opacity .25s,text-shadow .25s}
.g-toc a:hover,.g-toc a.is-here{color:var(--tube-core)}
.g-toc a:hover .g-toc-n,.g-toc a.is-here .g-toc-n{opacity:1;text-shadow:0 0 8px var(--neon)}
.g-toc a.is-here::before{content:"";position:absolute;left:-1.2rem;top:.5rem;bottom:.5rem;width:3px;border-radius:2px;background:var(--neon);box-shadow:0 0 10px var(--neon)}
.g-side-cta{position:relative;border:2px solid var(--neon);border-radius:var(--radius);padding:1.2rem 1.2rem 1.1rem;background:radial-gradient(120% 90% at 50% 0%,rgba(255,46,46,.1),transparent 65%),var(--ink-2);box-shadow:0 0 24px var(--neon-faint)}
.g-side-t{font-family:var(--display);font-weight:800;font-size:1.35rem;line-height:1;letter-spacing:.03em;text-transform:uppercase;color:var(--cream)}
.g-side-cta p:not(.g-side-t){margin:.5rem 0 .9rem;font-size:.86rem;line-height:1.5;color:var(--cream-45)}
.g-side-cta .btn{width:100%}
.g-side-link{display:inline-block;margin-top:.8rem;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--cream-70);border-bottom:1px solid var(--neon-soft);transition:color .25s,text-shadow .25s}
.g-side-link:hover{color:var(--tube-core);text-shadow:0 0 10px var(--neon)}
.g-body{min-width:0}
.g-sec{padding-bottom:clamp(2.4rem,5vw,3.4rem);margin-bottom:clamp(2.4rem,5vw,3.4rem);border-bottom:1px solid var(--cream-06)}
.g-sec-no{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;font-family:var(--display);font-weight:800;font-size:.86rem;letter-spacing:.3em;text-transform:uppercase;color:var(--neon)}
.g-sec-no::before{content:"";width:34px;height:2px;background:var(--neon);box-shadow:0 0 10px var(--neon);flex:none}
.g-h2{max-width:22ch;margin-bottom:1.4rem;font-weight:800;line-height:.95;font-size:clamp(1.95rem,3.6vw,2.9rem);scroll-margin-top:100px}
.g-prose{max-width:68ch;font-size:1.1rem;line-height:1.78}
.g-prose>p{color:var(--cream-70)}
.g-prose>p+p,.g-prose>figure+p{margin-top:1.25rem}
.g-first .g-prose>p:first-child::first-letter{float:left;margin:.1em .14em 0 0;font-family:var(--display);font-weight:900;font-size:4.4em;line-height:.8;text-transform:uppercase;color:var(--tube-core);text-shadow:0 0 12px var(--neon),0 0 30px var(--neon-soft)}
.g-first .g-prose>p:first-child::first-line{color:var(--cream)}
.g-quote{margin:2.2rem 0;padding:.5rem 0 .5rem 1.6rem;border-left:3px solid var(--neon);box-shadow:-12px 0 24px -16px var(--neon)}
.g-quote p{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,2.8vw,2.15rem);line-height:1.08;letter-spacing:.02em;text-transform:uppercase;color:var(--cream)}
.g-quote p::before{content:"\201C";color:var(--neon);text-shadow:0 0 12px var(--neon);margin-right:.08em}
.g-quote p::after{content:"\201D";color:var(--neon);text-shadow:0 0 12px var(--neon);margin-left:.04em}
.g-prose .notes{margin-top:2rem}
.g-stop{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem 2rem;align-items:end;margin:0 0 clamp(2.4rem,5vw,3.4rem);padding:2.2rem clamp(1.3rem,3vw,2rem) 1.7rem;border:2px solid var(--neon);border-radius:18px;background:radial-gradient(90% 120% at 0% 0%,rgba(255,46,46,.12),transparent 60%),var(--ink-2);box-shadow:0 0 34px var(--neon-faint),inset 0 0 40px rgba(255,46,46,.05);overflow:hidden}
.g-stop::before{content:"";position:absolute;top:10px;left:16px;right:16px;height:6px;background:repeating-radial-gradient(circle at 3px 3px,var(--neon) 0 1.7px,transparent 2.7px 15px);opacity:.8}
.g-stop-t{margin:.9rem 0 .5rem;font-family:var(--display);font-weight:800;font-size:clamp(1.55rem,3vw,2.2rem);line-height:.95;letter-spacing:.02em;text-transform:uppercase;color:var(--cream)}
.g-stop p:not(.g-stop-t){max-width:48ch;font-size:.96rem;color:var(--cream-45)}
.g-stop-btns{display:flex;flex-wrap:wrap;gap:.7rem}
.g-faq .faq-list{margin-top:.6rem}
.g-faq .faq-item summary{font-size:1.2rem}
.g-end{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.6rem}
.g-end-sign{font-family:var(--display);font-weight:900;font-size:.95rem;letter-spacing:.3em;text-transform:uppercase;padding:.35rem .9rem .35rem 1.2rem;border:2px solid var(--neon);border-radius:10px;color:var(--tube-core);text-shadow:0 0 10px var(--neon);box-shadow:0 0 16px var(--neon-faint),inset 0 0 14px var(--neon-faint)}
.g-end a{font-family:var(--display);font-weight:800;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--cream-70);border-bottom:2px solid var(--neon);padding-bottom:.2rem;transition:color .25s,text-shadow .25s}
.g-end a:hover{color:var(--tube-core);text-shadow:0 0 12px var(--neon)}
.g-related{border-top:1px solid var(--cream-06)}

/* profile additions */
.pf-more{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.6rem;align-items:start;margin-top:3.4rem;padding-top:2.6rem;border-top:1px dashed var(--cream-12)}
.pf-more.is-one{grid-template-columns:minmax(0,1fr)}
.pf-types .oe-chips{margin:.4rem 0 .3rem}
.pf-reads .kicker{margin-bottom:1.2rem}
.note-grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}

/* ============================================================ RESPONSIVE */
@media (max-width:1020px){
  .rates-grid{grid-template-columns:minmax(0,1fr)}
  .faq-wrap{grid-template-columns:minmax(0,1fr)}
  .faq-side{position:relative;top:auto;max-width:560px}
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-more{grid-template-columns:minmax(0,1fr)}
  .pf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .g-grid{grid-template-columns:minmax(0,1fr);gap:2.4rem}
  .g-side{position:static;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}
  .g-toc ol{display:block;max-height:none;overflow:visible;columns:2 15rem;column-gap:2rem}
  .g-toc li{break-inside:avoid}
  .g-toc li:last-child a{border-bottom:1px dashed var(--cream-06)}
  .g-toc a.is-here::before{display:none}
  .g-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,.55fr)}
  .pf-more{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1100px){
  .nav-many .nav-links{gap:1.05rem}
  .nav-many .nav-links a{font-size:.88rem;letter-spacing:.08em}
  .nav-many .nav-in{gap:1.1rem}
}
@media (max-width:900px){
  .nav-main{display:none}
  .nav-toggle{display:grid}
  .nav-cta{margin-left:auto}
  .copy-grid{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .copy-side,.pf-story .copy-side{position:static}
  .copy-no{font-size:3.4rem;margin-bottom:.6rem}
  .pf-grid{grid-template-columns:minmax(0,1fr)}
  .pf-shot{max-width:520px;width:100%;margin-inline:auto}
  .g-hero-in{grid-template-columns:minmax(0,1fr)}
  .g-fig{max-width:340px;width:100%}
  .g-side{grid-template-columns:minmax(0,1fr)}
  .g-side-cta{display:none}
  .note-lead{grid-template-columns:minmax(0,1fr)}
  .note-lead .note-art{min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--cream-06)}
}
@media (max-width:720px){
  .crumbs-tag{display:none}
  .footer-inner{grid-template-columns:minmax(0,1fr);gap:2rem}
  .route{gap:2.2rem}
  .leg .step-arrow{transform:rotate(90deg);width:40px}
  .pn-in{grid-template-columns:minmax(0,1fr)}
  .dash-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-cell{padding:1.05rem 0 1.05rem 1rem}
  .dash-cell:nth-child(odd){border-left:0;padding-left:0}
  .dash-cell:nth-child(n+3){border-top:1px solid var(--cream-06)}
  .g-stop{grid-template-columns:minmax(0,1fr);align-items:start}
  .g-toc ol{columns:auto}
}
@media (max-width:560px){
  .hero-arrow-wrap{display:none}
  .btn-big{padding:1rem 1.6rem;font-size:1.08rem}
  .nav-in{gap:.8rem}
  .nav-cta{padding:.6rem .9rem;font-size:.9rem}
  .logo-word{font-size:1.05rem}
  .logo-word small{letter-spacing:.3em}
  h1.hero-h1{font-size:clamp(2.35rem,11vw,3.4rem)}
  .h1-l2{-webkit-text-stroke-width:1.6px}
  .hero-route{letter-spacing:.2em}
  .faq-item summary{font-size:1.1rem;gap:1rem}
  .faq-a{padding-left:0}
  .card-name{font-size:1.85rem}
  .exit-sign{padding:1.5rem 1.2rem 1.2rem}
  .exit-list a span{display:none}
  .facts{padding-inline:1.1rem}
  .fact{grid-template-columns:6.6rem minmax(0,1fr);column-gap:1rem;padding-block:.55rem}
  .fact::after{display:none}
  .fact dt{font-size:.8rem;line-height:1.25;color:var(--cream-45)}
  .fact dd{grid-column:2;font-size:.93rem;line-height:1.4}
  .lanes{padding:1rem}
  .lane{padding:.5rem .8rem;font-size:.88rem}
  .pf-tag{top:32px;left:20px}
  .pf-count{right:20px;bottom:20px}
  .mini-route .step-no{font-size:2.8rem;width:3.4rem}
  .pn-txt b{font-size:1.4rem}
  .final-open{letter-spacing:.3em;padding-left:1.6rem}
  .lb-stage .lb-prev,.lb-stage .lb-next{position:absolute;bottom:.5rem;z-index:2}
  .lb-stage .lb-prev{left:1rem}
  .lb-stage .lb-next{right:1rem}
  .lb-img{max-height:calc(100svh - 230px)}
  .notes{padding:1.6rem 1.1rem 1rem}
  .notes-list li{padding-left:2.2rem;font-size:.97rem}
  .g-prose{font-size:1.04rem;line-height:1.72}
  .g-first .g-prose>p:first-child::first-letter{font-size:3.6em}
  .g-quote{padding-left:1.1rem}
  .g-meta li{letter-spacing:.14em}
  .g-stop-btns .btn{flex:1 1 auto}
  .route-card{padding:1.9rem 1.25rem 1.2rem}
  .route-go{margin-left:0}
  .type-name{font-size:1.9rem}
}
@media (max-width:380px){
  .logo-word small{display:none}
  .nav-cta .wa-dot{display:none}
}

/* ============================================================ REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none}
  .ticker-track{flex-wrap:wrap;width:auto}
  .ticker-set+.ticker-set{display:none}
}
