/* index.css — page-specific styles */

:root{
    --raven:#070B12;--panel:#0D141F;--line:rgba(140,165,210,.14);--line-strong:rgba(140,165,210,.28);
    --text:#E6EDF7;--muted:#97A9C4;--steel:#5E8BFF;--violet:#8A63FF;--amber:#FFB35C;--red:#FF5A6E;
    --grad:linear-gradient(100deg,#5E8BFF 0%,#8A63FF 100%);--maxw:1200px;--ease:cubic-bezier(.16,1,.3,1);
  }
body{background:var(--raven);color:var(--text);font-family:'Archivo',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.loading{overflow:hidden;height:100vh}
.display{font-family:'Krona One',sans-serif;font-weight:400;letter-spacing:-.01em;line-height:1.1}
.brand-mark{height:40px;width:auto;mix-blend-mode:screen}
.load-logo{width:min(340px,72vw);height:auto;mix-blend-mode:screen;margin-bottom:30px}
.foot-logo{width:250px;height:auto;mix-blend-mode:screen;margin:-14px 0 4px -10px}
:root{--raven-full:url(assets/images/logo-full.jpg)}
.rf-logo{aspect-ratio:700/462;background:var(--raven-full) center/contain no-repeat;mix-blend-mode:screen}
.prod-logo{width:min(300px,58vw);margin-top:20px;display:block}
.plat-logo{width:min(430px,72vw);margin:0 0 4px -14px}
.alert-logo{width:210px;display:block;margin:2px auto 0}
#loader{position:fixed;inset:0;z-index:1000;background:var(--raven);display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s var(--ease),visibility .8s}
#loader.done{opacity:0;visibility:hidden;pointer-events:none}
.load-num{font-family:'Krona One',sans-serif;font-size:clamp(3rem,12vw,8rem);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.load-label{font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:18px;height:1.2em}
.load-bar{width:min(280px,60vw);height:1px;background:var(--line-strong);margin-top:28px;position:relative;overflow:hidden}
.load-bar i{position:absolute;inset:0;width:0;background:var(--grad);transition:width .15s linear}
.load-tag{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}
#mesh-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.45}
header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(7,11,18,.72);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;gap:32px;height:74px}
.nav-links{display:flex;gap:28px;margin-left:auto;font-size:.9rem;color:var(--muted)}
.nav-links a{position:relative;transition:color .2s}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line-strong);border-radius:8px;color:var(--text);padding:8px 12px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;cursor:pointer}
.scroller{scroll-snap-type:y proximity}
.chapter{min-height:100vh;display:flex;align-items:center;scroll-snap-align:start;position:relative;padding:118px 0 84px}
.chapter .wrap{position:relative;width:100%}
.ch-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:1rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#AFC7F2;margin-bottom:26px;display:flex;align-items:center;gap:16px}
.ch-eyebrow .idx{font-family:'Krona One',sans-serif;font-size:1.05rem;letter-spacing:.06em;background:linear-gradient(100deg,#85ADFF 0%,#BA92FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ch-eyebrow .rule{flex:0 0 48px;height:2px;border-radius:2px;background:linear-gradient(90deg,#5E8BFF,rgba(94,139,255,.1))}
.big{font-family:'Krona One',sans-serif;line-height:1.18;letter-spacing:-.01em;font-size:clamp(2rem,6vw,4.4rem)}
.big .ln{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}
.big .ln > span{display:block;transform:translateY(125%);transition:transform .9s var(--ease)}
.ch-body{color:var(--muted);font-size:1.05rem;max-width:48ch;margin-top:22px;opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease) .25s,transform .8s var(--ease) .25s}
.ch-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease) .4s,transform .8s var(--ease) .4s}
.chapter.in .big .ln > span{transform:translateY(0)}
.chapter.in .big .ln:nth-child(2) > span{transition-delay:.08s}
.chapter.in .ch-body,.chapter.in .ch-cta{opacity:1;transform:none}
.ch-note{margin-top:24px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--muted);letter-spacing:.06em}
.ch-note b{color:var(--amber);font-weight:500}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
#ch-hero{padding:0;align-items:flex-end;overflow:hidden;background:#04060B}
#heroPlate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;
    filter:saturate(1.05) contrast(1.05) brightness(.62);transform:scale(1.08);transition:opacity 1.4s var(--ease)}
#heroPlate.loaded{opacity:.92}
#heroPlate.kb{animation:heroKB 26s ease-in-out infinite alternate}
@keyframes heroKB{from{transform:scale(1.08) translate(0,0)}to{transform:scale(1.18) translate(-1.5%,-1%)}}
#hero3d{position:absolute;inset:0;z-index:2;display:block;mix-blend-mode:screen}
.hero-fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,6,11,.5) 0%,rgba(4,6,11,.22) 30%,rgba(4,6,11,.52) 60%,rgba(4,6,11,.97) 100%),radial-gradient(ellipse at 26% 76%,rgba(4,6,11,.66),transparent 58%),radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(4,6,11,.5) 100%)}
#cineGrade{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;background:rgba(10,16,28,0)}
.cine-vig{position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 200px 30px rgba(0,0,0,.7)}
.holo{position:absolute;inset:0;z-index:4;pointer-events:none;font-family:'IBM Plex Mono',monospace}
.holo-panel{position:absolute;border:1px solid rgba(120,200,255,.32);border-radius:10px;padding:13px 15px;
    background:linear-gradient(160deg,rgba(20,46,80,.34),rgba(8,18,38,.16));backdrop-filter:blur(7px);
    box-shadow:inset 0 0 0 1px rgba(120,200,255,.07),inset 0 18px 40px rgba(70,150,255,.06),0 10px 34px rgba(0,0,0,.45);
    color:#BCE0FF;opacity:0;transform:translateY(12px) scale(.96);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.holo.assembled .holo-panel{opacity:.96;transform:none}
.holo.assembled #pFeed{transition-delay:.15s}
.holo.assembled #pInteg{transition-delay:.3s}
.holo.assembled #pVector{transition-delay:.45s}
.holo.assembled #pNodes{transition-delay:.6s}
.holo-panel::before{content:'';position:absolute;top:8px;left:13px;right:13px;height:1px;background:linear-gradient(90deg,rgba(120,200,255,.6),transparent)}
.holo-panel .pttl{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(120,200,255,.85);margin-bottom:9px;padding-top:6px}
.holo-float{animation:hfloat 7s ease-in-out infinite alternate}
.holo-float.b{animation-duration:9s;animation-direction:alternate-reverse}
@keyframes hfloat{from{margin-top:0}to{margin-top:-7px}}
#pFeed{top:104px;left:42px;width:262px}
#pInteg{top:150px;right:42px;width:212px;text-align:center}
#pVector{top:43%;left:42px;width:236px}
#pNodes{top:47%;right:42px;width:200px}
.holo-row{display:flex;justify-content:space-between;gap:10px;font-size:.64rem;padding:4px 0;border-bottom:1px dashed rgba(120,200,255,.12)}
.holo-row:last-child{border-bottom:none}
.holo-row.bad{color:#FF8E9C}
.holo-row .v{color:#E6F4FF}
.holo-chip{font-size:.54rem;letter-spacing:.08em;padding:1px 7px;border-radius:99px;border:1px solid rgba(120,200,255,.4);white-space:nowrap}
.holo-chip.sev{color:#9ED0FF;border-color:rgba(120,200,255,.5)}
.holo-chip.prd{color:#FFB35C;border-color:rgba(255,179,92,.45)}
.integ-val{font-family:'Krona One',sans-serif;font-size:1.5rem;line-height:1;margin-top:6px}
.integ-lbl{font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(120,200,255,.7);margin-top:5px}
.spark{display:flex;align-items:flex-end;gap:3px;height:42px;margin-top:6px}
.spark i{flex:1;background:linear-gradient(0deg,rgba(94,139,255,.25),rgba(120,200,255,.85));border-radius:2px 2px 0 0;height:20%;transition:height .25s var(--ease),background .3s}
.holo.alarm .spark i{background:linear-gradient(0deg,rgba(255,90,110,.25),rgba(255,120,140,.95))}
#holoAlert{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%) scale(.92);z-index:6;
    font-family:'Krona One',sans-serif;font-size:clamp(1rem,2.4vw,1.7rem);letter-spacing:.02em;text-align:center;
    padding:14px 30px;border:1px solid rgba(120,200,255,.4);border-radius:12px;background:rgba(8,18,38,.4);backdrop-filter:blur(8px);
    color:#BCE0FF;opacity:0;transition:opacity .45s var(--ease),transform .45s var(--ease),color .4s,border-color .4s,box-shadow .4s;pointer-events:none;white-space:nowrap}
#holoAlert.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
#holoAlert.red{color:#FF6B7C;border-color:rgba(255,90,110,.6);box-shadow:0 0 50px rgba(255,60,80,.3)}
#holoAlert.eng{color:#C9B8FF;border-color:rgba(138,99,255,.65);box-shadow:0 0 60px rgba(138,99,255,.4)}
#holoAlert.safe{color:#7BE6BC;border-color:rgba(98,224,176,.55);box-shadow:0 0 50px rgba(98,224,176,.25)}
#holoAlert small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.5em;letter-spacing:.22em;color:rgba(188,224,255,.7);margin-top:7px;text-transform:uppercase}
#gesture{position:absolute;top:0;bottom:0;width:160px;left:-200px;z-index:4;pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(150,210,255,.16),rgba(200,235,255,.32),rgba(150,210,255,.16),transparent);
    transform:skewX(-14deg);filter:blur(2px)}
#gesture.swipe{animation:swipe 1.3s var(--ease)}
@keyframes swipe{0%{left:-220px;opacity:0}20%{opacity:1}100%{left:115%;opacity:0}}
#cineGrain{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:grain .5s steps(2) infinite}
@keyframes grain{0%{transform:translate(0,0)}50%{transform:translate(-2%,1%)}100%{transform:translate(1%,-2%)}}
.hud{position:absolute;inset:0;z-index:3;pointer-events:none;font-family:'IBM Plex Mono',monospace}
.hud .sweep{position:absolute;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(94,139,255,.06),transparent);animation:sweep 7s linear infinite}
@keyframes sweep{0%{transform:translateY(-130px)}100%{transform:translateY(100vh)}}
.bracket{position:absolute;width:38px;height:38px;border:1.5px solid rgba(94,139,255,.35)}
.bracket.tl{top:96px;left:26px;border-right:none;border-bottom:none}
.bracket.tr{top:96px;right:26px;border-left:none;border-bottom:none}
.bracket.bl{bottom:96px;left:26px;border-right:none;border-top:none}
.bracket.br{bottom:96px;right:26px;border-left:none;border-top:none}
.hud-tag{position:absolute;top:104px;left:42px;font-size:.6rem;letter-spacing:.28em;color:rgba(141,160,188,.7);text-transform:uppercase}
.hud-tag b{color:var(--steel);font-weight:500}
.hud-status{position:absolute;top:104px;right:42px;display:flex;align-items:center;gap:9px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;text-align:right;transition:color .3s}
.hud-status .sdot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;flex:0 0 7px}
.s-scan{color:var(--steel)}
.s-breach{color:var(--red)}
.s-engage{color:var(--violet)}
.s-secure{color:#62E0B0}
.bar{position:absolute;left:0;right:0;height:0;background:#000;z-index:5;pointer-events:none;transition:height 1.1s var(--ease)}
.bar.top{top:0}
.bar.bot{bottom:0}
.cine .bar{height:6.2vh}
#cineSub{position:absolute;left:0;right:0;bottom:15vh;z-index:6;text-align:center;pointer-events:none;
    font-family:'IBM Plex Mono',monospace;font-size:clamp(.82rem,1.5vw,1.05rem);letter-spacing:.04em;color:#E6EDF7;
    text-shadow:0 2px 18px rgba(0,0,0,.9);opacity:0;transition:opacity .8s var(--ease);padding:0 24px}
#cineSub.show{opacity:1}
#cineSub b{color:var(--violet);font-weight:500}
#cineFlash{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;
    background:radial-gradient(circle at center,rgba(255,255,255,.95),rgba(150,120,255,.55) 45%,rgba(138,99,255,0) 75%)}
.hero-content{position:relative;z-index:6;width:100%;padding-bottom:10vh;padding-top:118px;opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.hero-content.show{opacity:1;transform:none}
.hero-content .big{font-size:clamp(2rem,6.4vw,4.8rem)}
.hero-content .ch-body,.hero-content .ch-cta{opacity:1;transform:none}
.hero-content .big .ln > span{transform:translateY(125%);transition:transform 1s var(--ease)}
.hero-content.show .big .ln > span{transform:translateY(0)}
.hero-content.show .big .ln:nth-child(2) > span{transition-delay:.12s}
.hero-hint{position:absolute;bottom:8.4vh;left:50%;transform:translateX(-50%);z-index:6;font-size:.58rem;letter-spacing:.26em;color:var(--muted);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:7px;opacity:.65;font-family:'IBM Plex Mono',monospace}
.hero-hint span{width:1px;height:20px;background:linear-gradient(var(--steel),transparent);animation:hintpulse 2s var(--ease) infinite}
@keyframes hintpulse{0%,100%{opacity:.3}50%{opacity:1}}
.cine-ctrls{position:absolute;bottom:9vh;right:42px;z-index:6;display:flex;gap:10px;pointer-events:auto}
.cine-ctrls button{background:rgba(13,20,31,.6);border:1px solid var(--line-strong);color:var(--muted);
    font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
    padding:7px 12px;border-radius:8px;cursor:pointer;transition:border-color .2s,color .2s;backdrop-filter:blur(6px)}
.cine-ctrls button:hover{border-color:var(--steel);color:var(--text)}
.counters{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--line);background:linear-gradient(0deg,rgba(4,6,11,.78),transparent);z-index:6;opacity:0;transition:opacity 1s var(--ease)}
.counters.show{opacity:1}
.counters .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.counter{padding:16px 0 16px 22px;border-left:1px solid var(--line)}
.counter:first-child{border-left:none;padding-left:0}
.counter b{font-family:'Krona One',sans-serif;font-size:clamp(1.1rem,2.4vw,1.8rem);display:block}
.counter span{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#ch-deck .wrap{max-width:1420px}
.deck-stage{margin-top:34px;perspective:1500px}
.deck-scroll{position:relative;overflow:visible}
.deck-frame{position:relative;border:1px solid rgba(120,200,255,.22);border-radius:16px;overflow:hidden;
    background:#05080F;box-shadow:0 34px 100px rgba(0,0,0,.65),0 0 90px rgba(94,139,255,.14),inset 0 0 0 1px rgba(138,99,255,.08);
    transform:rotateX(9deg) scale(.97);transform-origin:center 70%;transition:transform 1.1s var(--ease)}
.reveal.in .deck-frame{transform:none}
.deck-frame img{width:100%;height:auto;display:block}
.deck-frame::after{content:'';position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(115deg,rgba(160,210,255,.10) 0%,transparent 22%,transparent 78%,rgba(138,99,255,.08) 100%)}
.deck-cap{margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;text-align:center}
.hs{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;z-index:5;cursor:pointer;pointer-events:auto;background:none;border:none;padding:0}
.hs::before{content:'';position:absolute;inset:5px;border-radius:50%;background:#7BC8FF;box-shadow:0 0 12px #7BC8FF}
.hs::after{content:'';position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(123,200,255,.7);animation:hspulse 2.2s var(--ease) infinite}
@keyframes hspulse{0%{transform:scale(.6);opacity:1}80%,100%{transform:scale(1.9);opacity:0}}
.hs-label{position:absolute;bottom:26px;left:50%;transform:translateX(-50%) translateY(6px);width:240px;
    background:rgba(8,18,38,.92);border:1px solid rgba(120,200,255,.35);border-radius:10px;padding:11px 13px;
    font-family:'IBM Plex Mono',monospace;font-size:.68rem;line-height:1.5;color:#CFE6FF;text-align:left;
    opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
    backdrop-filter:blur(8px);box-shadow:0 12px 34px rgba(0,0,0,.5);pointer-events:none}
.hs-label b{display:block;color:#7BC8FF;letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;margin-bottom:5px;font-weight:500}
.hs:hover .hs-label,.hs:focus-visible .hs-label,.hs.open .hs-label{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.hs.edge-r .hs-label{left:auto;right:-8px;transform:translateY(6px)}
.hs.edge-r:hover .hs-label,.hs.edge-r:focus-visible .hs-label,.hs.edge-r.open .hs-label{transform:translateY(0)}
.hs.edge-l .hs-label{left:-8px;transform:translateY(6px)}
.hs.edge-l:hover .hs-label,.hs.edge-l:focus-visible .hs-label,.hs.edge-l.open .hs-label{transform:translateY(0)}
.hs.low .hs-label{bottom:auto;top:26px}
.deck-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;justify-content:center}
.deck-chip{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted);border:1px solid var(--line-strong);border-radius:99px;padding:7px 14px;display:flex;align-items:center;gap:8px;
    transition:border-color .25s,color .25s}
.deck-chip:hover{border-color:#7BC8FF;color:#CFE6FF}
.deck-chip i{width:6px;height:6px;border-radius:50%;background:var(--grad);flex:0 0 6px}
.mission{position:fixed;top:88px;left:18px;z-index:80;width:238px;font-family:'IBM Plex Mono',monospace;
    background:rgba(8,16,30,.82);border:1px solid rgba(120,200,255,.28);border-radius:12px;backdrop-filter:blur(10px);
    box-shadow:0 14px 40px rgba(0,0,0,.5);overflow:hidden}
.mission-head{width:100%;display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;
    padding:11px 13px;color:#BCE0FF;font-family:inherit;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;text-align:left}
.mission-head b{font-weight:500;color:#7BC8FF}
.mission-head .mprog{margin-left:auto;color:var(--muted)}
.mission-list{list-style:none;padding:2px 13px 10px;margin:0}
.mission-list li{display:flex;gap:9px;align-items:baseline;font-size:.62rem;letter-spacing:.04em;color:var(--muted);padding:4.5px 0}
.mission-list li::before{content:'◇';color:rgba(120,200,255,.5);flex:0 0 auto}
.mission-list li.done{color:#8fe8c0}
.mission-list li.done::before{content:'◆';color:#62E0B0}
.mission-foot{padding:8px 13px 11px;font-size:.54rem;letter-spacing:.16em;color:var(--muted);border-top:1px dashed rgba(120,200,255,.15);text-transform:uppercase}
.mission.collapsed .mission-list,.mission.collapsed .mission-foot{display:none}
.loc-tag{position:fixed;bottom:18px;left:18px;z-index:80;font-family:'IBM Plex Mono',monospace;font-size:.6rem;
    letter-spacing:.22em;text-transform:uppercase;color:#BCE0FF;background:rgba(8,16,30,.82);border:1px solid rgba(120,200,255,.28);
    border-radius:99px;padding:8px 14px;backdrop-filter:blur(8px)}
.loc-tag b{color:#7BC8FF;font-weight:500}
.hud-btn{position:fixed;bottom:18px;left:0;z-index:80;margin-left:0;font-family:'IBM Plex Mono',monospace;font-size:.6rem;
    letter-spacing:.2em;text-transform:uppercase;color:#CFE6FF;background:rgba(8,16,30,.86);border:1px solid rgba(120,200,255,.4);
    border-radius:99px;padding:9px 16px;cursor:pointer;backdrop-filter:blur(8px);transition:border-color .2s,color .2s,box-shadow .2s}
.hud-btn:hover{border-color:#7BC8FF;box-shadow:0 0 22px rgba(123,200,255,.25)}
#mapBtn{left:auto;right:18px}
#mapOverlay{position:fixed;inset:0;z-index:200;background:rgba(4,8,16,.9);backdrop-filter:blur(12px);
    display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px 30px;
    opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
#mapOverlay.open{opacity:1;visibility:visible}
.map-title{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.3em;color:#7BC8FF;text-transform:uppercase;margin-bottom:6px}
.map-sub{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:16px}
#mapSvg{width:min(940px,94vw);height:auto;max-height:70vh}
.st-link{cursor:pointer}
.st-link circle.ring{fill:rgba(10,22,42,.85);stroke:rgba(120,200,255,.45);stroke-width:1.5;transition:stroke .2s,fill .2s}
.st-link.visited circle.ring{stroke:#62E0B0}
.st-link.current circle.ring{stroke:#7BC8FF;fill:rgba(30,70,120,.8)}
.st-link:hover circle.ring{stroke:#fff}
.st-link circle.pulse{fill:none;stroke:rgba(123,200,255,.6);stroke-width:1.2;opacity:0}
.st-link.current circle.pulse{animation:stpulse 2s var(--ease) infinite}
@keyframes stpulse{0%{opacity:.9;r:22}100%{opacity:0;r:40}}
.st-link text{fill:#CFE6FF;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-anchor:middle;text-transform:uppercase}
.st-link text.code{fill:#7BC8FF;font-size:10px}
.st-link.visited text.tick{fill:#62E0B0}
.map-corr{stroke:rgba(120,200,255,.18);stroke-width:1.2;stroke-dasharray:4 5}
#warp{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:0;
    background:radial-gradient(circle at 50% 50%,rgba(190,230,255,.9),rgba(94,139,255,.45) 30%,rgba(7,11,18,.9) 72%)}
#warp.on{animation:warpfx .72s var(--ease)}
@keyframes warpfx{0%{opacity:0;transform:scale(1)}35%{opacity:1;transform:scale(1.06)}100%{opacity:0;transform:scale(1)}}
#clearModal{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:24px;
    background:rgba(4,8,16,.88);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
#clearModal.open{opacity:1;visibility:visible}
.clear-card{max-width:520px;width:100%;text-align:center;border:1px solid rgba(98,224,176,.5);border-radius:16px;
    background:radial-gradient(ellipse at 50% 0%,rgba(98,224,176,.12),transparent 60%),rgba(8,18,34,.95);
    padding:44px 36px;box-shadow:0 0 90px rgba(98,224,176,.18)}
.clear-card .display{font-size:1.4rem;color:#7BE6BC;margin-bottom:10px}
.clear-card p{color:var(--muted);font-size:.95rem;margin-bottom:22px}
.clear-card .mono{display:block;margin-top:16px;font-size:.6rem;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}
.clear-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer}
.clear-wrap{position:relative}
#enterBtn{margin-top:30px;font-family:'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}
.chapter-media{padding:0;align-items:flex-end;min-height:100vh;overflow:hidden}
.ch-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1.2s var(--ease)}
.ch-bg.loaded{opacity:.42}
.ch-bg.kb{animation:kenburns 22s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.ch-bg-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,11,18,.62) 0%,rgba(7,11,18,.52) 45%,rgba(7,11,18,.94) 100%)}
.chapter-media .wrap{z-index:2;padding-bottom:84px;padding-top:118px}
.frame::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(138,99,255,.12);border-radius:16px;pointer-events:none}
.frame img{width:100%;height:auto;display:block}
.frame .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(0deg,rgba(7,11,18,.92),transparent);font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:34px}
.principles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:30px}
.principle{border:1px solid var(--line);border-radius:14px;padding:22px 16px;background:rgba(13,20,31,.72);backdrop-filter:blur(6px);text-align:center;transition:border-color .25s,transform .25s var(--ease)}
.principle:hover{border-color:rgba(138,99,255,.5);transform:translateY(-3px)}
.principle .pic{width:46px;height:46px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(94,139,255,.1);border:1px solid rgba(94,139,255,.3)}
.principle h3{font-size:.88rem;font-weight:600;line-height:1.3}
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.cap{border:1px solid var(--line);border-radius:14px;padding:24px 22px;background:rgba(13,20,31,.78);backdrop-filter:blur(8px);transition:border-color .25s,transform .25s var(--ease)}
.cap:hover{border-color:var(--steel);transform:translateY(-3px)}
.cap .pic{width:42px;height:42px;border-radius:11px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;background:rgba(94,139,255,.12);border:1px solid rgba(94,139,255,.32)}
.cap h3{font-size:1rem;font-weight:600;margin-bottom:6px}
.cap-tag{margin-top:13px;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;color:var(--steel);text-transform:uppercase}
.pathwrap{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;margin-top:30px}
.feed{border:1px solid var(--line);border-radius:14px;background:rgba(13,20,31,.85);backdrop-filter:blur(8px);overflow:hidden}
.feed-head{display:flex;align-items:center;gap:10px;padding:13px 17px;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.sim-chip{margin-left:auto;border:1px solid var(--line-strong);border-radius:99px;padding:2px 10px;font-size:.6rem}
.feed-item{display:flex;gap:12px;align-items:baseline;padding:13px 17px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;border-bottom:1px dashed rgba(140,165,210,.1);animation:slidein .4s var(--ease)}
.feed-item:last-child{border-bottom:none}
@keyframes slidein{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.feed-id{color:var(--muted)}
.feed-vec{color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{padding:1px 9px;border-radius:99px;font-size:.58rem;letter-spacing:.1em;white-space:nowrap}
.chip-predicted{color:var(--amber);border:1px solid rgba(255,179,92,.45)}
.chip-severed{color:var(--steel);border:1px solid rgba(94,139,255,.45)}
.market-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;margin-top:30px}
.mstats{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.mstat{padding:22px 0;border-bottom:1px solid var(--line);padding-right:18px}
.mstat:nth-child(odd){border-right:1px solid var(--line);padding-left:0}
.mstat:nth-child(even){padding-left:22px}
.mstat b{font-family:'Krona One',sans-serif;font-size:clamp(1.6rem,3.2vw,2.5rem);display:block;line-height:1.05;white-space:nowrap;background:linear-gradient(100deg,#85ADFF 0%,#BA92FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mstat span{font-family:'IBM Plex Mono',monospace;font-size:.92rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#C6D5EB;margin-top:11px;display:block;line-height:1.4}
.chart{border:1px solid var(--line);border-radius:14px;background:rgba(13,20,31,.78);backdrop-filter:blur(6px);padding:24px 22px 16px}
.chart-cap{font-family:'IBM Plex Mono',monospace;font-size:.86rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#B9CBE6;margin-bottom:14px}
.cbar{transform:scaleY(0);transform-origin:bottom;transform-box:fill-box;transition:transform .9s var(--ease)}
.chart.in .cbar{transform:scaleY(1)}
.chart.in .cbar:nth-of-type(2){transition-delay:.1s}
.chart.in .cbar:nth-of-type(3){transition-delay:.2s}
.chart.in .cbar:nth-of-type(4){transition-delay:.3s}
.chart.in .cbar:nth-of-type(5){transition-delay:.4s}
.founders{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:26px}
.fcard{border:1px solid var(--line);border-radius:14px;background:rgba(13,20,31,.78);backdrop-filter:blur(8px);
    padding:22px 18px;text-align:center;transition:border-color .25s,transform .25s var(--ease)}
.fcard:hover{border-color:rgba(123,200,255,.5);transform:translateY(-3px)}
.favatar{width:86px;height:86px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(140deg,rgba(94,139,255,.25),rgba(138,99,255,.25));border:1px solid rgba(123,200,255,.4);
    font-family:'Krona One',sans-serif;font-size:1.1rem;color:#BCE0FF;overflow:hidden}
.favatar img{width:100%;height:100%;object-fit:cover}
.fcard h3{font-size:.95rem;font-weight:600;margin-bottom:3px}
.frole{font-family:'IBM Plex Mono',monospace;font-size:.84rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#9DBBFF;margin-bottom:10px}
.fbio{color:var(--muted);font-size:.82rem;line-height:1.5}
.flink{display:inline-block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.12em;
    color:#EAF2FF;background:rgba(94,139,255,.16);border:1px solid rgba(123,200,255,.5);border-radius:99px;padding:7px 16px;transition:all .2s}
.flink:hover{color:#0B1220;background:var(--grad);border-color:transparent}
.team-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;margin-top:30px}
footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:52px 0 40px;background:rgba(7,11,18,.6)}
.foot-links{display:flex;gap:24px;font-size:.88rem;color:var(--muted);flex-wrap:wrap}
.copyright{margin-top:32px;font-family:'IBM Plex Mono',monospace;font-size:.66rem;color:var(--muted);letter-spacing:.08em}
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--grad);z-index:70}
.dots{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:55;display:flex;flex-direction:column;gap:14px}
.dots a{width:9px;height:9px;border-radius:50%;border:1px solid var(--line-strong);transition:background .25s,border-color .25s,transform .25s}
.dots a.active{background:var(--steel);border-color:var(--steel);transform:scale(1.3)}
.dots a:hover{border-color:var(--steel)}
@media (max-width:920px){
    .nav-links{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:var(--raven);border-bottom:1px solid var(--line);padding:18px 32px;gap:16px}
    .nav-links.open{display:flex}.menu-toggle{display:block}.nav .btn{display:none}
    .media-grid,.pathwrap,.market-grid,.team-grid{grid-template-columns:1fr}
    .caps{grid-template-columns:1fr}.principles{grid-template-columns:repeat(2,1fr)}
    .counters .wrap{grid-template-columns:1fr 1fr;gap:0 22px}
    .counter:nth-child(3){border-left:none;padding-left:0}.counter:nth-child(n+3){border-top:1px solid var(--line)}
    .dots{display:none}
    .chapter{padding:104px 0 64px;min-height:auto}
    #ch-hero{min-height:100vh}.chapter-media{min-height:auto}
    .bracket.bl,.bracket.br{bottom:120px}
    .cine-ctrls{bottom:13vh;right:24px}
    #cineSub{bottom:19vh}
    #pFeed,#pInteg,#pVector,#pNodes{display:none}
    .deck-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}
    .deck-frame{min-width:1080px;transform:none}
    .hs-label{width:200px}
    #holoAlert{top:26%;font-size:1rem;white-space:normal;max-width:80vw}
    .founders{grid-template-columns:1fr 1fr}
    .mission{width:206px;top:82px;left:12px}
    .loc-tag{display:none}
    #mapBtn{right:12px;bottom:14px}
  }
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}.scroller{scroll-snap-type:none}
    .big .ln > span,.hero-content .big .ln > span{transform:none!important;transition:none}
    .ch-body,.ch-cta,.counters,.reveal,.hero-content{opacity:1!important;transform:none!important;transition:none}
    .cbar{transform:scaleY(1)!important;transition:none}
    .dot,.feed-item,.ch-bg.kb,.hud .sweep,.hero-hint span,#cineGrain{animation:none}
    .ch-bg{opacity:.42}#loader{display:none}.cine .bar{height:0}
    #heroPlate{opacity:.9;transform:none}#heroPlate.kb{animation:none}
    .holo-panel{opacity:.96;transform:none}#gesture{display:none}
    .deck-frame{transform:none!important}.hs::after{animation:none}
    #warp.on{animation:none}
    .st-link.current circle.pulse{animation:none}
    *{transition:none!important}
  }
.accent{background:linear-gradient(100deg,#85ADFF 0%,#BA92FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
    filter:drop-shadow(0 2px 12px rgba(4,8,16,.85)) drop-shadow(0 0 2px rgba(4,8,16,.5))}
.big .ln>span:not(.accent){text-shadow:0 2px 22px rgba(4,8,16,.8),0 1px 3px rgba(4,8,16,.55)}
#ch-hero .ch-eyebrow,.chapter-media .ch-eyebrow{color:#C4D6F7;text-shadow:0 1px 10px rgba(4,8,16,.9)}
#ch-hero .ch-body,.chapter-media .ch-body{color:#C9D6EA;text-shadow:0 1px 14px rgba(4,8,16,.85)}
#ch-hero .btn-ghost,.chapter-media .btn-ghost{background:rgba(7,11,18,.45);backdrop-filter:blur(4px)}
.counters .clab{color:#A9BAD2}
.cap{color:#B7C6DC}
.deck-frame{overflow:visible!important}
.deck-frame img{border-radius:16px}
.deck-frame::after{border-radius:16px}
.hs-label{z-index:40}
.hs.open{z-index:41}
.hs.low .hs-label{bottom:auto!important;top:28px!important}
.hs.edge-r .hs-label{left:auto!important;right:0!important}
.hs.edge-l .hs-label{left:0!important;right:auto!important}
.deck-frame{overflow:visible}
#eaModal{position:fixed;inset:0;z-index:400;background:rgba(4,8,16,.9);backdrop-filter:blur(10px);
    display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;
    opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
#eaModal.open{opacity:1;visibility:visible}
.ea-card{position:relative;width:100%;max-width:660px;border:1px solid rgba(123,200,255,.35);border-radius:18px;
    background:linear-gradient(180deg,rgba(16,26,44,.98),rgba(9,15,26,.98));padding:34px 34px 30px;
    box-shadow:0 40px 110px rgba(0,0,0,.7);margin:auto}
.ea-close{position:absolute;top:16px;right:18px;background:rgba(13,20,31,.9);border:1px solid rgba(123,200,255,.45);
    color:#EAF2FF;border-radius:99px;padding:7px 15px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;
    letter-spacing:.12em;cursor:pointer;transition:all .2s}
.ea-close:hover{background:rgba(94,139,255,.3)}
.ea-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.84rem;font-weight:500;letter-spacing:.2em;
    text-transform:uppercase;color:#AFC7F2;margin-bottom:10px}
.ea-card h2{font-family:'Krona One',sans-serif;font-size:1.5rem;line-height:1.2;margin-bottom:10px}
.ea-intro{color:#C3D3EA;font-size:1rem;line-height:1.55;margin-bottom:24px}
.ea-field{margin-bottom:18px}
.ea-field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:500;
    letter-spacing:.1em;text-transform:uppercase;color:#B9CBE6;margin-bottom:7px}
.ea-field label .req{color:#FFB35C}
.ea-field input[type=text],.ea-field input[type=email],.ea-field input[type=tel],.ea-field select,.ea-field textarea{
    width:100%;background:rgba(7,11,18,.85);border:1px solid rgba(140,165,210,.32);border-radius:10px;
    padding:12px 14px;color:#EDF3FF;font-family:'Archivo',sans-serif;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.ea-field input:focus,.ea-field select:focus,.ea-field textarea:focus{outline:none;border-color:#7BC8FF;
    box-shadow:0 0 0 3px rgba(94,139,255,.18)}
.ea-field input::placeholder,.ea-field textarea::placeholder{color:#7089A8}
.ea-field select option{background:#0D141F;color:#EDF3FF}
.ea-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ea-hint{font-size:.86rem;color:#9DB0CC;margin-top:6px}
.ea-vendors{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px;margin-top:4px;
    max-height:230px;overflow-y:auto;padding:14px;border:1px solid rgba(140,165,210,.28);border-radius:12px;
    background:rgba(7,11,18,.6)}
.ea-check{display:flex;align-items:center;gap:9px;font-size:.95rem;color:#D6E3F5;cursor:pointer;
    padding:6px 8px;border-radius:8px;transition:background .15s}
.ea-check:hover{background:rgba(94,139,255,.14)}
.ea-check input{width:17px;height:17px;accent-color:#5E8BFF;cursor:pointer;flex:0 0 17px}
.ea-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}
.ea-err{color:#FFB35C;font-size:.9rem;margin-top:12px;display:none}
.ea-err.show{display:block}
.ea-note{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:#9DB0CC;letter-spacing:.06em;margin-top:16px;line-height:1.6}
@media (max-width:620px){.ea-row{grid-template-columns:1fr}.ea-card{padding:28px 20px 24px}}
