/* GTA VI $GTA6 — "Welcome to Leonida" */
@font-face{font-family:"Poppins";src:url(../assets/fonts/poppins-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url(../assets/fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url(../assets/fonts/poppins-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Poppins";src:url(../assets/fonts/poppins-800i.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url(../assets/fonts/poppins-900i.woff2) format("woff2");font-weight:900;font-style:italic;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(../assets/fonts/chakrapetch-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(../assets/fonts/chakrapetch-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --navy:#080d1d;--navy2:#0e1530;--navy3:#18214a;--line:rgba(255,255,255,.12);
  --pink:#fa3eb9;--cyan:#5ee7ff;--orange:#ff8a3d;--yellow:#ffd23f;--txt:#fff4fb;--muted:#b9b6d3;
  --accent:#fa3eb9;--accent2:#5ee7ff;
  --hdr:72px;--r:18px;
  --disp:"Poppins",system-ui,sans-serif;--hud:"Chakra Petch",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 18px);overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--txt);font:400 1rem/1.65 var(--disp);overflow-x:clip;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(900px 600px at 100% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 65%),
  radial-gradient(800px 600px at 0 100%,color-mix(in srgb,var(--accent2) 12%,transparent),transparent 65%);transition:background 1s}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
svg{width:1em;height:1em;flex:none}
button{font:inherit;color:inherit}
section[id]{scroll-margin-top:calc(var(--hdr) + 18px)}
.skip{position:absolute;left:-999px;top:8px;z-index:300;background:var(--pink);color:var(--navy);padding:.6rem 1rem;border-radius:8px;font-weight:800}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--accent2);outline-offset:3px}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto;container-type:inline-size;position:relative}
main{position:relative;z-index:1}
.sec{position:relative;padding:clamp(4.5rem,9vw,7.5rem) 0}

/* type */
.kicker{display:inline-flex;gap:.5rem;align-items:center;margin:0 0 .9rem;font:700 .82rem/1 var(--hud);letter-spacing:.16em;text-transform:uppercase;color:var(--accent2)}
.kicker svg{color:var(--accent)}
.h2{margin:0 0 1rem;font:900 italic clamp(2.4rem,9cqi,5.6rem)/.92 var(--disp);letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance}
.h2 em{font-style:italic;background:linear-gradient(100deg,var(--accent),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
p{margin:0 0 1rem;color:var(--muted)}
p b{color:var(--txt)}
.hero .lead{text-shadow:0 2px 14px rgba(8,13,29,.95),0 0 2px rgba(8,13,29,.8)}
.lead{font-size:clamp(1.02rem,1vw + .7rem,1.2rem);max-width:34rem}
.tiny{font:600 .78rem/1.5 var(--hud);letter-spacing:.04em;color:#8c88ad;max-width:46rem}

/* buttons */
.btn{--mx:0px;--my:0px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.75rem 1.2rem;border-radius:12px;border:1px solid var(--line);background:rgba(14,21,48,.8);color:var(--txt);font:800 .92rem/1 var(--disp);text-decoration:none;cursor:pointer;transform:translate(var(--mx),var(--my)) skewX(-6deg);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,box-shadow .25s}
.btn>*{transform:skewX(6deg)}
.btn svg{width:1.15rem;height:1.15rem}
.btn:hover{border-color:var(--accent2)}
.btn--pink{background:var(--accent);border-color:var(--accent);color:#0a0a14;box-shadow:0 12px 30px -10px var(--accent)}
.btn--pink:hover{background:color-mix(in srgb,var(--accent) 80%,#fff);border-color:transparent}
.btn--cyan{background:var(--accent2);border-color:var(--accent2);color:#06101c;box-shadow:0 12px 30px -12px var(--accent2)}
.btn--cyan:hover{background:color-mix(in srgb,var(--accent2) 80%,#fff)}
.btn--ghost{backdrop-filter:blur(8px)}
.btn--lg{min-height:54px;padding:.95rem 1.45rem;font-size:1rem}
.btn--icon{width:46px;padding:0}
.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;box-shadow:none}
.btn[aria-disabled="true"]:hover{border-color:var(--line)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.4rem 0 0}
.cta--c{justify-content:center;margin-top:2rem}

/* loader */
.loader{position:fixed;inset:0;z-index:250;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;background:radial-gradient(800px 500px at 50% 40%,#2a1240,var(--navy));transition:opacity .5s,visibility .5s}
.js .loader{display:flex}
.loader img{width:min(260px,52vw)}
.loader__bar{width:min(320px,70vw);height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}
.loader__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--orange))}
.loader p{margin:0;font:700 .9rem var(--hud);letter-spacing:.2em;color:var(--txt);display:flex;gap:1rem}
.loader small{font:600 .78rem var(--hud);color:var(--muted);text-align:center;padding:0 1rem}
.is-loaded .loader{opacity:0;visibility:hidden}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:60;background:linear-gradient(rgba(8,13,29,.92),rgba(8,13,29,.75));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr__in{width:min(1280px,100% - 2rem);margin:auto;height:var(--hdr);display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;margin-right:auto;text-decoration:none}
.brand img{height:44px;width:auto}
.brand b{font:900 italic 1.25rem/1 var(--disp);letter-spacing:-.02em}
.nav{display:flex;gap:.15rem}
.nav a{padding:.55rem .75rem;border-radius:9px;text-decoration:none;font:700 .86rem/1 var(--hud);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:color .2s,background .2s}
.nav a:hover,.nav a.is-on{color:var(--txt);background:rgba(255,255,255,.07)}
.nav a.is-on{box-shadow:inset 0 -2px 0 var(--accent)}
.hdr__act{display:flex;gap:.5rem;align-items:center}
.menu-btn{display:none}
.strip{display:none}

/* HUD top-right */
.hud-tr{position:fixed;top:calc(var(--hdr) + 14px);right:22px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;pointer-events:none}
.stars{display:flex;gap:3px}
.stars svg{width:26px;height:26px;color:rgba(255,255,255,.16);filter:drop-shadow(0 2px 2px rgba(0,0,0,.6));transition:color .3s}
.stars svg.on{color:#fff}
.stars svg.new{animation:starblink .25s steps(1) 6}
@keyframes starblink{50%{color:rgba(255,255,255,.16)}}
.cash{display:flex;align-items:baseline;gap:.5rem;font:700 1.55rem/1 var(--hud);color:#7dffb3;text-shadow:0 2px 0 #000,0 0 14px rgba(125,255,179,.35)}
.cash small{font-size:.7rem;letter-spacing:.16em;color:var(--muted);text-shadow:none}
.siren{position:fixed;inset:0;z-index:39;pointer-events:none;opacity:0;transition:opacity .6s;box-shadow:inset 0 0 0 0 transparent}
.siren.is-on{opacity:1;animation:siren 1.1s linear infinite}
@keyframes siren{0%,49%{box-shadow:inset 0 0 90px -20px rgba(255,40,80,.55)}50%,100%{box-shadow:inset 0 0 90px -20px rgba(40,120,255,.6)}}

/* radar */
.radar{position:fixed;left:22px;bottom:22px;z-index:40;width:165px;pointer-events:none;filter:drop-shadow(0 10px 25px rgba(0,0,0,.6));transition:opacity .45s,transform .45s}
.in-hero .radar{opacity:0;transform:translateY(24px) scale(.9)}
.radar__svg{width:100%;height:auto;display:block}
.radar__rim{fill:rgba(8,13,29,.85);stroke:rgba(255,255,255,.25);stroke-width:2}
.radar__sea{fill:#0f2a44}
.radar__me{fill:#fff;stroke:#000;stroke-width:1.2}
.radar__n{font:700 12px var(--hud);fill:#fff;paint-order:stroke;stroke:#000;stroke-width:3}
.radar__bars{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:6px 8px 0}
.radar__bars i{height:6px;border-radius:3px;background:rgba(0,0,0,.5);position:relative;overflow:hidden}
.radar__bars i::after{content:"";position:absolute;inset:0;width:calc(var(--v,1)*100%);background:#59d36b}
.radar__bars .ar::after{background:var(--accent2)}
.map-land{fill:#1d3b36;stroke:color-mix(in srgb,var(--accent2) 60%,#fff);stroke-width:3;stroke-linejoin:round}
.map-isle{fill:#1d3b36;stroke:color-mix(in srgb,var(--accent2) 60%,#fff);stroke-width:2}
.map-road{fill:none;stroke:rgba(255,255,255,.18);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.map-route{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.map-route-bg{fill:none;stroke:rgba(0,0,0,.5);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.map-done{fill:none;stroke:rgba(255,255,255,.35);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 10}
.map-blip circle{fill:var(--navy);stroke:#fff;stroke-width:3}
.map-blip.is-on circle{fill:var(--yellow)}
.map-blip text{font:700 26px var(--hud);fill:#fff;paint-order:stroke;stroke:#000;stroke-width:6;letter-spacing:.04em}
.map-car{fill:#fff;stroke:#000;stroke-width:2}
.map-car-ring{fill:none;stroke:var(--accent2);stroke-width:3;opacity:.8}
.map-water text{font:italic 700 22px var(--disp);fill:rgba(94,231,255,.35);letter-spacing:.3em}

/* location popup */
.locpop{position:fixed;right:28px;bottom:26px;z-index:41;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s}
.locpop.is-on{opacity:1;transform:none}
.locpop b{font:900 italic clamp(1.6rem,3vw,2.6rem)/1 var(--disp);text-transform:uppercase;letter-spacing:-.02em;color:#fff;text-shadow:0 3px 0 #000,0 0 30px color-mix(in srgb,var(--accent) 60%,transparent)}
.locpop span{font:700 .82rem var(--hud);letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);text-shadow:0 2px 0 #000}

/* hero */
.hero{position:relative;padding:calc(var(--hdr) + clamp(1.5rem,4vw,3.5rem)) 0 clamp(3.5rem,7vw,6rem);min-height:min(100svh,980px);display:flex;align-items:center;overflow:hidden}
.hero__sky{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,var(--navy));z-index:0;pointer-events:none}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:"copy art";gap:clamp(2rem,4vw,3.5rem);align-items:center}
.hero__art{grid-area:art;margin:0;min-width:0}
.hero__copy{grid-area:copy;min-width:0;container-type:inline-size}
.frame{display:block;width:100%;padding:0;border:0;cursor:zoom-in;border-radius:20px;overflow:hidden;background:#000;transform:rotate(1.2deg);box-shadow:0 0 0 3px #fff,0 0 0 9px var(--accent),0 40px 80px -30px #000,0 0 80px -10px var(--accent);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.frame:hover{transform:rotate(0) scale(1.01)}
.frame img{width:100%;height:auto}
.hero__art figcaption{margin-top:1.2rem;text-align:right;font:600 .74rem var(--hud);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.hero__h{margin:0 0 1.2rem;font:900 italic clamp(2.6rem,17cqi,8.4rem)/.86 var(--disp);letter-spacing:-.04em;text-transform:uppercase}
.hero__h span{display:block}
.hero__h span:first-child{font-size:.42em;letter-spacing:.02em;color:var(--txt);margin-bottom:.12em}
.grad{background:linear-gradient(100deg,var(--accent) 10%,var(--orange) 55%,var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em;filter:drop-shadow(0 6px 0 rgba(0,0,0,.35))}

/* CA */
.ca{display:flex;align-items:center;gap:.7rem;max-width:34rem;margin-top:1.4rem;padding:.45rem .45rem .45rem .7rem;border-radius:14px;border:1px solid var(--line);background:rgba(8,13,29,.75);backdrop-filter:blur(8px)}
.ca__k{display:inline-flex;gap:.3rem;align-items:center;font:700 .74rem/1 var(--hud);letter-spacing:.12em;padding:.4rem .5rem;border-radius:7px;background:var(--accent2);color:#06101c}
.ca__v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .9rem var(--hud);color:var(--txt)}
.ca__btn{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .9rem;border-radius:10px;border:0;background:var(--accent);color:#0a0a14;font:800 .82rem var(--disp);cursor:pointer}
.ca__btn:hover{filter:brightness(1.1)}

/* section head + postcard */
.sec__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin-bottom:2.4rem}
.sec__ttl{min-width:0;container-type:inline-size;max-width:760px}
.sec__ttl p:last-child{max-width:40rem;margin:0}
.postcard{position:relative;width:240px;padding:8px 8px 34px;border:0;border-radius:6px;background:#fff8ee;transform:rotate(3deg);cursor:zoom-in;box-shadow:0 20px 40px -18px #000;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.postcard:hover{transform:rotate(0) translateY(-4px)}
.postcard img{width:100%;height:auto;border-radius:2px}
.postcard span{position:absolute;left:0;right:0;bottom:7px;text-align:center;font:900 italic 1.05rem/1 var(--disp);color:var(--navy);text-transform:uppercase;letter-spacing:-.01em}

/* duo */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}
.lead-card{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:linear-gradient(180deg,var(--navy2),#0a1024);border:1px solid var(--line);min-width:0}
.lead-card--jason{--c:var(--accent2)}
.lead-card--lucia{--c:var(--accent)}
.lead-card__main{display:block;width:100%;padding:0;border:0;background:#000;cursor:zoom-in;position:relative}
.lead-card__main img{width:100%;height:auto;transition:opacity .35s}
.lead-card__main.is-swap img{opacity:0}
.lead-card__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.7rem}
.lead-card__thumbs button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#000;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s}
.lead-card__thumbs button.is-on,.lead-card__thumbs button:hover{opacity:1;border-color:var(--c)}
.lead-card__thumbs img{width:100%;height:auto}
.lead-card__body{padding:.6rem 1.5rem 1.6rem;container-type:inline-size}
.tagname{margin:0 0 .35rem;font:700 .76rem/1 var(--hud);letter-spacing:.2em;color:var(--c,var(--accent2))}
.lead-card h3{margin:0 0 .6rem;font:900 italic clamp(2rem,11cqi,3.4rem)/.95 var(--disp);text-transform:uppercase;letter-spacing:-.03em}
.tagline{color:var(--txt);font-weight:600}
blockquote{margin:0 0 1.2rem;padding:.2rem 0 .2rem 1rem;border-left:4px solid var(--c,var(--accent));font:800 italic 1.1rem/1.4 var(--disp);color:var(--txt)}

/* crew / phone */
.crew{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.profile{min-width:0}
.profile__img{display:block;width:100%;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:#000;cursor:zoom-in;position:relative;box-shadow:0 0 0 1px var(--line),0 30px 70px -30px #000}
.profile__img img{width:100%;height:auto;transition:opacity .35s,transform .6s}
.profile.is-swap .profile__img img{opacity:0;transform:scale(1.02)}
.profile__zoom{position:absolute;right:12px;top:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(8,13,29,.75);color:#fff}
.profile__meta{padding:1.3rem .2rem 0;container-type:inline-size}
.profile__meta h3{margin:0 0 .7rem;font:900 italic clamp(2rem,8cqi,3.6rem)/.95 var(--disp);text-transform:uppercase;letter-spacing:-.03em}
.phone{position:relative;width:100%;max-width:360px;justify-self:center;aspect-ratio:9/18.5;padding:12px;border-radius:46px;background:linear-gradient(145deg,#2a2f4a,#0d1124);box-shadow:0 0 0 2px #3a4166,0 40px 80px -30px #000,0 0 70px -20px var(--accent)}
.phone__notch{position:absolute;top:22px;left:50%;width:96px;height:24px;margin-left:-48px;border-radius:20px;background:#000;z-index:3}
.phone__screen{position:relative;height:100%;border-radius:36px;overflow:hidden;background:linear-gradient(180deg,#1a1240,#0b1028 40%)}
.phone__status{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 0;font:700 .74rem var(--hud);color:#fff;height:44px}
.phone__status span{display:flex;gap:.4rem;align-items:center;letter-spacing:.06em}
.bat{width:20px;height:10px;border:1.5px solid #fff;border-radius:3px;position:relative}
.bat::after{content:"";position:absolute;inset:1.5px 4px 1.5px 1.5px;background:#7dffb3;border-radius:1px}
.phone__views{position:absolute;inset:44px 0 0;overflow:hidden}
.pv{position:absolute;inset:0;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.pv--thread{transform:translateX(100%)}
.phone.is-thread .pv--list{transform:translateX(-30%);opacity:0;pointer-events:none}
.phone.is-thread .pv--thread{transform:none}
.pv__ttl{margin:.6rem 1.2rem .5rem;font:900 italic 1.9rem/1 var(--disp);color:#fff}
.contacts{list-style:none;margin:0;padding:0 .6rem 1rem;overflow:auto;flex:1;scrollbar-width:none}
.contacts button{display:flex;align-items:center;gap:.8rem;width:100%;padding:.55rem .6rem;border:0;border-radius:14px;background:none;cursor:pointer;text-align:left;transition:background .2s}
.contacts button:hover,.contacts button.is-on{background:rgba(255,255,255,.08)}
.contacts img{width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--accent)}
.contacts b{display:block;font:800 .98rem/1.2 var(--disp);color:#fff}
.contacts small{display:block;font:600 .74rem/1.3 var(--hud);color:var(--muted);letter-spacing:.04em}
.contacts .dot{margin-left:auto;width:9px;height:9px;border-radius:50%;background:var(--accent2);box-shadow:0 0 10px var(--accent2)}
.thread__top{display:flex;align-items:center;gap:.6rem;padding:.4rem .8rem .7rem;border-bottom:1px solid var(--line)}
.thread__top img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.thread__top b{display:block;font:800 .95rem/1.1 var(--disp);color:#fff}
.thread__top small{font:600 .7rem var(--hud);color:var(--muted)}
.thread__back{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.08);cursor:pointer;color:var(--accent2)}
.thread__msgs{flex:1;overflow:auto;padding:.9rem .8rem;display:flex;flex-direction:column;gap:.5rem;scrollbar-width:thin}
.msg{max-width:86%;padding:.6rem .8rem;border-radius:18px 18px 18px 6px;background:#262d55;color:#fff;font-size:.86rem;line-height:1.45;opacity:0;transform:translateY(8px);animation:msgin .35s forwards}
.msg--img{padding:4px;background:#262d55;max-width:92%}
.msg--img img{border-radius:14px;width:100%;height:auto}
.msg--quote{background:linear-gradient(135deg,var(--accent),var(--orange));color:#120612;font-weight:800;font-style:italic}
.msg--me{align-self:flex-end;border-radius:18px 18px 6px 18px;background:var(--accent2);color:#06101c;font-weight:600}
.msg--typing{display:flex;gap:4px;padding:.75rem .9rem}
.msg--typing i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.5;animation:typing 1s infinite}
.msg--typing i:nth-child(2){animation-delay:.15s}.msg--typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{50%{opacity:1;transform:translateY(-3px)}}
@keyframes msgin{to{opacity:1;transform:none}}
.thread__input{margin:.6rem .8rem 1rem;display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-radius:20px;background:rgba(255,255,255,.07);font:600 .74rem var(--hud);color:var(--muted)}
.thread__input i{width:26px;height:26px;border-radius:50%;background:var(--accent)}

/* map + radio */
.mapgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1.6rem;align-items:start}
.bigmap{position:relative;border-radius:var(--r);overflow:hidden;background:radial-gradient(circle at 60% 40%,#123456,#0a1a30);border:1px solid var(--line);min-width:0}
.bigmap svg{display:block;width:100%;height:auto}
.map-blip{cursor:pointer}
.map-blip:hover circle,.map-blip:focus circle{fill:var(--accent)}
.stops{list-style:none;margin:0;padding:.8rem;display:flex;flex-wrap:wrap;gap:.4rem;border-top:1px solid var(--line);background:rgba(8,13,29,.6)}
.stops a{display:inline-flex;gap:.4rem;align-items:center;padding:.4rem .65rem;border-radius:8px;text-decoration:none;font:700 .74rem var(--hud);letter-spacing:.06em;color:var(--muted);background:rgba(255,255,255,.05)}
.stops a.is-on{color:#0a0a14;background:var(--yellow)}
.stops a.is-done{color:var(--txt)}
.radio{padding:1.4rem;border-radius:var(--r);background:linear-gradient(180deg,var(--navy2),#0a1024);border:1px solid var(--line);min-width:0}
.radio__head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.radio__head svg{width:1.3rem;height:1.3rem;color:var(--accent)}
.radio__head b{font:900 italic 1.3rem var(--disp);text-transform:uppercase}
.radio__head small{width:100%;font:600 .74rem var(--hud);color:var(--muted)}
.wheel{position:relative;width:min(300px,100%);aspect-ratio:1;margin:0 auto 1.2rem;border-radius:50%;background:radial-gradient(circle,rgba(8,13,29,.2) 30%,rgba(8,13,29,.85) 31%,rgba(8,13,29,.85) 70%,transparent 71%);border:2px solid var(--line)}
.wheel::before{content:"";position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%)}
.st{position:absolute;left:50%;top:50%;width:25%;aspect-ratio:1;margin:-12.5% 0 0 -12.5%;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:linear-gradient(135deg,var(--sa),var(--sb));display:grid;place-items:center;cursor:pointer;transform:rotate(var(--ang)) translateY(-150%) rotate(calc(-1 * var(--ang)));transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s;filter:saturate(.5) brightness(.75);font:900 italic .9rem/1 var(--disp);color:#0a0a14;padding:0}
.st:hover{filter:none}
.st[aria-checked="true"]{filter:none;box-shadow:0 0 0 3px #fff,0 0 30px var(--sa);transform:rotate(var(--ang)) translateY(-150%) rotate(calc(-1 * var(--ang))) scale(1.12)}
.radio__now{text-align:center;margin-bottom:1rem}
.radio__now small{font:700 .7rem var(--hud);letter-spacing:.2em;color:var(--muted)}
.radio__now b{display:block;font:900 italic clamp(1.4rem,2.4vw,1.9rem)/1.1 var(--disp);text-transform:uppercase;color:var(--accent)}
.radio__now span{font:600 .85rem var(--hud);color:var(--txt)}
.eq{display:flex;justify-content:center;align-items:flex-end;gap:4px;height:34px;margin-top:.8rem}
.eq i{width:6px;height:30%;border-radius:2px;background:linear-gradient(var(--accent2),var(--accent));animation:eq .9s ease-in-out infinite alternate}
.eq i:nth-child(2n){animation-duration:.7s}.eq i:nth-child(3n){animation-duration:1.1s}.eq i:nth-child(4n){animation-delay:-.4s}.eq i:nth-child(5n){animation-delay:-.2s}
@keyframes eq{to{height:100%}}

/* tokenomics */
.stats{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:1rem}
.stat{position:relative;padding:1.3rem 1.3rem 1.2rem;border-radius:var(--r);background:linear-gradient(180deg,var(--navy2),#0a1024);border:1px solid var(--line);min-width:0;container-type:inline-size}
.stat small{display:block;font:700 .72rem var(--hud);letter-spacing:.2em;color:var(--accent2);margin-bottom:.5rem}
.stat b{display:block;font:900 italic clamp(1.4rem,16cqi,2.4rem)/1.05 var(--disp);letter-spacing:-.02em;overflow-wrap:anywhere}
.stat--big b{font-size:clamp(1.6rem,11cqi,3.4rem);color:#7dffb3;font-family:var(--hud);font-style:normal;font-weight:700}
.stat span{font:600 .8rem var(--hud);color:var(--muted)}
.bar{display:block;height:8px;margin:.9rem 0 .5rem;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.bar i{display:block;height:100%;width:calc(var(--w)*100%);background:linear-gradient(90deg,var(--accent),var(--accent2));transform-origin:left;transform:scaleX(0);transition:transform 1.4s cubic-bezier(.2,.8,.2,1) .2s}
.is-in .bar i{transform:scaleX(1)}
.hudca{margin:1.4rem 0 1rem;padding:1.2rem 1.4rem;border-radius:var(--r);border:2px solid var(--accent2);background:linear-gradient(90deg,rgba(94,231,255,.08),rgba(250,62,185,.08)),rgba(8,13,29,.85);container-type:inline-size;box-shadow:0 0 50px -20px var(--accent2)}
.hudca__top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font:700 .74rem var(--hud);letter-spacing:.16em;color:var(--accent2)}
.hudca__top span:first-child{display:inline-flex;gap:.4rem;align-items:center;color:var(--yellow)}
.hudca__v{display:block;margin:.8rem 0 1.1rem;font:700 clamp(.82rem,3.7cqi,1.7rem)/1.2 var(--hud);letter-spacing:.02em;color:#fff;overflow-wrap:anywhere}
.hudca__act{display:flex;flex-wrap:wrap;gap:.6rem}

/* missions */
.missions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.mission{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start;padding:1.3rem;border-radius:var(--r);background:linear-gradient(180deg,var(--navy2),#0a1024);border:1px solid var(--line);transition:border-color .4s}
.mission small{font:700 .72rem var(--hud);letter-spacing:.2em;color:var(--accent2)}
.mission h3{margin:.2rem 0 .35rem;font:900 italic 1.4rem/1.1 var(--disp);text-transform:uppercase}
.mission p{margin:0;font-size:.95rem}
.chk{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:2px solid rgba(255,255,255,.3);color:transparent;transition:background .3s,border-color .3s,color .3s;transition-delay:calc(var(--rd,0s) + .5s)}
.chk svg{width:18px;height:18px}
.mission.is-in .chk{background:#7dffb3;border-color:#7dffb3;color:#06101c}
.mission.is-in{border-color:rgba(125,255,179,.35)}
.mi{width:1.8rem;height:1.8rem;color:var(--accent)}

/* faq */
.faq{display:grid;gap:.7rem;max-width:900px}
.faq details{border-radius:14px;border:1px solid var(--line);background:rgba(14,21,48,.85);transition:border-color .25s}
.faq details[open]{border-color:var(--accent)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;font:800 1.05rem/1.3 var(--disp)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:1.2rem;height:1.2rem;color:var(--accent);transition:transform .3s}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 1.25rem 1.1rem;margin:0}

/* mission passed */
.passed{position:relative;padding:clamp(4rem,8vw,7rem) 0}
.passed__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.passed__art{display:block;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:#000;cursor:zoom-in;box-shadow:0 0 0 3px #fff,0 0 0 9px var(--accent2),0 40px 80px -30px #000;transform:rotate(-1.2deg);min-width:0}
.passed__art img{width:100%;height:auto}
.passed__copy{min-width:0;container-type:inline-size}
.passed__banner{margin:0;display:flex;flex-direction:column;font:900 italic clamp(2.6rem,18cqi,7rem)/.85 var(--disp);text-transform:uppercase;letter-spacing:-.04em;color:var(--yellow);text-shadow:0 5px 0 #000}
.passed__banner span{font-size:.5em;color:#fff}
.passed__banner b{color:var(--yellow)}
.passed__resp{font:700 1.2rem var(--hud);letter-spacing:.2em;color:#fff;margin:.6rem 0 1.2rem}
.passed__resp b{color:var(--yellow)}

/* footer */
.foot{position:relative;z-index:1;padding:2.5rem 0 3rem;border-top:1px solid var(--line);background:#050813}
.foot__brand{display:flex;gap:.7rem;align-items:center;margin-bottom:1rem}
.foot__brand img{height:40px;width:auto}
.foot__brand b{font:900 italic 1.2rem var(--disp)}
.foot__warn{display:block;font-size:.86rem;max-width:66rem}
.foot__warn svg{color:var(--orange);vertical-align:-.15em;margin-right:.3rem}
.foot__c{margin:0;font:600 .76rem var(--hud);color:#6f6c90;overflow-wrap:anywhere}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:1rem;background:rgba(5,8,19,.95);backdrop-filter:blur(6px)}
.lb[hidden]{display:none}
.lb__fig{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.8rem}
.lb__fig img{max-width:100%;max-height:calc(100svh - 7rem);width:auto;height:auto;object-fit:contain;border-radius:12px}
.lb__fig figcaption{font:600 .85rem var(--hud);color:var(--muted);text-align:center;letter-spacing:.04em}
.lb__btn{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--navy2);cursor:pointer}
.lb__btn svg{width:1.3rem;height:1.3rem}
.lb__close{position:absolute;top:1rem;right:1rem}

/* toasts */
.toasts{position:fixed;left:50%;top:calc(var(--hdr) + 18px);transform:translateX(-50%);z-index:150;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;width:min(520px,calc(100% - 2rem))}
.toast{display:flex;flex-direction:column;align-items:center;padding:.8rem 1.4rem;border-radius:14px;background:rgba(8,13,29,.92);border:1px solid var(--line);box-shadow:0 20px 40px -20px #000;animation:toastin .4s cubic-bezier(.2,.8,.2,1);text-align:center}
.toast b{font:900 italic 1.4rem/1.05 var(--disp);text-transform:uppercase;color:var(--yellow);text-shadow:0 3px 0 #000}
.toast span{font:700 .78rem var(--hud);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.toast.out{opacity:0;transform:translateY(-10px);transition:.4s}
@keyframes toastin{from{opacity:0;transform:translateY(-12px) scale(.96)}}

/* reveal */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--rd,0s)}
.js .reveal.is-in{opacity:1;transform:none}

/* responsive */
@media (max-width:1180px){
  .nav{display:none}.menu-btn{display:inline-flex}
  .nav.is-open{display:flex;flex-direction:column;position:absolute;top:var(--hdr);left:1rem;right:1rem;padding:.6rem;border-radius:16px;background:#0e1530;border:1px solid var(--line);box-shadow:0 30px 60px -20px #000}
  .nav.is-open a{padding:.95rem 1rem;font-size:.92rem}
  .radar{width:150px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px),(max-height:560px) and (orientation:landscape){
  .hero{min-height:0}
  .hero__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"art" "copy"}
  .hero__art{width:min(760px,100%);justify-self:center}
  .crew{grid-template-columns:minmax(0,1fr)}
  .mapgrid,.passed__grid,.duo{grid-template-columns:minmax(0,1fr)}
  .duo{max-width:760px;margin-inline:auto}
  .profile{max-width:760px;justify-self:center;width:100%}
  .sec__head{grid-template-columns:minmax(0,1fr)}
  .postcard{order:-1;width:200px;justify-self:start}
}
@media (max-height:560px) and (orientation:landscape){
  .hero__art{width:min(560px,100%)}
  .phone{aspect-ratio:auto;height:calc(100svh - var(--hdr) - 34px - 28px);max-width:600px;border-radius:30px;padding:8px}
  .phone__screen{border-radius:24px}
  .phone__notch{display:none}
  .phone__status{padding-top:8px;height:32px}
  .phone__views{top:32px}
}
@media (max-width:820px){.missions{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1023px){.hud-tr{display:none}}
@media (max-width:640px){
  :root{--hdr:62px}
  .hdr__in{width:calc(100% - 1.4rem);gap:.5rem}
  .brand img{height:36px}
  .brand b{font-size:1.05rem}
  .hdr__act .btn--pink{padding:.6rem .85rem;font-size:.82rem;min-height:42px}
  .wrap{width:calc(100% - 1.6rem)}
  .cta .btn--lg{flex:1 1 auto}
  .stats{grid-template-columns:minmax(0,1fr)}
  .postcard{width:170px}
  .phone{max-width:330px}
  .mission{grid-template-columns:auto 1fr}
  .mi{display:none}
  .lb{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto}
  .lb__prev,.lb__next{position:absolute;bottom:1rem}.lb__prev{left:1rem}.lb__next{right:1rem}
  .lb__fig img{max-height:calc(100svh - 9rem)}
}
@media (max-width:640px),(max-height:560px) and (orientation:landscape){
  .strip{display:flex;align-items:center;gap:.7rem;height:34px;padding:0 .8rem;border-top:1px solid var(--line);background:rgba(5,8,19,.8);font:700 .72rem var(--hud);letter-spacing:.08em;text-transform:uppercase}
  .strip__loc{display:inline-flex;gap:.35rem;align-items:center;white-space:nowrap;min-width:0}
  .strip__loc svg{color:var(--accent)}
  .strip__road{position:relative;flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.12)}
  .strip__road i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,0)*100%);background:var(--accent);border-radius:2px}
  .strip__road em{position:absolute;top:50%;left:calc(var(--p,0)*100%);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--accent)}
  .stars--sm svg{width:14px;height:14px}
  html{scroll-padding-top:calc(var(--hdr) + 52px)}
  section[id]{scroll-margin-top:calc(var(--hdr) + 52px)}
  .hero{padding-top:calc(var(--hdr) + 34px + 1.2rem)}
  .nav.is-open{top:calc(var(--hdr) + 34px)}
  .toasts{top:calc(var(--hdr) + 44px)}
  .radar,.hud-tr,.locpop{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .js .reveal{opacity:1;transform:none}
  .js .loader{display:none}
  .siren.is-on{animation:none;box-shadow:inset 0 0 70px -20px rgba(255,40,80,.45)}
  .msg{opacity:1;transform:none}
  .eq i{height:60%}
}
.map-ahead{fill:none;stroke:rgba(255,255,255,.55);stroke-width:4;stroke-linecap:round;stroke-dasharray:3 12}
.cash{transition:opacity .4s,transform .4s}
html:not(.in-hero) .cash{opacity:0;transform:translateY(-6px)}
.stars{padding:4px 6px;border-radius:10px;background:rgba(8,13,29,.55);backdrop-filter:blur(4px)}
