:root{
  --obsidian:#050505; --carbon:#1c1c1c; --surface:#131313; --surface-hi:#201f1f; --surface-top:#2a2a2a;
  --acid:#c3f400; --acid-dim:#abd600; --on-acid:#0a0f00;
  --white:#ffffff; --text:#e5e2e1; --muted:#c4c9ac; --outline:#8e9379;
  --blue:#0066ff; --red:#ff0033;
  --ghost:rgba(255,255,255,.12); --ghost-hi:rgba(255,255,255,.22);
  --glow:0 0 24px rgba(195,244,0,.55);
  --font-display:'Sora',system-ui,sans-serif; --font-body:'Inter',system-ui,sans-serif; --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --gutter:clamp(1rem,4vw,2rem); --maxw:1440px;
  --fs-display:clamp(2.6rem,9vw,7.2rem); --fs-h2:clamp(1.9rem,5vw,3.4rem); --fs-h3:clamp(1.25rem,2.4vw,1.75rem);
  --nav-h:68px;
  --chamfer:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--obsidian);color:var(--text);font:400 1rem/1.6 var(--font-body);overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.disp{font-family:var(--font-display);font-weight:800;font-style:italic;letter-spacing:-.04em;line-height:1.02;text-transform:uppercase}
.acid{color:var(--acid)}
.glow{text-shadow:0 0 30px rgba(195,244,0,.55)}
.eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--acid)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--acid);box-shadow:var(--glow)}
h2.disp{font-size:var(--fs-h2);margin:.6rem 0 0}
.carbon{background-color:var(--obsidian);background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.025) 75%),linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.025) 75%);background-size:6px 6px;background-position:0 0,3px 3px}
.grid-bg{background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:32px 32px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.8rem 1.8rem;border:0;cursor:pointer;font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;clip-path:var(--chamfer);position:relative;transition:transform .2s,filter .2s,background .2s;-webkit-tap-highlight-color:transparent}
.btn-acid{background:var(--acid);color:var(--on-acid);filter:drop-shadow(0 0 14px rgba(195,244,0,.5))}
.btn-acid:hover{transform:translateY(-2px);animation:strobe .35s steps(2) 1}
.btn-ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1px var(--ghost-hi)}
.btn-ghost::after{content:"";position:absolute;inset:0;border:1px solid var(--ghost-hi);clip-path:var(--chamfer)}
.btn-ghost:hover{background:rgba(195,244,0,.08);color:var(--acid)}
@keyframes strobe{0%{background:#fff}50%{background:var(--acid)}100%{background:#e6ff6b}}
.arrow{display:inline-block;transition:transform .2s}.btn:hover .arrow{transform:translateX(4px)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);background:rgba(5,5,5,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ghost);padding-top:env(safe-area-inset-top)}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav .logo img{height:34px;width:auto}
.nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.nav ul a{color:var(--muted);padding:.5rem 0;border-bottom:2px solid transparent;transition:.2s}
.nav ul a:hover,.nav ul a.on{color:var(--acid);border-color:var(--acid)}
.nav .btn{min-height:44px;padding:.55rem 1.3rem;font-size:.8rem}
.burger{display:none;width:44px;height:44px;background:none;border:1px solid var(--ghost-hi);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger i{display:block;width:20px;height:2px;background:var(--white);transition:.25s}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--acid);transform-origin:left;transform:scaleX(0);box-shadow:var(--glow)}
.drawer{position:fixed;inset:var(--nav-h) 0 0 0;z-index:49;background:rgba(5,5,5,.97);display:none;flex-direction:column;padding:2rem var(--gutter) calc(2rem + env(safe-area-inset-bottom));gap:.25rem}
.drawer.open{display:flex}
.drawer a{font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:1.8rem;padding:.8rem 0;border-bottom:1px solid var(--ghost);min-height:48px}
.drawer .btn{margin-top:1.5rem;font-size:1rem}
@media(max-width:900px){.nav ul,.nav>.wrap>.btn{display:none}.burger{display:flex}}

/* preloader */
.pre{position:fixed;inset:0;z-index:100;background:var(--obsidian);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:opacity .5s .1s,visibility .5s .1s}
.pre.done{opacity:0;visibility:hidden}
.pre img{width:120px;animation:pulse 1s ease-in-out infinite}
.leds{display:flex;gap:6px}
.leds i{width:22px;height:8px;background:#222;transition:background .1s,box-shadow .1s}
.leds i.on{background:var(--acid);box-shadow:var(--glow)}
.leds i.on.r{background:var(--red);box-shadow:0 0 14px var(--red)}
.leds i.on.b{background:var(--blue);box-shadow:0 0 14px var(--blue)}
@keyframes pulse{50%{opacity:.55}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:calc(var(--nav-h) + 3rem) 0 0}
.hero-bg{position:absolute;inset:-6% 0;background:url(/assets/img/hero-pro.webp) center/cover;will-change:transform}
@media(max-width:700px){.hero-bg{background-position:72% center}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,5,5,.55) 0%,rgba(5,5,5,.15) 35%,rgba(5,5,5,.85) 82%,var(--obsidian) 100%),linear-gradient(90deg,rgba(5,5,5,.88),transparent 65%)}
.scan{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.hero .wrap{position:relative;z-index:3;width:100%;padding-bottom:clamp(2rem,6vh,4rem)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border:1px solid var(--acid);background:rgba(195,244,0,.15);color:var(--acid)}
.chip.blue{border-color:var(--blue);background:rgba(0,102,255,.2);color:#7fb0ff}
.chip i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.4s infinite}
.hero h1{font-size:var(--fs-display);margin:0;max-width:11ch;color:var(--acid);text-shadow:0 0 40px rgba(195,244,0,.5)}
.hero h1 span{display:block;color:var(--white);text-shadow:none}
.hero p.lead{max-width:52ch;font-size:clamp(1rem,1.6vw,1.2rem);color:var(--text);margin:1.5rem 0 2rem}
.cta{display:flex;flex-wrap:wrap;gap:1rem}
.hud{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:clamp(2rem,5vh,3.5rem);background:var(--ghost);border:1px solid var(--ghost);backdrop-filter:blur(8px);background-color:rgba(5,5,5,.55)}
.hud div{padding:1rem 1.2rem;background:rgba(5,5,5,.7)}
.hud b{display:block;font-family:var(--font-display);font-weight:800;font-style:italic;font-size:clamp(1.4rem,3vw,2.2rem);color:var(--white);letter-spacing:-.03em}
.hud span{color:var(--muted)}
@media(max-width:700px){.hud{grid-template-columns:repeat(2,1fr)}}
.shift{display:flex;gap:4px;margin-top:1.2rem}
.shift i{flex:1;max-width:36px;height:6px;background:#222}
.shift i.on{background:var(--acid);box-shadow:0 0 10px rgba(195,244,0,.7)}
.shift i.on.r{background:var(--red);box-shadow:0 0 10px var(--red)}

/* marquee */
.marq{border-block:1px solid var(--ghost);background:var(--carbon);overflow:hidden;white-space:nowrap}
.marq .track{display:inline-flex;gap:3rem;padding:1rem 0;animation:marq 38s linear infinite}
.marq:hover .track{animation-play-state:paused}
.marq span{color:var(--muted);display:inline-flex;align-items:center;gap:3rem}
.marq span::after{content:"◆";color:var(--acid);font-size:.6rem}
@keyframes marq{to{transform:translateX(-50%)}}

section{position:relative;padding:clamp(4rem,10vw,8rem) 0}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
.head p{max-width:46ch;color:var(--muted);margin:0}

/* about */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.about p{color:var(--text);max-width:56ch}
.about .photo{position:relative;aspect-ratio:4/5;overflow:hidden;clip-path:var(--chamfer)}
.about .photo img{width:100%;height:100%;object-fit:cover}
.about .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,5,5,.85));}
.about .tag{position:absolute;left:1rem;bottom:1rem;z-index:2;display:flex;gap:.5rem;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ghost);margin-top:2rem;border:1px solid var(--ghost)}
.stats div{background:var(--carbon);padding:1.2rem}
.stats b{display:block;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--acid)}
@media(max-width:900px){.about{grid-template-columns:1fr}.about .photo{aspect-ratio:16/10}}
@media(max-width:480px){.stats{grid-template-columns:1fr 1fr}}

/* rigs */
.rigs{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter)}
.rig{grid-column:span 3;position:relative;background:linear-gradient(135deg,var(--carbon),var(--surface));border:1px solid var(--ghost);display:flex;flex-direction:column;transition:transform .35s,border-color .35s;transform-style:preserve-3d}
.rig:hover{border-color:var(--acid);transform:translateY(-6px)}
.rig .img{aspect-ratio:4/3;overflow:hidden;position:relative}
.rig .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rig:hover .img img{transform:scale(1.08)}
.rig .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,var(--carbon))}
.rig .cls{position:absolute;top:.8rem;left:.8rem;z-index:2}
.rig .body{padding:1.2rem 1.3rem 1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.rig h3{font-size:var(--fs-h3);margin:0}
.rig p{margin:0;color:var(--muted);font-size:.92rem}
.spec{display:grid;gap:.5rem;margin:0;padding:0;list-style:none;border-top:1px solid var(--ghost);padding-top:.9rem}
.spec li{display:flex;justify-content:space-between;gap:1rem}
.spec li span:first-child{color:var(--outline)}
.spec li span:last-child{color:var(--white)}
.torque{height:6px;background:#222;display:flex;gap:3px}
.torque i{flex:1;background:#2a2a2a}
.torque i.on{background:var(--acid);box-shadow:0 0 8px rgba(195,244,0,.6)}
.rig .btn{margin-top:auto;width:100%}
.rig.pro{grid-column:span 12;flex-direction:row;border-color:rgba(195,244,0,.5);box-shadow:0 0 40px rgba(195,244,0,.08)}
.rig.pro .img{aspect-ratio:auto;flex:1.3;min-height:340px}
.rig.pro .img::after{background:linear-gradient(90deg,transparent 60%,var(--carbon))}
.rig.pro .body{flex:1;padding:clamp(1.5rem,3vw,2.5rem);justify-content:center}
.lock{display:inline-flex;gap:.5rem;align-items:center;color:var(--acid)}
@media(max-width:1100px){.rig{grid-column:span 6}}
@media(max-width:700px){.rig{grid-column:span 12}.rig.pro{flex-direction:column}.rig.pro .img{min-height:240px}.rig.pro .img::after{background:linear-gradient(180deg,transparent 50%,var(--carbon))}}

/* fleet */
.fleet{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:var(--gutter)}
.unit{border:1px solid var(--ghost);background:var(--carbon);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.3rem;position:relative;overflow:hidden;transition:border-color .25s}
.unit:hover{border-color:var(--acid)}
.unit b{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.3rem;color:var(--white)}
.unit .mono{color:var(--muted);font-size:.68rem}
.unit.p{border-color:rgba(195,244,0,.45)}
.unit.p b{color:var(--acid)}
@media(max-width:800px){.fleet{grid-template-columns:repeat(2,1fr)}}

/* academy */
.academy{background:var(--surface)}
.academy::before{content:"";position:absolute;inset:0;background:url(/assets/img/telemetry-car.webp) center/cover;opacity:.12}
.academy .wrap{position:relative}
.levels{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);align-items:start}
.tabs{display:flex;flex-direction:column;gap:.75rem}
.tab{text-align:left;background:rgba(5,5,5,.7);border:1px solid var(--ghost);padding:1.2rem 1.4rem;cursor:pointer;display:block;width:100%;min-height:44px;transition:.25s;position:relative}
.tab .mono{color:var(--acid)}
.tab h3{margin:.3rem 0 .2rem;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.3rem}
.tab p{margin:0;color:var(--muted);font-size:.92rem}
.tab::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--acid);box-shadow:var(--glow);transition:width .5s}
.tab[aria-selected=true]{border-color:var(--acid);background:rgba(195,244,0,.06)}
.tab[aria-selected=true]::after{width:100%}
.panel{position:sticky;top:calc(var(--nav-h) + 1rem);border:1px solid var(--acid);background:rgba(5,5,5,.88);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:0 0 50px rgba(195,244,0,.08);min-height:340px}
.panel h3{font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:var(--fs-h3);margin:.4rem 0 1rem}
.panel .kv{display:grid;gap:.6rem;margin:1.2rem 0 0;padding:0;list-style:none}
.panel .kv li{font-family:var(--font-mono);font-size:.82rem;color:var(--text);padding-left:1.2rem;position:relative}
.panel .kv li::before{content:">";position:absolute;left:0;color:var(--acid)}
.mods{display:grid;gap:.8rem;margin-top:1.4rem}
.mod{border-left:2px solid var(--acid);padding:.4rem 0 .4rem 1rem}
.mod .mono{color:var(--acid)}
.mod p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}
@media(max-width:900px){.levels{grid-template-columns:1fr}.panel{position:static;order:-1}}

/* journey / telemetry */
.tele{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gutter)}
.card{border:1px solid var(--ghost);background:linear-gradient(135deg,var(--carbon),var(--surface));position:relative;overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover}
.card .cap{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.2rem;background:linear-gradient(transparent,rgba(5,5,5,.92))}
.card .cap b{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase}
.card .cap p{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}
.tele .big{aspect-ratio:16/9}
.tele .stack{display:grid;gap:var(--gutter)}
.tele .stack .card{aspect-ratio:16/9}
.trace{width:100%;height:120px;display:block}
.live{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter);margin-top:var(--gutter)}
.live .card{padding:1.1rem 1.2rem}
.live b{display:block;font-family:var(--font-mono);font-size:clamp(1.3rem,2.6vw,2rem);color:var(--acid);font-weight:700}
.live .mono{color:var(--muted)}
@media(max-width:900px){.tele{grid-template-columns:1fr}.live{grid-template-columns:repeat(2,1fr)}}

/* booking */
.book{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--gutter);align-items:start}
form{display:grid;gap:var(--gutter)}
.step{border:1px solid var(--ghost);background:var(--carbon);padding:clamp(1.1rem,3vw,1.8rem)}
.step>.mono{color:var(--acid);display:block;margin-bottom:.9rem}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;margin:0}
.opt label{display:block;border:1px solid var(--ghost-hi);padding:1rem;cursor:pointer;transition:.2s;min-height:44px;background:var(--obsidian)}
.opt label b{display:block;font-family:var(--font-display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.1rem}
.opt label .mono{color:var(--muted)}
.opt label .pr{display:block;margin-top:.5rem;color:var(--acid);font-family:var(--font-mono);font-size:.9rem}
.opt input:checked+label{border-color:var(--acid);background:rgba(195,244,0,.08);box-shadow:inset 0 0 0 1px var(--acid)}
.opt input:focus-visible+label{outline:2px solid var(--acid);outline-offset:3px}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}
.slots .opt label{text-align:center;padding:.8rem .4rem;font-family:var(--font-mono);font-size:.85rem}
.field{display:grid;gap:.4rem}
.field label{color:var(--muted)}
.field input{width:100%;min-height:48px;background:var(--obsidian);border:1px solid var(--ghost-hi);padding:.7rem .9rem;font-size:16px;border-radius:0}
.field input:focus{outline:none;border-color:var(--acid);box-shadow:0 0 0 1px var(--acid)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sum{position:sticky;top:calc(var(--nav-h) + 1rem);border:1px solid var(--acid);background:rgba(5,5,5,.9);padding:1.6rem;box-shadow:0 0 50px rgba(195,244,0,.08)}
.sum h3{margin:0 0 1rem;font-family:var(--font-display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.3rem}
.sum dl{margin:0;display:grid;gap:.7rem}
.sum dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--ghost);padding-bottom:.6rem}
.sum dt{color:var(--outline)}.sum dd{margin:0;color:var(--white);text-align:right}
.sum .total{display:flex;justify-content:space-between;align-items:baseline;margin:1.2rem 0}
.sum .total b{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:2.2rem;color:var(--acid)}
.sum small{display:block;color:var(--outline);margin-top:1rem;font-size:.78rem}
.note{color:var(--muted);font-size:.85rem;margin:0}
.msg{display:none;margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--acid);background:rgba(195,244,0,.08);color:var(--acid)}
.msg.show{display:block}
@media(max-width:960px){.book{grid-template-columns:1fr}.sum{position:static}}
@media(max-width:560px){.opts{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}

/* legends */
.legends{overflow:hidden;border-block:1px solid var(--ghost);background:var(--carbon);padding:2.2rem 0}
.legends .track{display:inline-flex;gap:1.2rem;animation:marq 70s linear infinite;white-space:normal}
.legends:hover .track{animation-play-state:paused}
.q{width:min(78vw,380px);border-left:2px solid var(--acid);padding:.3rem 1.2rem;flex:none}
.q .mono{color:var(--outline)}
.q b{display:block;font-family:var(--font-display);text-transform:uppercase;font-weight:800;margin:.2rem 0}
.q p{margin:0;color:var(--muted);font-size:.9rem;font-style:italic}

/* final cta + footer */
.final{text-align:center;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:url(/assets/brand/mark.png) center/min(90vw,760px) no-repeat;opacity:.07}
.final .wrap{position:relative}
.final h2{font-size:clamp(2.2rem,7vw,5.5rem);margin:1rem 0 2rem}
.final .cta{justify-content:center}
footer{border-top:1px solid var(--ghost);padding:3rem 0 calc(2rem + env(safe-area-inset-bottom));background:var(--obsidian)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot img{height:44px;width:auto;margin-bottom:1rem}
.foot h4{margin:0 0 .8rem;color:var(--acid)}
.foot a,.foot p{display:block;color:var(--muted);margin:.2rem 0;padding:.25rem 0;font-size:.92rem}
.foot a:hover{color:var(--acid)}
.legal{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--ghost);color:var(--outline);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem}
@media(max-width:700px){.foot{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}.pre{display:none}}

/* ===== v2 additions: inner pages, effects ===== */
.nav ul a.on{color:var(--acid);border-color:var(--acid)}
.drawer a.on{color:var(--acid)}
/* page hero (inner pages) */
.phero{position:relative;min-height:clamp(380px,62vh,620px);display:flex;align-items:flex-end;overflow:hidden;padding:calc(var(--nav-h) + 3rem) 0 clamp(2rem,6vh,4rem)}
.phero .bg{position:absolute;inset:-8% 0;background-size:cover;background-position:center;will-change:transform}
.phero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,5,5,.6),rgba(5,5,5,.25) 40%,var(--obsidian)),linear-gradient(90deg,rgba(5,5,5,.9),transparent 70%)}
.phero .wrap{position:relative;z-index:3;width:100%}
.phero h1{font-size:clamp(2.4rem,8vw,6rem);margin:.6rem 0 0;color:var(--white);max-width:14ch}
.phero h1 em{font-style:italic;color:var(--acid);text-shadow:0 0 40px rgba(195,244,0,.5)}
.phero p.lead{max-width:56ch;color:var(--text);margin:1.2rem 0 0;font-size:clamp(1rem,1.5vw,1.15rem)}
.crumbs{display:flex;gap:.6rem;color:var(--muted);margin-bottom:1rem}
.crumbs a:hover{color:var(--acid)}
/* class strip (home) */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter)}
@media(max-width:1000px){.strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.strip{grid-template-columns:1fr}}
.strip .rig{grid-column:auto}
.more{margin-top:clamp(1.5rem,3vw,2.5rem);display:flex;justify-content:center}
/* levels cards (home) */
.lv3{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter)}
.lvc{border:1px solid var(--ghost);background:rgba(5,5,5,.72);padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;transition:.3s;position:relative}
.lvc:hover{border-color:var(--acid);transform:translateY(-4px)}
.lvc h3{margin:0;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.25rem}
.lvc p{margin:0;color:var(--muted);font-size:.92rem}
.lvc.pr{border-color:rgba(195,244,0,.5)}
.lvc .bar{height:3px;background:var(--acid);box-shadow:var(--glow);margin-top:auto}
@media(max-width:1000px){.lv3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lv3{grid-template-columns:1fr}}
/* compare table */
.tablewrap{overflow-x:auto;border:1px solid var(--ghost);background:var(--carbon);-webkit-overflow-scrolling:touch}
table.cmp{width:100%;border-collapse:collapse;min-width:640px}
.cmp th,.cmp td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid var(--ghost);white-space:nowrap}
.cmp th{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--surface)}
.cmp td:first-child{font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;color:var(--white)}
.cmp tr:last-child td{border-bottom:0}
.cmp tr.p td{color:var(--acid)}
.cmp tbody tr:hover td{background:rgba(195,244,0,.05)}
/* faq */
.faq{display:grid;gap:.75rem;max-width:900px}
.faq details{border:1px solid var(--ghost);background:var(--carbon)}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem 1.3rem;min-height:48px;display:flex;justify-content:space-between;gap:1rem;align-items:center;font-family:var(--font-display);font-weight:700;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--acid);font-family:var(--font-mono);font-size:1.4rem;transition:transform .25s}
.faq details[open]{border-color:var(--acid)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0;padding:0 1.3rem 1.2rem;color:var(--muted);max-width:70ch}
/* coaching timeline */
.tl{position:relative;display:grid;gap:var(--gutter);padding-left:clamp(1.5rem,5vw,3.5rem)}
.tl::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:repeating-linear-gradient(180deg,var(--acid) 0 8px,transparent 8px 16px);opacity:.7}
.step-l{position:relative;border:1px solid var(--ghost);background:linear-gradient(135deg,var(--carbon),var(--surface));padding:clamp(1.3rem,3vw,2.2rem);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.2rem,3vw,2.5rem);align-items:center;transition:border-color .3s}
.step-l:hover{border-color:var(--acid)}
.step-l .node{position:absolute;left:calc(-1 * clamp(1.5rem,5vw,3.5rem) - 1px);top:2rem;width:18px;height:18px;border:2px solid var(--acid);border-radius:50%;background:var(--obsidian);box-shadow:var(--glow)}
.step-l.pr{border-color:rgba(195,244,0,.55);box-shadow:0 0 50px rgba(195,244,0,.07)}
.step-l h3{margin:.3rem 0 .6rem;font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.2rem)}
.step-l p{color:var(--muted);margin:0}
.step-l .pic{aspect-ratio:16/10;overflow:hidden;clip-path:var(--chamfer)}
.step-l .pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.step-l:hover .pic img{transform:scale(1.06)}
@media(max-width:800px){.step-l{grid-template-columns:1fr}.step-l .pic{order:-1}}
.band{overflow:hidden;border-block:1px solid var(--ghost);background:var(--acid);color:var(--on-acid);white-space:nowrap}
.band .track{display:inline-flex;gap:2.5rem;padding:.9rem 0;animation:marq 26s linear infinite}
.band span{font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(1.1rem,2.6vw,1.9rem);letter-spacing:-.02em}
.band span::after{content:"//";margin-left:2.5rem;opacity:.5}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
.quotes .q{width:auto;background:var(--carbon);border:1px solid var(--ghost);border-left:2px solid var(--acid);padding:1.3rem}
@media(max-width:900px){.quotes{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.quotes{grid-template-columns:1fr}}
/* contact / generic forms */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--gutter);align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.info{display:grid;gap:1px;background:var(--ghost);border:1px solid var(--ghost)}
.info div{background:var(--carbon);padding:1.2rem 1.3rem}
.info b{display:block;font-family:var(--font-display);font-weight:700;margin-top:.2rem;overflow-wrap:anywhere}
.info a{color:var(--white)}.info a:hover{color:var(--acid)}
select,textarea{width:100%;background:var(--obsidian);border:1px solid var(--ghost-hi);padding:.8rem .9rem;font-size:16px;border-radius:0;min-height:48px;color:var(--text)}
textarea{min-height:140px;resize:vertical;font-family:var(--font-body)}
select:focus,textarea:focus{outline:none;border-color:var(--acid);box-shadow:0 0 0 1px var(--acid)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:progress;filter:none}
.msg.err{border-color:var(--red);color:#ff8095;background:rgba(255,0,51,.08)}
.msg.ok{border-color:var(--acid);color:var(--acid);background:rgba(195,244,0,.08)}
/* empty state */
.empty{border:1px dashed var(--ghost-hi);background:var(--carbon);padding:clamp(2rem,6vw,4rem);text-align:center;display:grid;gap:1rem;justify-items:center}
.empty img{width:92px;opacity:.9}
.empty h2{margin:0}
.empty p{color:var(--muted);max-width:52ch;margin:0}
.notify{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:560px;margin-top:.5rem;align-items:flex-end}
.notify .field{flex:1;min-width:220px;text-align:left}
.cls4{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;width:100%;margin-top:1.5rem}
@media(max-width:700px){.cls4{grid-template-columns:repeat(2,1fr)}}
/* legal */
.prose{max-width:760px}
.prose h2{font-family:var(--font-display);font-size:1.4rem;margin:2.2rem 0 .6rem;font-weight:700}
.prose p,.prose li{color:var(--muted)}
.prose a{color:var(--acid)}
.draft{display:inline-block;margin-bottom:1.5rem;padding:.4rem .8rem;border:1px solid var(--red);color:#ff8095}
/* 404 */
.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:6rem var(--gutter)}
.nf h1{font-size:clamp(5rem,26vw,16rem);margin:0;color:var(--acid);text-shadow:0 0 60px rgba(195,244,0,.5)}

/* ===== effects ===== */
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.glitch::before{color:var(--blue);clip-path:inset(0 0 55% 0)}
.glitch::after{color:var(--red);clip-path:inset(55% 0 0 0)}
.glitch:hover::before,.glitch:hover::after,.glitch.go::before,.glitch.go::after{opacity:.85;animation:gl .45s steps(2) 1}
.glitch:hover::before,.glitch.go::before{transform:translate(-3px,0)}
.glitch:hover::after,.glitch.go::after{transform:translate(3px,0)}
@keyframes gl{0%{transform:translate(0)}25%{transform:translate(-4px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px,2px)}100%{transform:translate(0)}}
#fx{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.55;mix-blend-mode:screen}
.cur,.cur-ring{position:fixed;left:0;top:0;z-index:200;pointer-events:none;opacity:0;transition:opacity .25s}
.cur{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--acid);box-shadow:var(--glow)}
.cur-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid var(--acid);transition:opacity .25s,width .2s,height .2s,margin .2s,background .2s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.cur-ring.hot{width:56px;height:56px;margin:-28px 0 0 -28px;background:rgba(195,244,0,.12)}
body.has-cur .cur,body.has-cur .cur-ring{opacity:1}
@media(hover:hover) and (pointer:fine){body.has-cur,body.has-cur a,body.has-cur button,body.has-cur label,body.has-cur summary{cursor:none}}
.wipe{position:fixed;inset:0;z-index:150;pointer-events:none;display:flex;flex-direction:column}
.wipe i{flex:1;background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.7,0,.2,1)}
.wipe i:nth-child(even){background:var(--obsidian)}
.wipe i:nth-child(2){transition-delay:.04s}.wipe i:nth-child(3){transition-delay:.08s}.wipe i:nth-child(4){transition-delay:.12s}.wipe i:nth-child(5){transition-delay:.16s}
.wipe.on i{transform:scaleX(1)}
.wipe.off i{transform-origin:right;transform:scaleX(0)}
.rpm{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:40;width:74px;height:74px;pointer-events:none;opacity:0;transition:opacity .4s}
.rpm.show{opacity:1}
.rpm svg{width:100%;height:100%;transform:rotate(135deg)}
.rpm circle{fill:none;stroke-width:5}
.rpm .bgc{stroke:#222;stroke-dasharray:198 264}
.rpm .fg{stroke:var(--acid);stroke-dasharray:0 264;filter:drop-shadow(0 0 6px rgba(195,244,0,.8));transition:stroke-dasharray .15s}
.rpm span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-mono);font-size:.7rem;color:var(--white)}
@media(max-width:700px){.rpm{display:none}}
[data-tilt]{transform-style:preserve-3d;will-change:transform}
.shine{position:relative;overflow:hidden}
.shine::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(195,244,0,.16) 50%,transparent 60%);transform:translateX(-120%);transition:transform .8s;pointer-events:none}
.shine:hover::after{transform:translateX(120%)}

/* ===== v3: effects ported from the original screens ===== */
.slow-glitch{animation:slow-glitch-anim 8s infinite linear alternate-reverse}
@keyframes slow-glitch-anim{
 0%,95%{transform:translate(0);text-shadow:0 0 15px rgba(195,244,0,.5)}
 96%{transform:translate(-2px,1px);text-shadow:2px 0 #c3f400,-2px 0 #0066ff}
 97%{transform:translate(1px,-1px);text-shadow:-1px 0 #c3f400,1px 0 #0066ff}
 98%{transform:translate(0);text-shadow:0 0 15px rgba(195,244,0,.5)}
 99%{transform:translate(2px,2px);text-shadow:-2px 0 #c3f400,2px 0 #0066ff}
 100%{transform:translate(0);text-shadow:0 0 15px rgba(195,244,0,.5)}}
.glitch-hover:hover{animation:glitch-anim .3s linear infinite}
@keyframes glitch-anim{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}100%{transform:translate(0)}}

/* 3D card shuffle: siblings recede while one card is hovered */
@media(hover:hover) and (min-width:901px){
 .rigs,.strip{perspective:1000px}
 .rigs .rig,.strip .rig{transition:transform .5s cubic-bezier(.25,.46,.45,.94),box-shadow .5s,opacity .5s,border-color .35s}
 .rigs:hover .rig:not(:hover),.strip:hover .rig:not(:hover){transform:translateZ(-50px) rotateX(2deg) scale(.96);opacity:.6}
 .rigs .rig:hover,.strip .rig:hover{transform:translateZ(30px) translateY(-10px) scale(1.02);box-shadow:0 20px 40px -10px rgba(195,244,0,.18),0 0 20px rgba(0,255,255,.1);z-index:10}
}
/* particle canvas */
#particle-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:160;opacity:0;transition:opacity .3s}
#particle-canvas.active{opacity:1}
/* rig modal */
#rig-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1.2rem;background:rgba(5,5,5,.78);opacity:0;pointer-events:none;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:opacity .4s,backdrop-filter .4s,-webkit-backdrop-filter .4s;overflow:auto}
#rig-modal.active{opacity:1;pointer-events:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#rig-modal .mc{position:relative;width:min(100%,460px);transform:scale(.8) translateY(20px);opacity:0;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),opacity .4s}
#rig-modal.active .mc{transform:none;opacity:1}
#rig-modal .rig{grid-column:auto;transform:none!important;opacity:1!important;box-shadow:0 0 60px rgba(195,244,0,.18);border-color:var(--acid)}
#rig-modal .rig .img img{transform:none}
#rig-modal-x{position:absolute;top:-14px;right:-6px;z-index:5;width:44px;height:44px;border:1px solid var(--ghost-hi);background:var(--obsidian);cursor:pointer;color:var(--white);font-size:1.4rem;line-height:1}
#rig-modal-x:hover{border-color:var(--acid);color:var(--acid)}
/* matrix rain */
.rain{position:absolute;inset:0;overflow:hidden;z-index:0}
.rain canvas{width:100%;height:100%;display:block;opacity:.22}
/* hud-clarity: blur until hover */
.hud-clarity{filter:blur(3px) brightness(.65);transition:filter .6s,opacity .6s}
.group:hover .hud-clarity{filter:none;opacity:.9}
/* data stream bands */
.stream{overflow:hidden;white-space:nowrap;border-block:1px solid var(--ghost);background:var(--surface);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acid)}
.stream .track{display:inline-flex;gap:3rem;padding:.7rem 0;animation:marq 30s linear infinite}
.stream.fast .track{animation-duration:18s}
.stream .track span::before{content:"> ";opacity:.6}
.spine{width:2px;background:repeating-linear-gradient(to bottom,var(--acid),var(--acid) 4px,transparent 4px,transparent 12px);box-shadow:0 0 10px rgba(195,244,0,.5)}
/* social + newsletter + blog */
.social{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.social a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .9rem;border:1px solid var(--ghost-hi);color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.social a:hover{border-color:var(--acid);color:var(--acid)}
.news{border:1px solid var(--acid);background:rgba(195,244,0,.05);padding:clamp(1.4rem,4vw,2.4rem);display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);align-items:center}
.news h3{margin:.4rem 0;font-family:var(--font-display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(1.4rem,3vw,2.2rem)}
.news p{margin:0;color:var(--muted)}
@media(max-width:800px){.news{grid-template-columns:1fr}}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr}}@media(max-width:560px){.posts{grid-template-columns:1fr}}
.post{border:1px solid var(--ghost);background:linear-gradient(135deg,var(--carbon),var(--surface));display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.post:hover{border-color:var(--acid);transform:translateY(-4px)}
.post .img{aspect-ratio:16/9;overflow:hidden}.post .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.post:hover .img img{transform:scale(1.06)}
.post .b{padding:1.2rem 1.3rem 1.5rem;display:grid;gap:.6rem}
.post h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.2rem;line-height:1.25}
.post p{margin:0;color:var(--muted);font-size:.92rem}
.article{max-width:740px}
.article h2{font-family:var(--font-display);font-size:1.5rem;margin:2.2rem 0 .6rem}
.article p,.article li{color:var(--text);font-size:1.05rem;line-height:1.75}
.article .meta{color:var(--muted)}
.article figure{margin:2rem 0}
.article figure img{width:100%}
