/* ════════════════════════════════════════════════════
   SHARED OVERLAYS — base resets, archive shell, film player
   Every modal rule is keyed on its ID so section classes
   (.intro#about etc.) can never leak into the overlays.
   ════════════════════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,video,canvas{display:block;max-width:100%}ul{list-style:none}[hidden]{display:none!important}
#copied.on{opacity:1!important}
.hero__art{position:absolute;inset:0;width:100%;height:100%;display:block}
.ama-fab,.vorb{display:none!important}
.nav__ask{font-family:var(--fm);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem}
.nav__ask::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--acid)}

/* overlay tokens */
#arcov,#pm,#intro{--grey:#6b6f7e;--faint:#c9cdd8;--oline:rgba(15,16,22,.1);--oline2:rgba(15,16,22,.2);--arcx:4.25rem}
#arcov :focus-visible,#pm :focus-visible{outline:2px solid var(--acid);outline-offset:3px;border-radius:8px}
#intro :focus-visible{outline:2px solid var(--acid2);outline-offset:3px}

/* ════ ARCHIVE SHELL ════ */
#arcov{position:fixed;inset:0;z-index:1100;background:var(--bg);color:var(--ink);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;transform:translate3d(0,102%,0);border-radius:36px 36px 0 0;visibility:hidden;transition:transform 1s var(--ease2),border-radius 1s var(--ease2),visibility 0s linear 1s}
#arcov.open{transform:none;border-radius:0;visibility:visible;transition:transform 1s var(--ease2),border-radius 1.2s var(--ease2),visibility 0s}
.arcov__x{position:sticky;top:0;z-index:40;height:var(--arcx);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 var(--pad);background:rgba(236,238,244,.82);backdrop-filter:blur(16px) saturate(0);-webkit-backdrop-filter:blur(16px) saturate(0);box-shadow:0 1px 0 var(--oline)}
.arcov__id{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);font-variant-numeric:tabular-nums}
.arcov__id i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 4px rgba(47,69,255,.14)}
.arcov__sep{color:var(--faint)}
.arcov__close{display:inline-flex;align-items:center;gap:.75rem;padding:.55rem .55rem .55rem 1.15rem;border-radius:99px;background:var(--ink);color:#fff;font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:background .4s var(--ease)}
.arcov__close b{width:1.9rem;height:1.9rem;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;transition:transform .6s var(--ease),background .4s}
.arcov__close svg,.intro__x svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.arcov__close:hover{background:var(--acid)}.arcov__close:hover b{transform:rotate(90deg);background:rgba(255,255,255,.22)}

/* ════ FILM PLAYER (#intro) ════ */
#intro{position:fixed;inset:0;z-index:1300;padding:0;margin:0;background:none;overflow:visible;visibility:hidden;pointer-events:none;display:grid;place-items:center;transition:visibility 0s linear .7s}
#intro.open{visibility:visible;pointer-events:auto;transition:visibility 0s}
#intro .intro__ov{position:absolute;inset:0;background:rgba(7,8,12,.86);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);opacity:0;transition:opacity .5s var(--ease)}
#intro.open .intro__ov{opacity:1}
#intro .intro__box{--ar:1.7778;position:relative;width:min(92vw,calc((100svh - 8.5rem) * var(--ar)));max-width:1600px;color:#fff;opacity:0;transform:translateY(28px) scale(.96);transition:transform .8s var(--ease),opacity .5s var(--ease),width .6s var(--ease)}
#intro.open .intro__box{opacity:1;transform:none}
#intro.flip .intro__box{transition:width .6s var(--ease)}
#intro .intro__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 .15rem .85rem}
#intro .lbl{font-family:var(--fm);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.78);display:inline-flex;align-items:center;gap:.6rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#intro .lbl::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:var(--acid2);box-shadow:0 0 0 4px rgba(125,139,255,.18)}
.intro__x{flex:none;display:inline-flex;align-items:center;gap:.7rem;padding:.45rem .45rem .45rem 1rem;border-radius:99px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font-size:.74rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:background .35s,color .35s}
.intro__x b{width:1.7rem;height:1.7rem;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;transition:transform .6s var(--ease)}
.intro__x:hover{background:#fff;color:var(--ink)}.intro__x:hover b{transform:rotate(90deg);background:rgba(15,16,22,.08)}
.intro__stage{position:relative;aspect-ratio:var(--ar);border-radius:22px;overflow:hidden;background:#000;box-shadow:0 60px 140px -40px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.06);transform-origin:0 0;isolation:isolate}
#introVid{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain;background:#000;border-radius:0;box-shadow:none}
.intro__stage::after{content:'';position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);pointer-events:none;transition:opacity .5s;z-index:1}
.intro__stage.idle::after{opacity:0}.intro__stage.idle{cursor:none}
.intro__big{position:absolute;left:50%;top:50%;z-index:2;width:5.4rem;height:5.4rem;margin:-2.7rem 0 0 -2.7rem;border-radius:50%;background:var(--acid);color:#fff;display:grid;place-items:center;box-shadow:0 20px 60px -10px rgba(47,69,255,.7);transform:scale(.6);opacity:0;pointer-events:none;transition:transform .6s var(--ease),opacity .35s,background .3s}
.intro__big svg{width:26px;height:26px;fill:currentColor;margin-left:3px}
.intro__stage.paused .intro__big{transform:none;opacity:1;pointer-events:auto}
.intro__big:hover{background:#fff;color:var(--acid)}
.intro__ctl{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;z-index:3;display:flex;align-items:center;gap:.35rem;padding:.3rem .45rem;border-radius:99px;background:rgba(12,13,18,.58);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.intro__stage.idle .intro__ctl{opacity:0;transform:translateY(10px);pointer-events:none}
.intro__btn{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s}
.intro__btn:hover{background:#fff;color:var(--ink)}
.intro__btn svg{width:17px;height:17px;fill:currentColor}
#introMute svg,#introFs svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#introMute .i-vol path:first-child,#introMute .i-mute path:first-child{fill:currentColor;stroke:none}
.intro__stage .i-play,.intro__stage.paused .i-pause,.intro__stage .i-mute,.intro__stage.muted .i-vol{display:none}
.intro__stage.paused .i-play,.intro__stage.muted .i-mute{display:block}
.intro__t{flex:none;font-family:var(--fm);font-size:.66rem;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.78);min-width:2.9em;text-align:center}
.intro__scrub{position:relative;flex:1;min-width:3rem;height:2.4rem;cursor:pointer;touch-action:none;border-radius:99px}
.intro__scrub::before,.intro__buf,.intro__fill{content:'';position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;transition:height .3s var(--ease),margin .3s var(--ease)}
.intro__scrub::before{right:0;background:rgba(255,255,255,.16)}
.intro__buf{width:0;background:rgba(255,255,255,.26)}
.intro__fill{width:0;background:linear-gradient(90deg,var(--acid),var(--acid2))}
.intro__knob{position:absolute;top:50%;left:0;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(125,139,255,.35);transform:scale(0);transition:transform .35s var(--ease)}
.intro__scrub:hover::before,.intro__scrub:hover .intro__buf,.intro__scrub:hover .intro__fill,.intro__scrub.drag::before,.intro__scrub.drag .intro__buf,.intro__scrub.drag .intro__fill{height:5px;margin-top:-2.5px}
.intro__scrub:hover .intro__knob,.intro__scrub.drag .intro__knob,.intro__scrub:focus-visible .intro__knob{transform:none}
@media(max-width:640px){
  #intro .intro__box{width:min(94vw,calc((100svh - 8rem) * var(--ar)))}
  .intro__stage{border-radius:16px}
  .intro__ctl{left:.45rem;right:.45rem;bottom:.45rem;gap:.1rem;padding:.2rem .3rem}
  #introFs,#introDur{display:none}
  .intro__big{width:4.4rem;height:4.4rem;margin:-2.2rem 0 0 -2.2rem}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
