/* ============================================================
   M5 SOVEREIGN SHELL — Sovereign Film
   Cinematic, audio-driven motion system
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#04070F; --void:#020305; --ink:#060B16;
  --cyan:#56ECFF; --blue:#4C8BFF; --purple:#C46BFF; --pink:#FF5FCB;
  --gold:#FFD86B; --lime:#C8FB6A; --ember:#FF8B5E; --teal:#3FE7C2;
  --t1:#F4F7FF; --t2:rgba(244,247,255,.66); --t3:rgba(244,247,255,.40); --t4:rgba(244,247,255,.20);
  --line:rgba(255,255,255,.10); --line2:rgba(255,255,255,.18);
  --serif:'EB Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --accent:var(--cyan);
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

html,body{height:100%;background:#000;color:var(--t1);font-family:var(--sans);overflow:hidden}

/* ---------- Stage / scaling ---------- */
#stage{position:fixed;inset:0;display:grid;place-items:center;background:
  radial-gradient(120% 90% at 50% -10%, #0a1326 0%, #050810 50%, #000 100%);}
#canvas{position:relative;width:1920px;height:1080px;transform-origin:center center;
  background:var(--void);overflow:hidden;box-shadow:0 60px 180px rgba(0,0,0,.7);}

/* ---------- Scene base ---------- */
.scene{position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .9s var(--ease), visibility .9s, transform 1.4s var(--ease);
  transform:scale(1.012);}
.scene.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:2;}
.scene.is-prev{z-index:1;}

/* full-bleed cinematic background */
.bg{position:absolute;inset:0;overflow:hidden;z-index:0;}
.bg .frame{position:absolute;inset:-4%;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.3s ease;
  transform:scale(1.06);}
.bg .frame.show{opacity:1;}
.scene.is-active .bg .frame.show{animation:kenburns 22s ease-in-out forwards;}
@keyframes kenburns{
  0%{transform:scale(1.06) translate3d(-1%, .6%, 0);}
  100%{transform:scale(1.18) translate3d(1.4%, -1.4%, 0);}
}
/* scrims for legibility */
.bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(105deg, rgba(3,6,14,.94) 0%, rgba(3,6,14,.74) 34%, rgba(3,6,14,.30) 64%, rgba(3,6,14,.62) 100%),
    radial-gradient(120% 120% at 50% 120%, rgba(2,4,10,.85), transparent 60%);}
.scene[data-scrim="center"] .bg::after{
  background:radial-gradient(120% 90% at 50% 46%, rgba(3,6,14,.35), rgba(2,4,10,.9) 80%),
    linear-gradient(0deg, rgba(2,4,10,.7), rgba(2,4,10,.2) 40%);}
.scene[data-scrim="bottom"] .bg::after{
  background:linear-gradient(0deg, rgba(2,4,10,.95) 8%, rgba(2,4,10,.5) 42%, rgba(2,4,10,.2) 100%);}
.scene[data-scrim="dim"] .bg::after{background:rgba(3,6,13,.86);}

/* subtle engineering grid + vignette overlay shared */
#canvas::after{content:"";position:absolute;inset:0;z-index:50;pointer-events:none;
  box-shadow:inset 0 0 220px rgba(0,0,0,.6);
  background-image:linear-gradient(rgba(86,236,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(86,236,255,.022) 1px,transparent 1px);
  background-size:88px 88px;opacity:.5;}

/* film grain */
#grain{display:none;}

/* ---------- Certificate of Title overlay (timed, top-right) ---------- */
.cert-ov{position:absolute;top:84px;right:84px;width:560px;z-index:30;
  opacity:0;transform:scale(.96);pointer-events:none;transform-origin:top right;
  transition:opacity 1.1s var(--ease-out),transform .6s var(--ease-out),
    top .6s var(--ease-out),right .6s var(--ease-out),left .6s var(--ease-out),width .6s var(--ease-out);}
.cert-ov.show{opacity:1;transform:scale(1);}
/* "trust": boxes + header dissolve away first... */
.scene.cert-clear .content{opacity:0;pointer-events:none;transition:opacity .85s var(--ease);}
/* ...then the certificate glides to center and becomes the screen (~3:21) */
.scene.cert-hero .cert-ov{top:50%;right:auto;left:50%;width:760px;
  transform:translate(-50%,-50%) scale(1.04);transform-origin:center;}
.cov-card{position:relative;border-radius:18px;overflow:hidden;padding:26px 28px 22px;
  background:radial-gradient(ellipse 70% 50% at 50% -8%,rgba(255,216,107,.10),transparent 60%),
    linear-gradient(180deg,#0E1526,#0B1120);
  border:1px solid color-mix(in oklab,var(--gold) 30%,var(--line2));
  box-shadow:0 0 0 1px rgba(255,216,107,.08),0 50px 110px -40px rgba(0,0,0,.85),
    0 30px 70px -50px rgba(255,216,107,.4);backdrop-filter:blur(8px);}
.cov-edge{position:absolute;inset:11px;border:1px solid color-mix(in oklab,var(--gold) 22%,transparent);
  border-radius:12px;pointer-events:none;}
.cov-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding-bottom:16px;border-bottom:1px solid var(--line);}
.cov-seal{display:flex;align-items:center;gap:13px;}
.cov-mark{width:46px;height:46px;flex:none;border-radius:50%;border:1.5px solid var(--gold);
  display:grid;place-items:center;font-family:var(--sans);font-weight:900;font-size:17px;letter-spacing:-.02em;
  background:radial-gradient(circle at 50% 38%,rgba(255,216,107,.24),transparent 70%);}
.cov-mark sup{font-size:.5em;color:var(--cyan);}
.cov-kind{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.cov-canon{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--t3);margin-top:5px;}
.cov-status{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);
  border:1px solid color-mix(in oklab,var(--teal) 42%,transparent);border-radius:999px;padding:7px 12px;
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:rgba(63,231,194,.06);}
.cov-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 9px var(--teal);}
.cov-work{padding:16px 0;border-bottom:1px solid var(--line);}
.cov-eye{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);}
.cov-wt{font-family:var(--serif);font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.02;margin-top:9px;color:var(--t1);}
.cov-wt em{font-style:italic;font-weight:600;color:var(--gold);font-size:.62em;display:block;margin-top:6px;}
.cov-serial{font-family:var(--mono);font-size:13px;color:var(--gold);letter-spacing:.03em;margin-top:11px;}
.cov-bom{padding:15px 0 6px;}
.cov-cap{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px;}
.cov-bline{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.cov-bline .bk{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);}
.cov-bline .bv{font-family:var(--mono);font-size:14px;color:var(--t1);letter-spacing:.01em;}
.cov-owner{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:11px;overflow:hidden;margin-top:16px;}
.cov-ocell{background:#0B1120;padding:13px 15px;}
.cov-ocell.holder{background:linear-gradient(135deg,rgba(255,216,107,.10),#0B1120);}
.cov-ocell .ok{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.cov-ocell .ov{font-family:var(--sans);font-size:17px;font-weight:800;letter-spacing:-.01em;margin-top:6px;color:var(--t1);}
.cov-ocell .ov.gold{color:var(--gold);}
.cov-ocell.holder .ov{color:var(--gold);}
.cov-ocell .orole{font-family:var(--mono);font-size:11px;color:var(--t2);margin-top:5px;letter-spacing:.01em;}
.cov-chain{display:flex;align-items:center;gap:10px;margin-top:15px;font-family:var(--mono);font-size:12px;
  letter-spacing:.04em;color:var(--cyan);}
.cov-chain .cdot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan);flex:none;}

.cov-status.patented{color:var(--gold);border-color:color-mix(in oklab,var(--gold) 50%,transparent);background:rgba(255,216,107,.08);}
.cov-status.patented::before{background:var(--gold);box-shadow:0 0 9px var(--gold);}

/* ---- Transaction SKU / Title Tag (patented stack) ---- */
.sku-ov{width:600px;}
.scene.cert-hero .sku-ov{top:50%;right:auto;left:50%;width:1180px;
  transform:translate(-50%,-50%) scale(1);transform-origin:center;}
.sku-card{padding:32px 40px 28px;}
.sku-body{display:grid;grid-template-columns:1.35fr .8fr;gap:42px;padding:20px 0 6px;align-items:start;}
.sku-left{border-right:1px solid var(--line);padding-right:42px;}
.sku-name{font-family:var(--serif);font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.0;margin:10px 0 18px;color:var(--t1);}
.sku-name em{font-style:italic;font-weight:600;color:var(--gold);font-size:.56em;display:block;margin-top:7px;}
.sku-tag{display:flex;flex-direction:column;gap:2px;}
.skt-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.skt-k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);white-space:nowrap;}
.skt-v{font-family:var(--mono);font-size:15px;color:var(--t1);letter-spacing:.01em;white-space:nowrap;}
.skt-v.gold{color:var(--gold);}.skt-v.cyan{color:var(--cyan);}.skt-v.teal{color:var(--teal);}
.sku-right{display:flex;flex-direction:column;gap:16px;align-items:stretch;}
.sku-qrwrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border-radius:13px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--line2);}
.sku-qr{width:148px;height:148px;}
.sku-qr rect{fill:#EAF2FF;}
.sku-qcap{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--t2);text-align:center;}
.sku-owner{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border-radius:11px;
  background:linear-gradient(135deg,rgba(255,216,107,.10),#0B1120);border:1px solid var(--line2);}
.sko-k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.sko-v{font-family:var(--sans);font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--gold);}
.sko-r{font-family:var(--mono);font-size:11px;color:var(--t2);letter-spacing:.01em;}
.sku-chain{margin-top:14px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.skch-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);display:block;margin-bottom:11px;}
.skch-flow{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;}
.skc-step{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:13px;color:var(--t1);white-space:nowrap;
  padding:6px 13px;border-radius:999px;border:1px solid color-mix(in oklab,var(--gold) 28%,var(--line2));background:rgba(255,216,107,.05);}
.skc-i{font-size:10px;color:var(--gold);letter-spacing:.04em;}
.skc-arr{color:var(--t3);font-family:var(--mono);font-size:13px;}
.sku-patent{display:flex;gap:18px;margin-top:16px;padding:18px 20px;border-radius:14px;
  background:radial-gradient(120% 100% at 0% 0%,rgba(255,216,107,.12),transparent 60%),linear-gradient(180deg,#121A2E,#0C1322);
  border:1px solid color-mix(in oklab,var(--gold) 34%,var(--line2));}
.skp-mark{flex:none;width:50px;height:50px;border-radius:11px;display:grid;place-items:center;
  font-family:var(--mono);font-weight:800;font-size:14px;letter-spacing:.08em;color:#0A0E18;
  background:linear-gradient(180deg,#FFE08A,var(--gold));box-shadow:0 8px 24px -8px rgba(255,216,107,.6);}
.skp-h{font-family:var(--sans);font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--t1);}
.skp-p{font-family:var(--serif);font-size:15px;line-height:1.45;color:var(--t2);margin-top:6px;max-width:62ch;}
.skp-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;}
.skp-layer{padding:11px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--line2);}
.skl-k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.skl-v{display:block;font-family:var(--mono);font-size:12.5px;color:var(--t1);margin-top:5px;letter-spacing:.01em;}
.skp-foot{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--cyan);margin-top:13px;}

/* ---------- Global Open Campus · credentialed M5 Node careers ---------- */
.scene.feat-clear .content{opacity:0;transform:scale(.985);pointer-events:none;
  transition:opacity .8s var(--ease),transform .9s var(--ease);}
.scene.feat-clear > .scene-tag{opacity:.5;}
.campus-feat{position:absolute;inset:0;z-index:20;display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity .85s var(--ease);}
.campus-feat.show{opacity:1;}
.cf-inner{width:1620px;max-width:90%;display:flex;flex-direction:column;gap:20px;}
.cf-head{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;
  padding-bottom:26px;border-bottom:1px solid var(--line);}
.cf-eye{display:flex;align-items:center;gap:13px;font-family:var(--mono);font-size:14px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);}
.cf-seal{width:36px;height:36px;flex:none;border-radius:50%;border:1.5px solid var(--gold);
  display:grid;place-items:center;font-family:var(--sans);font-weight:900;font-size:13px;letter-spacing:-.02em;color:var(--gold);
  background:radial-gradient(circle at 50% 38%,rgba(255,216,107,.22),transparent 70%);}
.cf-seal sup{font-size:.5em;color:var(--cyan);}
.cf-title{font-family:var(--serif);font-size:54px;font-weight:800;letter-spacing:-.025em;line-height:1.0;margin-top:14px;color:var(--t1);}
.cf-title em{font-style:italic;font-weight:500;color:var(--gold);}
.cf-sub{font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--t2);margin-top:13px;max-width:80ch;text-wrap:pretty;}
.cf-count{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.cf-cnum{font-family:var(--serif);font-size:66px;font-weight:800;line-height:.9;color:var(--gold);letter-spacing:-.03em;}
.cf-clbl{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);line-height:1.6;}
.cf-cats{display:flex;gap:9px;flex-wrap:wrap;margin-top:-6px;}
.cf-chip{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);white-space:nowrap;
  padding:9px 15px;border-radius:999px;border:1px solid var(--line2);}
.cf-chip.on{color:#06100f;background:var(--cyan);border-color:var(--cyan);font-weight:600;}

/* the catalogue — new credentialed roles roll in, same row format as the work cards */
.cf-catalogue{overflow:hidden;}
.cf-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;}
.cf-row{display:flex;align-items:center;gap:18px;padding:14px 20px;border:1px solid var(--line);border-radius:14px;
  background:rgba(8,13,26,.5);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(26px);}
.campus-feat.show .cf-row{animation:cfRoll .6s var(--ease-out) forwards;animation-delay:calc(.2s + var(--d));}
@keyframes cfRoll{to{opacity:1;transform:none;}}
.cf-tag{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;min-width:46px;text-align:center;
  padding:7px 0;border-radius:8px;flex:none;}
.cf-tag.g{color:var(--gold);background:rgba(255,216,107,.10);border:1px solid color-mix(in oklab,var(--gold) 30%,transparent);}
.cf-tag.c{color:var(--cyan);background:rgba(86,236,255,.10);border:1px solid color-mix(in oklab,var(--cyan) 30%,transparent);}
.cf-tag.t{color:var(--teal);background:rgba(63,231,194,.10);border:1px solid color-mix(in oklab,var(--teal) 30%,transparent);}
.cf-rmain{flex:1;min-width:0;}
.cf-rmain h3{font-family:var(--serif);font-size:23px;font-weight:700;line-height:1.04;letter-spacing:-.01em;color:var(--t1);}
.cf-rsub{font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--t2);margin-top:5px;}
.cf-rcert{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--teal);flex:none;white-space:nowrap;}
.cf-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal);flex:none;}
.cf-foot{display:flex;justify-content:center;font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);}

/* ---------- Full-bleed background video (running compute chips) ---------- */
.bg-video{position:absolute;inset:0;z-index:0;overflow:hidden;}
.bg-video video{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;
  filter:saturate(.92) contrast(1.05) brightness(.72);transform:scale(1.03);}
.scene.is-active .bg-video video{animation:kenburns 26s ease-in-out forwards;}
.bg-video .bgv-scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(3,6,14,.74),rgba(3,6,14,.40) 38%,rgba(3,6,14,.66) 100%),
  radial-gradient(120% 100% at 50% 0%,transparent 28%,rgba(2,4,10,.55) 100%);}

/* ---------- Masked video layer (3D-printed shell) ---------- */
.scene-video{position:absolute;inset:0;z-index:0;overflow:hidden;}
.scene-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.82) contrast(1.1) brightness(.66);
  transform:scale(1.04);
  -webkit-mask:radial-gradient(56% 74% at 50% 50%,#000 36%,rgba(0,0,0,.45) 62%,transparent 82%);
          mask:radial-gradient(56% 74% at 50% 50%,#000 36%,rgba(0,0,0,.45) 62%,transparent 82%);}
.scene.is-active .scene-video video{animation:printPush 24s ease-out forwards;}
@keyframes printPush{0%{transform:scale(1.12)}100%{transform:scale(1.0)}}
.scene-video .sv-scrim{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(66% 80% at 50% 50%,transparent 26%,rgba(3,6,13,.5) 66%,rgba(3,6,13,.93) 100%),
  linear-gradient(180deg,rgba(3,6,13,.55),transparent 26%,transparent 58%,rgba(3,6,13,.78));}

/* ---------- Content layer ---------- */
.content{position:absolute;inset:0;z-index:10;padding:110px 130px;display:flex;flex-direction:column;}
.content.center{justify-content:center;}
.content.bottom{justify-content:flex-end;padding-bottom:140px;}

/* ---------- Typography ---------- */
.eyebrow{font-family:var(--mono);font-size:22px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--accent);font-weight:500;display:inline-flex;align-items:center;gap:20px;}
.eyebrow::before{content:"";width:54px;height:1px;background:currentColor;opacity:.7;}
.kicker{font-family:var(--mono);font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);}

h1,h2,h3{font-family:var(--serif);font-weight:800;letter-spacing:-.018em;line-height:.98;text-wrap:balance;}
.display{font-size:118px;line-height:.92;}
.headline{font-size:96px;}
.subhead{font-size:66px;}
em{font-style:italic;font-weight:600;color:var(--accent);}
.lead{font-family:var(--serif);font-size:34px;line-height:1.36;color:var(--t2);max-width:24ch;}
.lead b{color:var(--t1);font-style:italic;font-weight:600;}

/* ---------- Reveal primitives (gated on .is-active) ---------- */
.r{opacity:0;transform:translateY(38px);
  transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out);}
.scene.is-active .r{opacity:1;transform:none;}
.r-blur{opacity:0;filter:blur(14px);transform:translateY(24px) scale(1.02);
  transition:opacity 1s ease, filter 1.1s ease, transform 1.2s var(--ease-out);}
.scene.is-active .r-blur{opacity:1;filter:blur(0);transform:none;}
/* stagger */
.scene.is-active .d1{transition-delay:.12s}
.scene.is-active .d2{transition-delay:.26s}
.scene.is-active .d3{transition-delay:.42s}
.scene.is-active .d4{transition-delay:.58s}
.scene.is-active .d5{transition-delay:.74s}

/* clip-reveal for big titles */
.clip{display:block;overflow:hidden;}
.clip>span{display:block;transform:translateY(108%);transition:transform 1.1s var(--ease-out);}
.scene.is-active .clip>span{transform:none;}
.scene.is-active .clip.cd2>span{transition-delay:.14s}
.scene.is-active .clip.cd3>span{transition-delay:.28s}

/* ---------- Beat lighting (engine toggles .lit) ---------- */
[data-beat]{transition:opacity .7s var(--ease), transform .8s var(--ease),
  border-color .7s ease, background-color .7s ease, box-shadow .7s ease, color .7s ease, filter .7s ease;}

/* ============================================================
   SCENE COMPONENTS
   ============================================================ */

/* ----- Cover ----- */
.cover-wrap{display:grid;grid-template-columns:1.02fr .98fr;height:100%;align-items:center;gap:60px;}
.cover-left{position:relative;z-index:3;}
.cover-left .display{margin-top:22px;}
.cover-left .sub{font-family:var(--serif);font-size:27px;color:var(--t2);margin-top:24px;max-width:24ch;line-height:1.34;}
.cover-left .sub b{color:var(--t1);font-style:italic;font-weight:600;}
.cover-meta{display:flex;gap:56px;margin-top:32px;}
.cover-meta .k{font-family:var(--mono);font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);}
.cover-meta .v{font-family:var(--serif);font-size:26px;margin-top:6px;}
.cover-meta .v small{display:block;font-family:var(--mono);font-size:18px;color:var(--accent);letter-spacing:.03em;margin-top:4px;}

.cover-stage{position:relative;display:grid;place-items:center;}
.world{position:relative;width:640px;height:640px;border-radius:30px;overflow:hidden;
  container-type:inline-size;
  border:1px solid rgba(86,236,255,.34);background:#04070f;cursor:pointer;
  box-shadow:0 50px 120px rgba(0,0,0,.6), 0 0 60px rgba(86,236,255,.10);
  transform:perspective(1400px) rotateY(-5deg);
  animation:float 8s ease-in-out infinite alternate;}
@keyframes float{from{transform:perspective(1400px) rotateY(-5deg) translateY(8px);}
  to{transform:perspective(1400px) rotateY(1deg) translateY(-8px);}}
.world .wslide{position:absolute;inset:0;opacity:0;transform:scale(1.05);z-index:0;
  transition:opacity 1.2s ease, transform 6s ease;}
.world .wslide.on{opacity:1;transform:scale(1);z-index:1;}
.world .wslide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  filter:saturate(.96) contrast(1.04) brightness(.82);}
.world::before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), inset 0 -130px 150px rgba(3,7,15,.55);}
.world::after{content:"";position:absolute;inset:-1px;z-index:7;pointer-events:none;border-radius:inherit;
  border:2px solid var(--accent);opacity:.6;filter:drop-shadow(0 0 16px var(--accent));
  transition:border-color .8s ease,filter .8s ease;}

/* ── carousel cards = Set C “In Your World” story cards ── */
.world .wscrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,6,12,.5) 0%,transparent 26%,transparent 46%,rgba(4,6,12,.86) 100%);}
.world .wframe{position:absolute;inset:0;z-index:3;padding:8.5cqw;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;}
.world .wbadge{align-self:flex-start;display:inline-flex;align-items:center;gap:2cqw;padding:1.8cqw 3cqw;border-radius:100px;
  background:rgba(4,6,12,.5);border:1px solid var(--line2);backdrop-filter:blur(6px);
  font-family:var(--mono);font-size:2.2cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--t1);}
.world .wbadge .o{width:1.6cqw;height:1.6cqw;border-radius:50%;background:var(--cyan);box-shadow:0 0 2cqw var(--cyan);}
.world .weyebrow{font-family:var(--mono);font-size:2.4cqw;letter-spacing:.26em;text-transform:uppercase;color:var(--cyan);display:block;}
.world .wtext h3{font-family:var(--serif);font-weight:800;font-size:7.2cqw;line-height:1.0;margin-top:2cqw;letter-spacing:-.02em;color:var(--t1);}
.world .wtext p{font-family:var(--serif);font-size:3.3cqw;color:var(--t2);margin-top:2cqw;line-height:1.3;text-wrap:pretty;max-width:30ch;}
.world .flower{filter:drop-shadow(0 0 1.4cqw rgba(62,231,247,.8));}

/* the Oshina presence — orb */
.world .worb{position:absolute;transform:translate(-50%,-50%);width:var(--orb,16cqw);height:var(--orb,16cqw);z-index:2;pointer-events:none;}
.world .worb .glw{position:absolute;inset:-55%;border-radius:50%;
  background:radial-gradient(circle,rgba(190,250,255,.6),rgba(120,110,255,.24) 34%,rgba(255,63,197,.1) 54%,transparent 70%);
  filter:blur(1.4cqw);animation:auraBreathe 7s ease-in-out infinite;}
.world .worb .ring{position:absolute;inset:6%;border-radius:50%;padding:.5cqw;
  background:linear-gradient(135deg,#3C7BFF,#3EE7F7 30%,#B83CFF 66%,#FF3FC5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.6;filter:drop-shadow(0 0 1.4cqw rgba(120,230,255,.55));animation:auraSpark 7s ease-in-out infinite;}
.world .worb .core{position:absolute;inset:26%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.96),rgba(195,245,255,.42) 42%,transparent 72%);filter:blur(.5cqw);}
.world .worb .mk{position:absolute;left:30%;top:30%;width:40%;height:40%;filter:drop-shadow(0 0 1.2cqw rgba(190,250,255,.95));}
.world .worb.soft .ring{display:none;}
.world .worb.soft .glw{inset:-95%;filter:blur(2.2cqw);}
.world .worb.soft .core{inset:32%;}

/* the Oshina presence — studio lattice */
.world .wlattice{position:absolute;transform:translate(-50%,-50%);width:var(--orb,28cqw);z-index:2;pointer-events:none;}
.world .wlattice svg{width:100%;height:auto;overflow:visible;
  filter:drop-shadow(0 0 1.4cqw rgba(120,230,255,.5)) drop-shadow(0 0 3.6cqw rgba(184,60,255,.32));animation:auraBreathe 7s ease-in-out infinite;}
.world .wlattice .ed{fill:none;stroke:url(#auraStroke);stroke-width:1.3;opacity:.85;}
.world .wlattice .vx{fill:#EAFBFF;filter:drop-shadow(0 0 1cqw rgba(150,235,255,.9));}
.world .wlattice .cglow{fill:url(#auraCore);}

/* the Aura card — ethereal silhouette, no photo */
.world .wslide-aura{background:radial-gradient(125% 120% at 50% 45%,#0A1424 0%,#060A14 56%,#04060C 100%);}
.world .wslide-aura .aura-stage{position:absolute;inset:0;z-index:0;overflow:hidden;}
.world .wslide-aura .aura-bloom{position:absolute;left:50%;top:45.5%;width:78cqw;height:78cqw;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(180,250,255,.42),rgba(120,90,255,.16) 38%,rgba(255,63,197,.07) 56%,transparent 70%);
  filter:blur(3.4cqw);pointer-events:none;animation:auraBreathe 7.5s ease-in-out infinite;}
.world .wslide-aura .aura-svg{position:absolute;left:50%;top:45.5%;transform:translate(-50%,-50%);width:60cqw;height:78cqw;overflow:visible;}
.world .wslide-aura .aura-glow{fill:none;stroke:url(#auraStroke);stroke-width:3.2;opacity:.7;filter:blur(3.4cqw);}
.world .wslide-aura .aura-edge{fill:none;stroke:url(#auraStroke);stroke-width:.7;opacity:.5;filter:blur(.5cqw) drop-shadow(0 0 1.8cqw rgba(62,231,247,.55)) drop-shadow(0 0 4.5cqw rgba(184,60,255,.4));}
.world .wslide-aura .aura-fill{fill:url(#auraCore);opacity:.85;}
.world .wslide-aura .aura-seam{stroke:rgba(220,250,255,.5);stroke-width:.7;filter:blur(.4cqw) drop-shadow(0 0 1.2cqw rgba(150,235,255,.7));}
.world .wslide-aura .aura-flower{position:absolute;left:50%;top:45.5%;width:20cqw;height:20cqw;transform:translate(-50%,-50%);z-index:1;
  filter:drop-shadow(0 0 2.4cqw rgba(180,250,255,.95)) drop-shadow(0 0 5cqw rgba(120,160,255,.7));animation:auraBreathe 7.5s ease-in-out infinite;}
.world .wslide-aura .aura-spark{position:absolute;left:50%;top:45.5%;width:30cqw;height:30cqw;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.9),rgba(190,245,255,.35) 24%,transparent 58%);filter:blur(1.6cqw);pointer-events:none;z-index:1;animation:auraSpark 7.5s ease-in-out infinite;}
.world .wslide-aura .wscrim{background:linear-gradient(180deg,rgba(4,6,12,.35) 0%,transparent 24%,transparent 50%,rgba(4,6,12,.88) 100%);}

@keyframes auraBreathe{0%,100%{opacity:.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.045)}}
@keyframes auraSpark{0%,100%{opacity:.78}50%{opacity:1}}

.world .wdots{position:absolute;top:24px;right:24px;z-index:8;display:flex;gap:8px;}
.world .wdots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28);transition:all .6s ease;}
.world .wdots i.on{width:24px;border-radius:5px;background:var(--accent);box-shadow:0 0 12px var(--accent);}

/* product ribbon */
.ribbon{margin-top:30px;display:flex;gap:12px;}
.rcard{flex:1;border:1px solid var(--line);border-radius:12px;padding:14px 14px;background:rgba(10,16,30,.5);
  backdrop-filter:blur(6px);}
.rcard .rt{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;}
.rcard .rn{font-family:var(--serif);font-size:18px;margin-top:5px;}
.rcard .rd{font-size:12.5px;color:var(--t3);margin-top:4px;letter-spacing:.02em;}
.rcard.lit{border-color:var(--accent);background:rgba(86,236,255,.10);
  box-shadow:0 0 26px rgba(86,236,255,.18);transform:translateY(-5px);}

/* ----- Pillars (thesis) ----- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px;max-width:1320px;}
.pillar{border:1px solid var(--line);border-radius:18px;padding:34px 30px;background:rgba(8,13,26,.5);
  backdrop-filter:blur(8px);position:relative;overflow:hidden;}
.pillar .pn{font-family:var(--mono);font-size:15px;letter-spacing:.18em;color:var(--t3);}
.pillar h3{font-size:38px;margin-top:18px;line-height:1.04;}
.pillar p{font-size:18px;color:var(--t2);margin-top:14px;line-height:1.5;max-width:26ch;}
.pillar.lit{border-color:var(--accent);background:rgba(86,236,255,.08);transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 30px rgba(86,236,255,.16);}
.pillar.lit .pn{color:var(--accent);}

/* ----- Compare split (edge economy) ----- */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:54px;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  background:rgba(6,10,20,.55);backdrop-filter:blur(10px);}
.col{padding:44px 46px;position:relative;}
.col+.col{border-left:1px solid var(--line);}
.col .ctag{font-family:var(--mono);font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);}
.col h3{font-size:42px;margin-top:14px;}
.col.owned h3{color:var(--lime);}
.col.rented{filter:saturate(.5);opacity:.78;}
.crow{margin-top:30px;}
.crow .ch{font-family:var(--serif);font-size:25px;font-weight:600;}
.crow .cp{font-size:17px;color:var(--t2);margin-top:5px;line-height:1.45;}
.col.owned .crow.lit .ch{color:var(--lime);}
.crow.lit{transform:translateX(6px);}
.arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
  width:74px;height:74px;border-radius:50%;display:grid;place-items:center;
  background:rgba(4,8,16,.92);border:1px solid var(--accent);color:var(--accent);font-size:30px;
  box-shadow:0 0 30px rgba(86,236,255,.3);}

/* ----- Registry "computer screen" snapshot (TitleChain → global-chain proof) ----- */
.content.has-registry .chain{margin-top:44px;}
.registry{margin-top:36px;border:1px solid var(--line2);border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,rgba(7,12,24,.82),rgba(4,8,16,.82));backdrop-filter:blur(10px);
  box-shadow:0 30px 70px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.03);}
.reg-chrome{display:flex;align-items:center;gap:9px;padding:12px 18px;border-bottom:1px solid var(--line);
  background:rgba(3,7,15,.72);}
.reg-chrome .rcd{width:11px;height:11px;border-radius:50%;}
.reg-chrome .rcd:nth-child(1){background:#ff5f57;}
.reg-chrome .rcd:nth-child(2){background:#febc2e;}
.reg-chrome .rcd:nth-child(3){background:#28c840;}
.reg-title{margin-left:12px;font-family:var(--mono);font-size:13.5px;letter-spacing:.03em;color:var(--t3);}
.reg-live{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;
  letter-spacing:.18em;color:var(--lime);}
.reg-live i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);
  animation:sealpulse 2.4s ease-in-out infinite;}
.reg-body{display:grid;grid-template-columns:1.16fr 1fr;}
.reg-card{padding:22px 28px;}
.reg-map{padding:22px 28px;border-left:1px solid var(--line);}
.reg-k{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--lime);}
.reg-map .reg-k{color:var(--t3);letter-spacing:.16em;text-transform:uppercase;font-size:12px;}
.reg-handle{font-family:var(--mono);font-size:26px;margin-top:12px;color:var(--t1);letter-spacing:-.01em;word-break:break-all;}
.reg-handle .at{color:var(--t3);}
.reg-handle .cls{color:var(--cyan);}
.reg-handle .chain{color:var(--gold);}
.reg-resolve{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-top:18px;
  display:flex;align-items:center;gap:10px;}
.reg-resolve::before{content:"\21B3";color:var(--lime);font-size:16px;}
.reg-addrs{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px;}
.reg-addr{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:10px;
  border:1px solid var(--line2);background:rgba(86,236,255,.05);
  font-family:var(--mono);font-size:15px;color:var(--t2);opacity:.35;transform:translateY(5px);
  transition:opacity .55s var(--ease),transform .55s var(--ease),border-color .55s ease,background-color .55s ease;}
.reg-addr i{font-style:normal;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);}
.reg-addr.lit{opacity:1;transform:none;border-color:rgba(86,236,255,.42);background:rgba(86,236,255,.1);
  box-shadow:0 0 20px rgba(86,236,255,.14);}
.reg-rows{margin-top:13px;display:flex;flex-direction:column;gap:9px;}
.reg-row{display:grid;grid-template-columns:auto 22px 1fr;align-items:center;gap:8px;font-family:var(--mono);font-size:15px;}
.reg-row .b{color:var(--t1);}
.reg-row .ar{color:var(--lime);text-align:center;}
.reg-row .t{color:var(--t3);}
.reg-foot{margin-top:16px;font-family:var(--mono);font-size:13px;letter-spacing:.05em;color:var(--lime);}

/* ----- Chain (custody) ----- */
.chain{display:flex;align-items:stretch;gap:0;margin-top:64px;}
.cstep{flex:1;position:relative;padding:34px 26px;border:1px solid var(--line);background:rgba(8,13,26,.5);
  backdrop-filter:blur(8px);}
.cstep:first-child{border-radius:16px 0 0 16px;}
.cstep:last-child{border-radius:0 16px 16px 0;}
.cstep+.cstep{border-left:none;}
.cstep .cnum{font-family:var(--mono);font-size:14px;letter-spacing:.16em;color:var(--t4);}
.cstep h3{font-size:31px;margin-top:16px;}
.cstep p{font-size:15.5px;color:var(--t2);margin-top:11px;line-height:1.45;}
.cstep .cdot{position:absolute;top:-7px;left:30px;width:13px;height:13px;border-radius:50%;
  background:var(--ink);border:2px solid var(--t4);transition:all .6s ease;}
.cstep.lit{background:rgba(86,236,255,.09);border-color:var(--accent);z-index:3;
  box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 28px rgba(86,236,255,.18);transform:translateY(-10px);}
.cstep.lit .cnum{color:var(--accent);}
.cstep.lit .cdot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px var(--accent);}
.chain.gold .cstep.lit{background:rgba(255,216,107,.09);border-color:var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 28px rgba(255,216,107,.2);}
.chain.gold .cstep.lit .cnum,.chain.gold .cstep.lit .cdot{color:var(--gold);background:var(--gold);}

/* ----- Feature (image + points) ----- */
.feature{display:grid;grid-template-columns:1.04fr .96fr;height:100%;align-items:center;gap:70px;}
.feat-left{position:relative;z-index:3;}
.feat-pts{margin-top:44px;display:flex;flex-direction:column;gap:8px;}
.fpt{padding:22px 26px;border-left:2px solid var(--line2);position:relative;}
.fpt .fn{font-family:var(--mono);font-size:14px;letter-spacing:.14em;color:var(--accent);}
.fpt h3{font-size:33px;margin-top:8px;}
.fpt p{font-size:17px;color:var(--t2);margin-top:7px;line-height:1.45;max-width:40ch;}
.fpt.lit{border-left-color:var(--accent);background:linear-gradient(90deg,rgba(86,236,255,.08),transparent 80%);
  transform:translateX(8px);}
/* dense variant — 5 points must fit the 1080 canvas */
.content.dense .feat-pts{margin-top:24px;gap:6px;}
.content.dense .fpt{padding:13px 24px;}
.content.dense .fpt h3{font-size:29px;}
.content.dense .fpt p{font-size:16px;max-width:38ch;margin-top:5px;line-height:1.4;}
/* 4-point variant — keep the last point clear of the footer / filename */
.content.feat-4 .feat-pts{margin-top:26px;gap:7px;}
.content.feat-4 .fpt{padding:15px 26px;}
.content.feat-4 .fpt h3{font-size:30px;}
.content.feat-4 .fpt p{font-size:16px;max-width:40ch;margin-top:6px;line-height:1.4;}
.media{position:relative;border-radius:24px;overflow:hidden;height:660px;
  border:1px solid rgba(86,236,255,.3);background:#04070f;cursor:pointer;
  box-shadow:0 40px 100px rgba(0,0,0,.55);}
.media .mslide{position:absolute;inset:0;opacity:0;transform:scale(1.07);transition:opacity 1.1s ease, transform 6s ease;}
.media .mslide.on{opacity:1;transform:scale(1);}
.media .mslide img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05) brightness(.8);}
.media .mslide video{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05) brightness(.8);}
.media .mslide.contain img{object-fit:contain;padding:50px;background:radial-gradient(circle,rgba(86,236,255,.08),transparent 64%);filter:none;}

/* native (vector) media beats — concepts + hardware (no stretched photos) */
.media .mslide.native{transform:none;background:radial-gradient(120% 100% at 50% 0%,#0a1426,#05080f 70%);}
.media .mslide.native.on{transform:none;}
.nslide{position:absolute;inset:0;padding:44px 42px 70px;display:flex;flex-direction:column;}
.ns-eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.nslide h4{font-family:var(--serif);font-weight:800;font-size:33px;margin-top:12px;line-height:1.04;letter-spacing:-.01em;color:var(--t1);}
.forms-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:30px 0 20px;}
.forms-row .fm{display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;}
.forms-row .fm svg{width:52px;height:52px;}
.forms-row .fm .nm{font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--t1);}
.media .flower{filter:drop-shadow(0 0 6px rgba(86,236,255,.7));}
.fin-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.fin-row .fin{display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;}
.fin-row .fin .sw{width:52px;height:52px;border-radius:50%;border:1px solid var(--line2);}
.fin-row .fin .nm{font-family:var(--sans);font-size:11.5px;color:var(--t2);letter-spacing:.04em;}
.sw-obsidian{background:radial-gradient(circle at 34% 30%,#2A3550,#0A0E18 62%,#04060B);}
.sw-aurum{background:radial-gradient(circle at 34% 30%,#5A4A22,#1C140A 60%,#06040B);box-shadow:inset 0 0 14px rgba(201,168,76,.4);}
.sw-graphite{background:radial-gradient(circle at 34% 30%,#9AA6B4,#3A4350 55%,#0C1018);}
.sw-seaglass{background:radial-gradient(circle at 34% 30%,#7FF0E6,#1C6E78 55%,#06222A);}
.hw-list{display:flex;flex-direction:column;gap:13px;margin-top:30px;}
.hw-card{display:flex;align-items:center;gap:17px;padding:16px 19px;border:1px solid var(--line);border-radius:14px;
  background:rgba(8,13,26,.62);}
.hw-ico{width:50px;height:50px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;font-size:21px;color:var(--accent);
  border:1px solid rgba(86,236,255,.4);background:radial-gradient(circle at 50% 34%,rgba(86,236,255,.18),rgba(9,18,34,.92));}
.hw-tcid{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--accent);}
.hw-name{font-family:var(--serif);font-size:21px;font-weight:700;margin-top:3px;line-height:1.1;}
.hw-sub{font-size:13px;color:var(--t3);margin-top:2px;}
.hw-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;}
.hw-tags span{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--t2);
  padding:4px 9px;border-radius:6px;border:1px solid var(--line2);background:rgba(255,255,255,.03);}

/* ===== Scene 04 · The Shell — 4-beat sequence ===== */
/* Beat 01 — Oshina, "the official new internet" + sparkles (web of stars & starfish) */
.oshina-beat{padding:38px 40px 64px;}
.ob-head{text-align:center;}
.ob-eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);}
.ob-head h4{font-family:var(--serif);font-weight:800;font-size:34px;margin-top:9px;line-height:1.04;letter-spacing:-.01em;color:var(--t1);}
.ob-stage{position:relative;flex:1;margin-top:20px;display:grid;place-items:center;}
.ob-img{max-width:78%;max-height:100%;object-fit:contain;filter:drop-shadow(0 24px 60px rgba(60,123,255,.34));
  animation:obFloat 9s ease-in-out infinite;}
@keyframes obFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-12px) scale(1.015);}}
.spk-layer{position:absolute;inset:-4% -2%;z-index:2;pointer-events:none;}
.spk{position:absolute;width:6px;height:6px;border-radius:50%;background:#EAFBFF;
  box-shadow:0 0 8px 2px rgba(190,250,255,.85);opacity:0;transform:scale(.4);
  animation:spk 3.4s ease-in-out infinite;}
.spk:nth-child(3n){width:4px;height:4px;background:#BFefff;}
.spk:nth-child(4n){width:8px;height:8px;}
@keyframes spk{0%,100%{opacity:0;transform:scale(.3);}45%{opacity:.95;transform:scale(1);}}
.spk-star{position:absolute;right:9%;top:13%;width:74px;height:74px;
  filter:drop-shadow(0 0 12px rgba(190,250,255,.9));animation:obFloat 7s ease-in-out infinite reverse;opacity:.92;}

/* Beat 02 — sealed/attestable statement container */
.stmt-beat{justify-content:center;align-items:center;text-align:center;}
.stmt-card{max-width:84%;padding:48px 46px;border:1px solid rgba(86,236,255,.34);border-radius:22px;
  background:linear-gradient(165deg,rgba(12,22,40,.92),rgba(6,10,18,.92));
  box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 50px rgba(86,236,255,.12);position:relative;}
.stmt-mark{display:block;width:44px;height:44px;margin:0 auto 22px;border-radius:50%;
  background:radial-gradient(circle at 50% 40%,rgba(86,236,255,.5),transparent 68%);
  border:1px solid rgba(86,236,255,.5);}
.stmt-card p{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.34;color:var(--t1);text-wrap:balance;}

/* Beat 03 — highlight Bitkey + M5 Capital Card (dim the third surface) */
.hw-highlight .hw-card{transition:opacity .6s ease,border-color .6s ease,box-shadow .6s ease;}
.hw-highlight .hw-card:nth-child(1),
.hw-highlight .hw-card:nth-child(2){border-color:rgba(86,236,255,.5);
  box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 26px rgba(86,236,255,.18);background:rgba(86,236,255,.07);}
.hw-highlight .hw-card:nth-child(3){opacity:.34;}

/* Beat 04 — any design + hardware strip below + "one living tokenized economic system" */
.hw-strip{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px;}
.hw-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 20px;border-radius:13px;
  border:1px solid rgba(86,236,255,.34);background:rgba(8,13,26,.7);min-width:170px;}
.hw-chip .hw-i{font-size:20px;color:var(--accent);}
.hw-chip b{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--t1);}
.hw-chip i{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);font-style:normal;}
.hw-arrow{color:var(--accent);font-size:22px;}
.ns-caption{margin-top:18px;text-align:center;font-family:var(--serif);font-weight:700;font-size:23px;
  color:var(--accent);letter-spacing:-.01em;}

/* Beat 03 — real on-site device renders (Bitkey + M5 Capital Card), aspect-locked so they never stretch */
.hw-beat{padding:34px 36px 58px;}
.dev-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;flex:1;align-content:center;}
.dev-card{border:1px solid var(--line2);border-radius:16px;overflow:hidden;background:rgba(8,11,22,.62);
  display:flex;flex-direction:column;transition:border-color .5s ease,box-shadow .5s ease;}
.dev-cv-wrap{position:relative;width:100%;aspect-ratio:512/324;background:#020410;border-bottom:1px solid var(--line);}
.dev-cv{position:absolute;inset:0;width:100%;height:100%;display:block;}
.dev-meta{padding:15px 17px 17px;}
.dev-tag{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);}
.dev-name{font-family:var(--serif);font-size:21px;font-weight:700;margin-top:5px;color:var(--t1);letter-spacing:-.01em;}
.dev-sub{font-size:13px;color:var(--t3);margin-top:4px;line-height:1.4;}
.hw-beat.hl .dev-card{border-color:rgba(86,236,255,.5);
  box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 28px rgba(86,236,255,.16);}
.hw-beat.hl .dev-card .dev-tag{color:var(--cyan);}

/* Beat 04 strip — compact device renders below the "any design" forms */
.dev-strip{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:0;}
/* group foundations + hardware at the bottom of the concepts panel */
.nsl-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;}
/* Open foundations — "how it communicates": open standards above owned hardware */
.hw-found{margin-top:14px;}
.hw-found .hwf-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.hwf-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.hwf-std{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--t3);}
.hwf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.hwf-chips span{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--t2);
  padding:6px 13px;border:1px solid var(--line2);border-radius:999px;background:rgba(8,13,26,.55);}
.hw-found.compact{margin-top:0;}
.hw-found.compact .hwf-std{display:none;}
.hw-found.compact .hwf-chips{margin-top:8px;gap:6px;}
.hw-found.compact .hwf-chips span{font-size:11px;padding:5px 11px;}
.dev-card.small{flex-direction:row;align-items:center;gap:0;padding:0;min-width:0;border-color:rgba(86,236,255,.3);}
.dev-card.small .dev-cv-wrap{width:96px;flex:0 0 auto;border-bottom:none;border-right:1px solid var(--line);}
.dev-card.small .dev-meta-sm{padding:9px 16px;}
.dev-meta-sm b{display:block;font-family:var(--serif);font-size:16px;font-weight:700;color:var(--t1);}
.dev-meta-sm i{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);font-style:normal;}
.media::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(2,6,14,.85));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);}
.mcap{position:absolute;left:26px;right:26px;bottom:24px;z-index:6;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  color:#f5f8ff;text-transform:uppercase;letter-spacing:.15em;font:650 12px/1.2 var(--sans);}
.mcap strong{display:block;margin-top:6px;color:var(--accent);font-size:17px;letter-spacing:.06em;}
.media.gold{border-color:rgba(255,216,107,.4);}
.media.gold .mcap strong{color:var(--gold);}

/* ----- Card grid (agents / functions / factors / forms) ----- */
.grid{display:grid;gap:18px;margin-top:54px;}
.grid.g3{grid-template-columns:repeat(3,1fr);}
.grid.g4{grid-template-columns:repeat(4,1fr);}
.grid.g5{grid-template-columns:repeat(5,1fr);}
.card{border:1px solid var(--line);border-radius:16px;padding:28px 26px;background:rgba(8,13,26,.5);
  backdrop-filter:blur(8px);position:relative;overflow:hidden;min-height:188px;display:flex;flex-direction:column;}
.card .ctag{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);}
.card h3{font-size:29px;margin-top:auto;}
.card .sub{font-size:15px;color:var(--t2);margin-top:9px;line-height:1.4;}
.card.lit{border-color:var(--accent);background:rgba(86,236,255,.08);transform:translateY(-9px);
  box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 28px rgba(86,236,255,.16);}
.card.lit .ctag{color:var(--accent);}
/* brief pulse the instant a card is named (engine adds .cue-hit ~1.1s) */
.card.cue-hit{animation:cardCue 1.1s var(--ease,ease) 1;}
@keyframes cardCue{
  0%{box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 0 rgba(86,236,255,0);transform:translateY(-9px) scale(1);}
  28%{box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 46px rgba(86,236,255,.5);transform:translateY(-13px) scale(1.035);}
  100%{box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 28px rgba(86,236,255,.16);transform:translateY(-9px) scale(1);}
}
.card.open.cue-hit{animation:cardCueGold 1.1s var(--ease,ease) 1;}
@keyframes cardCueGold{
  0%{box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 0 rgba(255,216,107,0);transform:translateY(-9px) scale(1);}
  28%{box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 46px rgba(255,216,107,.55);transform:translateY(-13px) scale(1.035);}
  100%{box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 30px rgba(255,216,107,.22);transform:translateY(-9px) scale(1);}
}
.card.open{border-style:dashed;border-color:var(--line2);}
.card.open.lit{border-style:solid;border-color:var(--gold);background:rgba(255,216,107,.09);
  box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 30px rgba(255,216,107,.22);}
.card.open.lit .ctag,.card.open.lit h3{color:var(--gold);}

/* form sketches (Form Study) */
.grid.forms .card{min-height:306px;}
.card .form-sketch{margin:20px auto 0;width:88px;height:88px;display:grid;place-items:center;
  transition:filter .7s ease,transform .7s ease;}
.card .form-sketch svg{width:100%;height:100%;}
.card .form-sketch .flower{filter:drop-shadow(0 0 8px rgba(86,236,255,.7));}
.card.hasform.lit .form-sketch{transform:translateY(-2px);filter:drop-shadow(0 0 12px rgba(86,236,255,.45));}
/* Geode & Lattice: more transparent so the 3D printer reads through behind them */
.card.form-geode,.card.form-lattice{background:rgba(8,13,26,.24);}
.card.form-geode.lit,.card.form-lattice.lit{background:rgba(86,236,255,.05);}

/* ----- Global Index (sovereign foundation → live index & exchange) ----- */
.idx-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;height:100%;align-items:center;}
.idx-left{position:relative;z-index:3;}
.idx-sub{font-family:var(--serif);font-size:23px;color:var(--t2);margin-top:20px;line-height:1.4;max-width:30ch;}
.idx-hero{margin-top:28px;}
.ih-k{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);}
.ih-num{font-family:var(--serif);font-weight:800;font-size:82px;letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums;}
.ih-chg{font-family:var(--mono);font-size:18px;color:var(--lime);margin-top:8px;letter-spacing:.04em;}
.idx-live{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center;}
.idx-live .il{border:1px solid var(--line);border-radius:10px;padding:9px 14px;background:rgba(8,13,26,.5);}
.idx-live .il-k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--t3);}
.idx-live .il-v{font-family:var(--mono);font-size:18px;color:var(--cyan);margin-top:3px;}
.idx-live .il-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--lime);}
.idx-live .il-badge span{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:sealpulse 2s ease-in-out infinite;}

.idx-stage{position:relative;height:700px;border:1px solid rgba(86,236,255,.28);border-radius:24px;overflow:hidden;
  background:radial-gradient(circle at 50% 50%,rgba(86,236,255,.07),transparent 58%),linear-gradient(160deg,#06101e,#040810);
  box-shadow:0 40px 100px rgba(0,0,0,.55), inset 0 0 80px rgba(0,0,0,.4);}
.idx-net{position:absolute;left:6%;top:6%;width:88%;height:88%;overflow:visible;}
.idx-rings circle{fill:none;stroke:rgba(86,236,255,.12);stroke-width:.3;}
.idx-link{stroke:url(#auraStroke);stroke-width:.5;opacity:.16;stroke-dasharray:3 3;transition:opacity .6s ease;}
.scene.is-active .idx-link{animation:idxFlow 2.6s linear infinite;}
.idx-link.lit{opacity:.65;}
@keyframes idxFlow{to{stroke-dashoffset:-12;}}
.idx-dot{fill:#EAFBFF;opacity:.18;transition:opacity .6s ease;}
.idx-dot.lit{opacity:.95;}
.idx-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;display:grid;place-items:center;z-index:3;}
.idx-core-glow{position:absolute;inset:-26%;border-radius:50%;
  background:radial-gradient(circle,rgba(190,250,255,.5),rgba(120,110,255,.2) 38%,transparent 66%);filter:blur(10px);
  animation:sealpulse 5s ease-in-out infinite;}
.idx-flower{position:absolute;width:84px;height:84px;filter:drop-shadow(0 0 14px rgba(150,235,255,.9));}
.idx-core-label{position:absolute;bottom:-34px;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--cyan);white-space:nowrap;}
.idx-core-label span{display:block;font-size:10px;letter-spacing:.1em;color:var(--t3);margin-top:3px;text-transform:uppercase;}
.idx-counter{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--t2);padding:8px 16px;border:1px solid var(--line2);border-radius:100px;
  background:rgba(4,8,16,.72);backdrop-filter:blur(6px);white-space:nowrap;}
.idx-counter b{color:var(--cyan);font-size:15px;}
.idx-counter .ic-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:sealpulse 2s ease-in-out infinite;}
.idx-counter .ic-rate{font-style:normal;color:var(--lime);margin-left:2px;}
.idx-pod{position:absolute;transform:translate(-50%,-50%);width:140px;text-align:center;z-index:4;
  padding:11px 12px;border:1px solid var(--line2);border-radius:12px;background:rgba(5,10,20,.8);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);box-shadow:0 10px 30px rgba(0,0,0,.4);}
.idx-pod.lit{opacity:1;}
.idx-pod .ip-nm{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);}
.idx-pod .ip-v{font-family:var(--serif);font-size:24px;font-weight:700;margin-top:3px;color:var(--t1);font-variant-numeric:tabular-nums;}
.idx-pod .ip-d{font-family:var(--mono);font-size:12px;margin-left:6px;color:var(--lime);}
.idx-pod.down .ip-d{color:var(--ember);}
.idx-pod .ip-n{font-family:var(--mono);font-size:10.5px;color:var(--t3);margin-top:3px;}

/* ----- Composer (inventor) ----- */
.compose-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:38px;margin-top:34px;height:600px;}
.compose-photos{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(255,139,94,.32);
  background:#04070f;cursor:pointer;box-shadow:0 40px 100px rgba(0,0,0,.5);}
.compose-photos .cp-slide{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 6.5s ease;}
.compose-photos .cp-slide.on{opacity:1;transform:scale(1);}
.compose-photos .cp-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.98) contrast(1.04) brightness(.84);}
.compose-photos::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(3,7,15,.5) 0%,transparent 24%,transparent 50%,rgba(2,6,14,.9) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);}
.compose-photos .cp-tag{position:absolute;left:22px;top:22px;z-index:3;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);
  padding:8px 14px;border:1px solid rgba(255,139,94,.4);border-radius:100px;background:rgba(4,8,16,.6);backdrop-filter:blur(6px);}
.compose-photos .cp-tag .d{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 10px var(--ember);}
.compose-photos .cp-cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:3;
  font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--t1);}
.compose-right{display:flex;flex-direction:column;gap:16px;min-width:0;}
.compose{position:relative;flex:1;min-height:478px;border-radius:22px;overflow:hidden;
  border:1px solid rgba(255,139,94,.32);
  background:radial-gradient(circle at 50% 46%,rgba(86,236,255,.12),transparent 42%),linear-gradient(150deg,#06101e,#040810);
  box-shadow:inset 0 0 60px rgba(0,0,0,.5);}
.infra-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.infra-row .icard{border:1px solid var(--line);border-radius:13px;padding:16px 18px;background:rgba(8,13,26,.7);}
.infra-row .icard .it{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--t3);}
.infra-row .icard h4{font-family:var(--serif);font-size:21px;font-weight:700;margin-top:6px;}
.infra-row .icard.lit{border-color:var(--accent);background:rgba(86,236,255,.1);box-shadow:0 0 24px rgba(86,236,255,.16);transform:translateY(-4px);}
.infra-row .icard.lit .it{color:var(--accent);}
.board{position:absolute;left:50%;top:calc(50% + 18px);transform:translate(-50%,-50%);width:540px;height:392px;border-radius:20px;
  border:1px solid rgba(86,236,255,.2);
  background:linear-gradient(rgba(86,236,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(86,236,255,.04) 1px,transparent 1px),rgba(4,9,19,.7);
  background-size:28px 28px;box-shadow:inset 0 0 50px rgba(0,0,0,.5);}
.core{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%) scale(.7);border-radius:22px;
  display:grid;place-items:center;text-align:center;color:#f8fbff;font:750 17px/1.15 var(--sans);letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(86,236,255,.7);background:radial-gradient(circle at 50% 38%,rgba(86,236,255,.3),rgba(9,18,34,.96) 62%);
  opacity:.3;transition:transform 1s var(--ease),opacity .8s ease,box-shadow .8s ease;}
.compose.assembled .core{opacity:1;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 60px rgba(86,236,255,.45),inset 0 0 30px rgba(86,236,255,.18);}
.chip{position:absolute;width:118px;height:78px;border-radius:13px;display:grid;place-items:center;text-align:center;
  color:#f8fbff;font:650 14px/1.15 var(--sans);text-transform:uppercase;letter-spacing:.06em;
  background:rgba(13,21,39,.96);border:1px solid var(--cc);box-shadow:0 0 22px color-mix(in srgb,var(--cc) 30%,transparent);
  transition:left 1.2s var(--ease),top 1.2s var(--ease),transform 1.2s var(--ease);}
.chip.c1{left:7%;top:9%;--cc:var(--cyan);} .chip.c2{right:7%;top:9%;left:auto;--cc:var(--purple);}
.chip.c3{left:7%;bottom:9%;top:auto;--cc:var(--ember);} .chip.c4{right:7%;bottom:9%;left:auto;top:auto;--cc:var(--lime);}
.compose.assembled .chip.c1{left:calc(50% - 142px);top:calc(50% - 100px);transform:scale(.82);}
.compose.assembled .chip.c2{left:calc(50% + 24px);top:calc(50% - 100px);right:auto;transform:scale(.82);}
.compose.assembled .chip.c3{left:calc(50% - 142px);top:calc(50% + 22px);bottom:auto;transform:scale(.82);}
.compose.assembled .chip.c4{left:calc(50% + 24px);top:calc(50% + 22px);right:auto;bottom:auto;transform:scale(.82);}
.clabel{position:absolute;left:28px;top:20px;z-index:5;color:var(--ember);font:700 13px/1 var(--sans);text-transform:uppercase;letter-spacing:.18em;}
/* solo state — chips clear, Oshina mark rises over the core */
.core-mk{position:absolute;left:50%;top:50%;width:170px;height:170px;transform:translate(-50%,calc(-50% - 116px)) scale(.6);
  opacity:0;transition:opacity .9s var(--ease),transform 1s var(--ease);pointer-events:none;z-index:3;
  filter:drop-shadow(0 0 22px rgba(86,236,255,.5));}
.core-mk .flower{fill:var(--cyan);}
.compose.solo .chip{opacity:0;transform:translate(-50%,-50%) scale(.35);left:50%;top:50%;pointer-events:none;}
.compose.solo .core-mk{opacity:1;transform:translate(-50%,calc(-50% - 116px)) scale(1);}
.compose.solo .core{box-shadow:0 0 80px rgba(86,236,255,.55),inset 0 0 34px rgba(86,236,255,.22);}
.infra{position:absolute;right:28px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;width:330px;}
.icard{border:1px solid var(--line);border-radius:13px;padding:18px 20px;background:rgba(8,13,26,.7);}
.icard .it{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--t3);}
.icard h4{font-family:var(--serif);font-size:23px;font-weight:700;margin-top:6px;}
.icard.lit{border-color:var(--accent);background:rgba(86,236,255,.1);box-shadow:0 0 24px rgba(86,236,255,.16);transform:translateX(-6px);}
.icard.lit .it{color:var(--accent);}

/* ----- Growth (movement) ----- */
.growth{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px;align-items:center;height:560px;}
.node{position:relative;border-radius:20px;overflow:hidden;height:100%;border:1px solid var(--line);
  transform:scale(.86);opacity:.4;filter:saturate(.6) brightness(.7);
  transition:transform 1s var(--ease),opacity .8s ease,filter .8s ease,box-shadow .8s ease;}
.node img{width:100%;height:100%;object-fit:cover;}
.node video{width:100%;height:100%;object-fit:cover;}
.node::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,6,14,.92),transparent 55%);}
.node .ncap{position:absolute;left:24px;right:24px;bottom:24px;z-index:3;}
.node .nn{font-family:var(--mono);font-size:13px;letter-spacing:.16em;color:var(--accent);text-transform:uppercase;}
.node .nh{font-family:var(--serif);font-size:30px;font-weight:700;margin-top:8px;}
.node .nd{font-size:15px;color:var(--t2);margin-top:6px;line-height:1.4;}
.node.lit{transform:scale(1.04);opacity:1;filter:none;z-index:4;
  box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 36px rgba(86,236,255,.2);border-color:var(--accent);}
.node.done{transform:scale(.92);opacity:.7;filter:saturate(.85) brightness(.85);}

/* ----- Global Campus (maker infrastructure + globe) ----- */
.campus-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;height:100%;align-items:center;}
.globe-stage{position:relative;height:640px;border-radius:24px;overflow:hidden;
  border:1px solid rgba(63,231,194,.26);
  background:radial-gradient(circle at 50% 46%,rgba(63,231,194,.08),transparent 58%),linear-gradient(160deg,#06141a,#040810);
  box-shadow:0 40px 100px rgba(0,0,0,.55),inset 0 0 70px rgba(0,0,0,.4);}
.globe-glow{position:absolute;left:50%;top:46%;width:60%;height:60%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(63,231,194,.28),rgba(86,236,255,.12) 42%,transparent 68%);filter:blur(16px);
  animation:sealpulse 6s ease-in-out infinite;}
.globe-svg{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:74%;height:auto;overflow:visible;}
.g-rim{fill:url(#globeFill);stroke:rgba(63,231,194,.5);stroke-width:.4;}
.g-lat,.g-lon{fill:none;stroke:rgba(120,230,220,.2);stroke-width:.3;}
.g-axis{stroke:rgba(120,230,220,.2);stroke-width:.3;}
.g-arc{fill:none;stroke:url(#auraStroke);stroke-width:.6;opacity:.16;stroke-dasharray:2.5 2.5;transition:opacity .6s ease;}
.scene.is-active .g-arc{animation:idxFlow 2.4s linear infinite;}
.g-arc.lit{opacity:.7;}
.g-dot{fill:#EAFFFB;opacity:.25;transition:opacity .5s ease;}
.g-dot.lit{opacity:1;filter:drop-shadow(0 0 1.4px rgba(150,255,235,.95));}
.globe-badge{position:absolute;left:50%;top:22px;transform:translateX(-50%);z-index:3;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);
  padding:8px 16px;border:1px solid rgba(63,231,194,.4);border-radius:100px;background:rgba(4,8,16,.7);backdrop-filter:blur(6px);white-space:nowrap;}
.globe-badge .d{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px var(--teal);animation:sealpulse 2s ease-in-out infinite;}
.globe-readout{position:absolute;left:0;right:0;bottom:30px;text-align:center;z-index:3;}
.globe-readout .gr-num{font-family:var(--serif);font-weight:800;font-size:62px;color:var(--t1);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.globe-readout .gr-lbl{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-top:6px;}
.globe-readout .gr-rate{font-family:var(--mono);font-size:13px;color:var(--lime);margin-top:6px;}
.campus-cards{display:flex;flex-direction:column;gap:12px;}
.campus-cards .ccard{display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--line);border-radius:14px;
  background:rgba(8,13,26,.5);backdrop-filter:blur(8px);opacity:0;transform:translateX(22px);
  transition:opacity .7s var(--ease),transform .7s var(--ease),border-color .6s ease,background-color .6s ease,box-shadow .6s ease;}
.campus-cards .ccard.lit{opacity:1;transform:none;}
.campus-cards .ccard.lit2{border-color:var(--accent);background:rgba(63,231,194,.08);box-shadow:0 0 26px rgba(63,231,194,.14);}
.campus-cards .cc-tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);min-width:92px;}
.campus-cards .cc-main h3{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.04;}
.campus-cards .cc-main .sub{font-size:15px;color:var(--t2);margin-top:4px;}

/* solo mode: each container occupies the same spot, shows on cue, then dissolves */
.campus-cards.solo{position:relative;display:block;min-height:160px;}
.campus-cards.solo .ccard{position:absolute;left:0;right:0;top:50%;margin:0;
  transform:translateY(-50%) translateX(26px) scale(.97);opacity:0;
  padding:30px 34px;border-color:var(--accent);background:rgba(63,231,194,.08);
  box-shadow:0 0 34px rgba(63,231,194,.16);
  transition:opacity .65s var(--ease),transform .75s var(--ease);}
.campus-cards.solo .ccard.solo-on{opacity:1;transform:translateY(-50%) scale(1);}
.campus-cards.solo .cc-tag{min-width:104px;font-size:13px;}
.campus-cards.solo .cc-main h3{font-size:34px;}
.campus-cards.solo .cc-main .sub{font-size:17px;margin-top:7px;}

/* ----- Pathway (steps) ----- */
.path{display:flex;align-items:center;gap:0;margin-top:60px;}
.pstep{flex:1;text-align:center;position:relative;padding:0 8px;}
.pstep .pcircle{width:96px;height:96px;margin:0 auto;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line2);background:rgba(8,13,26,.6);font-family:var(--mono);font-size:24px;color:var(--t3);
  transition:all .6s ease;}
.pstep h3{font-size:27px;margin-top:22px;}
.pstep p{font-size:15px;color:var(--t2);margin-top:8px;line-height:1.4;}
.pconn{flex:0 0 60px;height:2px;background:var(--line);position:relative;top:-44px;}
.pconn::after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .7s ease;box-shadow:0 0 10px var(--accent);}
.pstep.lit .pcircle{border-color:var(--accent);color:var(--accent);background:rgba(86,236,255,.1);
  box-shadow:0 0 30px rgba(86,236,255,.25);transform:scale(1.08);}
.pconn.lit::after{transform:scaleX(1);}

/* ----- Close ----- */
.close-wrap{display:grid;place-items:center;height:100%;text-align:center;}
.close-wrap .cstack .line{display:block;overflow:hidden;}
.close-wrap .cstack .line>span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease-out);}
.scene.is-active .close-wrap .cstack .line>span{transform:none;}
.scene.is-active .close-wrap .cstack .line:nth-child(2)>span{transition-delay:.18s}
.scene.is-active .close-wrap .cstack .line:nth-child(3)>span{transition-delay:.36s}
.close-wrap .cstack{font-family:var(--serif);font-weight:800;font-size:104px;line-height:1.02;letter-spacing:-.02em;}
.close-wrap .cstack em{color:var(--accent);}
.close-cta{margin-top:54px;font-family:var(--mono);font-size:22px;letter-spacing:.18em;text-transform:uppercase;color:var(--t2);}
.close-cta b{color:var(--accent);}
.close-seal{width:120px;height:120px;margin:0 auto 40px;animation:sealpulse 5s ease-in-out infinite;}
@keyframes sealpulse{0%,100%{opacity:.7;transform:scale(1);filter:drop-shadow(0 0 14px rgba(86,236,255,.4));}
  50%{opacity:1;transform:scale(1.05);filter:drop-shadow(0 0 28px rgba(86,236,255,.7));}}

/* ---------- Chrome: scene tag, progress, footer ---------- */
.scene-tag{position:absolute;left:130px;bottom:64px;z-index:12;display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);}
.scene-tag .o{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);}
.foot{position:absolute;left:0;right:0;bottom:30px;z-index:12;text-align:center;
  font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:rgba(244,247,255,.3);pointer-events:none;}

/* ---------- Begin overlay ---------- */
#begin{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;
  background:radial-gradient(120% 90% at 50% 30%,#0a1430,#04060f 60%,#000);
  transition:opacity 1s ease,visibility 1s;}
#begin.gone{opacity:0;visibility:hidden;pointer-events:none;}
.begin-inner{text-align:center;max-width:880px;padding:40px;}
.begin-inner .bseal{width:118px;height:118px;margin:0 auto 30px;animation:sealpulse 5s ease-in-out infinite;}
.begin-inner .beyebrow{font-family:var(--mono);font-size:18px;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);}
.begin-inner h1{font-family:var(--serif);font-size:78px;font-weight:800;line-height:.96;margin-top:20px;letter-spacing:-.02em;}
.begin-inner h1 em{color:var(--accent);}
.begin-inner p{font-family:var(--serif);font-size:23px;color:var(--t2);margin-top:20px;line-height:1.4;max-width:30ch;margin-left:auto;margin-right:auto;}
/* founder credential */
.bfounder{margin-top:20px;display:inline-flex;align-items:center;gap:11px;
  font-family:var(--mono);font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  padding:11px 20px;border-radius:999px;border:1px solid color-mix(in oklab,var(--gold) 38%,transparent);
  background:radial-gradient(120% 100% at 50% 0%,rgba(255,216,107,.12),rgba(255,216,107,.03));}
.bfounder .bf-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);}
.begin-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:34px;flex-wrap:wrap;}
.begin-btn{display:inline-flex;align-items:center;gap:16px;cursor:pointer;
  font-family:var(--mono);font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:#04070f;font-weight:600;
  padding:20px 44px;border-radius:14px;background:var(--accent);border:none;
  box-shadow:0 0 50px rgba(86,236,255,.4);transition:transform .3s ease,box-shadow .3s ease;}
.begin-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 70px rgba(86,236,255,.6);}
.begin-sub{margin-top:26px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--t3);}
/* clickable chapter sections on the title page */
.begin-acts-label{margin-top:34px;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);}
.begin-acts{margin-top:14px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.bact{display:flex;flex-direction:column;align-items:flex-start;gap:5px;cursor:pointer;text-align:left;
  padding:13px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(10,16,30,.5);
  transition:.22s var(--ease);}
.bact:hover{border-color:var(--cyan);background:rgba(86,236,255,.08);transform:translateY(-3px);
  box-shadow:0 12px 30px -16px rgba(86,236,255,.5);}
.ba-n{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--cyan);}
.ba-l{font-family:var(--serif);font-size:15.5px;font-weight:600;color:var(--t1);line-height:1.1;}
.ba-t{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--t3);}
.begin-legal{margin:28px auto 0;max-width:74ch;font-family:var(--mono);font-size:11px;line-height:1.7;
  letter-spacing:.02em;color:var(--t3);opacity:.8;}
.begin-legal sup,.begin-legal{font-variant-numeric:tabular-nums;}

/* ---------- Transport ---------- */
#transport{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:900;
  display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:16px;
  width:min(940px,calc(100vw - 40px));padding:13px 18px;border-radius:15px;
  border:1px solid rgba(86,236,255,.26);background:rgba(4,8,18,.82);backdrop-filter:blur(18px);
  box-shadow:0 20px 60px rgba(0,0,0,.5);color:var(--t1);font:600 13px/1.2 var(--sans);
  opacity:0;transition:opacity .5s ease;}
#transport.show{opacity:1;}
#transport:hover{opacity:1;}
#playBtn{width:46px;height:46px;border-radius:11px;border:1px solid rgba(86,236,255,.5);
  background:rgba(86,236,255,.14);color:var(--accent);cursor:pointer;display:grid;place-items:center;font-size:16px;}
#tScene{font-family:var(--mono);letter-spacing:.06em;color:var(--gold);white-space:nowrap;min-width:170px;}
#seek{width:100%;-webkit-appearance:none;appearance:none;height:5px;border-radius:3px;cursor:pointer;
  background:linear-gradient(90deg,var(--accent) var(--p,0%),rgba(255,255,255,.16) var(--p,0%));}
#seek::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 10px var(--accent);cursor:pointer;}
#seek::-moz-range-thumb{width:15px;height:15px;border:none;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);}
#tTime{font-family:var(--mono);color:var(--t2);white-space:nowrap;}
#muteBtn{width:42px;height:42px;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.05);
  color:var(--t2);cursor:pointer;font-size:15px;}

/* ===== Oshina awakening — thesis tail (idea becoming physical) ===== */
/* Oshina image flows into the thesis background as the slide opens */
.oshina-flow{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 42%;
  opacity:calc(var(--flow,0)*.62);
  transform:scale(calc(1.05 + var(--flow,0)*.05));
  transition:opacity 1.3s ease, transform 2s var(--ease);pointer-events:none;}
.oshina-flow::after{content:"";position:absolute;inset:0;
  background:radial-gradient(125% 95% at 50% 46%, rgba(3,6,14,.42), rgba(2,4,10,.88) 82%);}

.oshina-wake{position:absolute;inset:0;z-index:14;opacity:0;pointer-events:none;
  transition:opacity 1.2s var(--ease);}
.oshina-wake.on{opacity:1;}
/* legibility scrim over the resolved shell, only once awake */
.oshina-wake::after{content:"";position:absolute;inset:0;z-index:15;pointer-events:none;
  background:
    linear-gradient(95deg, rgba(3,6,14,.9) 0%, rgba(3,6,14,.55) 32%, rgba(3,6,14,.12) 58%, rgba(3,6,14,.34) 100%),
    linear-gradient(0deg, rgba(2,4,10,.82) 3%, rgba(2,4,10,.1) 38%);
  opacity:var(--wake,0);transition:opacity 1.1s ease;}
.content.center.awake .pillars{opacity:.10;transform:scale(.94) translateY(-14px);filter:blur(3px);
  transition:opacity 1s ease,transform 1.3s var(--ease),filter 1s ease;}
.content.center.awake > div:first-child{opacity:.22;transition:opacity 1s ease;}
/* scene-level opt-in: fully drop the header + pillar ghosts once awake,
   leaving only the Oshina shell and its "holds the house" caption */
.content.center.awake.hide-head-awake > div:first-child{opacity:0 !important;}
.content.center.awake.hide-head-awake .pillars{opacity:0 !important;}

/* "shell dashboard" screen peek — the user's data, held in the shell as a vault.
   Fades in ~0:50 as Oshina wakes, framed like the live m5bank.app dashboard. */
.shell-dash{position:absolute;right:104px;top:50%;z-index:16;width:466px;
  border-radius:16px;border:1px solid var(--line2);overflow:hidden;
  background:linear-gradient(180deg,rgba(9,14,26,.90),rgba(4,8,16,.88));backdrop-filter:blur(16px);
  box-shadow:0 36px 100px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,216,107,.05);
  opacity:0;transform:translateY(-50%) translateX(34px) scale(.985);
  transition:opacity 1.5s ease,transform 1.5s var(--ease);pointer-events:none;}
.shell-dash.on{opacity:1;transform:translateY(-50%);}
/* window chrome */
.sd-chrome{display:flex;align-items:center;gap:8px;padding:12px 18px;
  border-bottom:1px solid var(--line);background:rgba(3,7,15,.72);}
.sd-cd{width:10px;height:10px;border-radius:50%;}
.sd-cd:nth-child(1){background:#ff5f57;}.sd-cd:nth-child(2){background:#febc2e;}.sd-cd:nth-child(3){background:#28c840;}
.sd-url{margin-left:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--t3);}
.sd-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);
  font-size:11px;letter-spacing:.18em;color:var(--lime);}
.sd-live i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px var(--lime);
  animation:sealpulse 2.4s ease-in-out infinite;}
.sd-body{padding:20px 22px;}
.sd-top{display:flex;align-items:center;gap:9px;}
.sd-dot{width:7px;height:7px;border-radius:50%;background:#9FE9FF;box-shadow:0 0 8px #9FE9FF;}
.sd-handle{font-family:var(--mono);font-size:14px;color:#E8EEF8;letter-spacing:.01em;}
.sd-sub{margin-left:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);}
/* balance hero */
.sd-hero{margin-top:16px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.sd-hero .sd-k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.sd-balrow{display:flex;align-items:baseline;gap:10px;margin-top:9px;}
.sd-balrow .sd-v{font-family:var(--serif);font-style:italic;font-size:46px;font-weight:500;color:#fff;line-height:1;letter-spacing:-.01em;}
.sd-balrow .sd-c{font-size:28px;color:var(--t3);font-style:italic;}
.sd-balrow .sd-cur{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--gold);}
.sd-tok{display:flex;gap:18px;margin-top:14px;}
.sd-tok span{display:flex;flex-direction:column;gap:3px;font-family:var(--mono);font-size:13px;color:#E8EEF8;}
.sd-tok i{font-style:normal;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
/* vault list */
.sd-vh{margin-top:16px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);}
.sd-rows{display:flex;flex-direction:column;gap:0;margin-top:8px;}
.sd-row{display:flex;align-items:center;justify-content:space-between;
  font-family:var(--mono);font-size:12.5px;color:rgba(232,238,248,.82);
  padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055);}
.sd-row:last-child{border-bottom:none;}
.sd-row i{font-style:normal;font-size:11px;color:var(--t2);letter-spacing:.02em;}
.sd-row i.ok{color:var(--teal);}
.sd-row i.live{color:var(--lime);}
/* full-bleed pearl-reveal video as the resolved shell */
.oshina-wake .ow-shell-vid{position:absolute;inset:0;z-index:13;width:100%;height:100%;object-fit:cover;
  object-position:center 44%;border-radius:0;-webkit-mask:none;mask:none;mix-blend-mode:normal;
  opacity:calc(.18 + var(--wake,0)*.82);
  transform:scale(calc(1.04 - var(--wake,0)*.04));
  transition:opacity 1.4s ease, transform 2s var(--ease);}
.oshina-wake .ow-halo{position:absolute;left:50%;top:48%;width:72cqw;height:72cqw;
  transform:translate(-50%,-50%) scale(calc(.62 + var(--wake,0)*.5));border-radius:50%;
  background:radial-gradient(circle,rgba(196,107,255,.36),rgba(86,236,255,.20) 36%,rgba(255,63,197,.09) 58%,transparent 72%);
  filter:blur(3cqw);opacity:calc(.34 + var(--wake,0)*.66);
  transition:transform 1.5s var(--ease),opacity 1.3s ease;}
.oshina-wake .ow-flower{position:absolute;left:50%;top:48%;width:46cqh;height:46cqh;
  transform:translate(-50%,-50%) scale(calc(.78 + var(--wake,0)*.24)) rotate(calc(var(--wake,0)*22deg));
  opacity:calc(.25 + var(--wake,0)*.75);
  filter:drop-shadow(0 0 26px rgba(150,235,255,.6)) drop-shadow(0 0 60px rgba(196,107,255,.4));
  transition:transform 1.6s var(--ease),opacity 1.3s ease;}
.oshina-wake .ow-video{position:absolute;left:50%;top:48%;width:58cqh;height:58cqh;
  transform:translate(-50%,-50%) scale(calc(.9 + var(--wake,0)*.12));object-fit:cover;border-radius:50%;
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 50%,transparent 70%);
  mask:radial-gradient(circle at 50% 50%,#000 50%,transparent 70%);
  mix-blend-mode:screen;opacity:calc(var(--wake,0)*.92);
  transition:opacity 1.1s ease,transform 1.6s var(--ease);}
.oshina-wake .ow-cap{position:absolute;left:130px;bottom:118px;max-width:34ch;z-index:16;
  opacity:0;transform:translateY(20px);transition:opacity 1s ease .25s,transform 1.1s var(--ease) .25s;}
.oshina-wake.on .ow-cap{opacity:1;transform:none;}
.oshina-wake .ow-eyebrow{font-family:var(--mono);font-size:15px;letter-spacing:.2em;text-transform:uppercase;}
.oshina-wake .ow-cap h3{font-family:var(--serif);font-weight:800;font-size:66px;line-height:1;margin-top:14px;}
.oshina-wake .ow-cap p{font-size:21px;color:var(--t2);margin-top:16px;line-height:1.46;}

/* the resolved Oshina shell photo — silicon guests accepted inside */
.oshina-wake .ow-shell{position:absolute;inset:0;z-index:13;width:100%;height:100%;object-fit:cover;
  object-position:center 44%;
  opacity:calc(.18 + var(--wake,0)*.82);
  transform:scale(calc(1.09 - var(--wake,0)*.07));
  transition:opacity 1.4s ease, transform 2s var(--ease);}
/* "accepted guest" chips, staggered in */
.oshina-wake .ow-guests{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.oshina-wake .og{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:15px;letter-spacing:.04em;color:var(--t1);
  padding:9px 15px;border:1px solid var(--line2);border-radius:999px;
  background:rgba(8,13,26,.62);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(10px);
  transition:opacity .6s ease,transform .7s var(--ease);}
.oshina-wake.on .og{opacity:1;transform:none;}
.oshina-wake.on .og:nth-child(1){transition-delay:.30s;}
.oshina-wake.on .og:nth-child(2){transition-delay:.42s;}
.oshina-wake.on .og:nth-child(3){transition-delay:.54s;}
.oshina-wake.on .og:nth-child(4){transition-delay:.66s;}
.oshina-wake.on .og:nth-child(5){transition-delay:.78s;}
.oshina-wake .og i{font-style:normal;color:var(--accent);font-size:13px;
  filter:drop-shadow(0 0 6px currentColor);}

/* ===== Edge Economy — rented collapses, owned is rebuilt ===== */
.content.edgestory{padding:0;}
.es-back{position:absolute;inset:0;z-index:0;overflow:hidden;background:#04070f;}
.es-frame{position:absolute;inset:-3%;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.05);transition:opacity 1.5s ease,transform 7s linear;}
.es-frame.show{opacity:1;transform:scale(1.13);}
.es-rented{filter:saturate(.42) brightness(.6) contrast(1.04);}
.es-rented.recede{opacity:0 !important;transform:scale(1.18) translateX(-8%);filter:saturate(.28) brightness(.36);
  transition:opacity 1.4s ease,transform 1.8s var(--ease),filter 1.4s ease;}
.es-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(3,6,14,.92) 0%,rgba(3,6,14,.64) 38%,rgba(3,6,14,.28) 66%,rgba(3,6,14,.62) 100%),
    linear-gradient(0deg,rgba(2,4,10,.82),transparent 48%);}
.es-head{position:absolute;left:130px;top:104px;z-index:10;}
.es-head .eyebrow{font-family:var(--mono);font-size:16px;letter-spacing:.26em;text-transform:uppercase;}
.es-rentlabel{position:absolute;left:130px;top:50%;transform:translateY(-50%);z-index:10;max-width:17ch;
  transition:opacity 1s ease,transform 1.1s var(--ease),filter 1s ease;}
.es-rentlabel.out{opacity:0;transform:translateY(-50%) translateX(-48px);filter:blur(7px);pointer-events:none;}
.es-rentlabel .es-tag{font-family:var(--mono);font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);}
.es-rentlabel .es-rt{font-family:var(--serif);font-weight:800;font-size:92px;line-height:.94;margin-top:14px;color:#c9d2e2;}
.es-rentlabel .es-notes{margin-top:28px;display:flex;flex-direction:column;gap:14px;}
.es-rentlabel .es-note{font-family:var(--serif);font-size:23px;color:var(--t2);max-width:24ch;
  padding-left:16px;border-left:2px solid rgba(255,255,255,.16);}
.es-owned{position:absolute;left:130px;right:130px;bottom:112px;z-index:11;
  opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1.2s var(--ease);}
.es-owned.in{opacity:1;transform:none;}
.es-owned.out{opacity:0 !important;transform:translateY(16px) !important;
  transition:opacity .9s ease,transform 1s var(--ease);pointer-events:none;}
.es-head.out{opacity:0;transition:opacity .8s ease;}
.es-owned .es-ot{font-family:var(--serif);font-weight:800;font-size:100px;line-height:.92;
  letter-spacing:-.02em;color:#fff;text-shadow:0 10px 46px rgba(0,0,0,.55);}
.es-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;max-width:1540px;}
.es-block{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;
  padding:26px 28px;background:linear-gradient(180deg,rgba(8,14,26,.68),rgba(6,10,20,.52));backdrop-filter:blur(10px);
  opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .95s var(--ease);}
.es-block.in{opacity:1;transform:none;}
.es-block .es-bk{font-family:var(--serif);font-weight:700;font-size:34px;color:var(--accent);}
.es-block .es-bp{font-size:19px;color:var(--t2);margin-top:10px;line-height:1.46;}

/* ---- Suite pre-echo: "everything is already inside the shell" (~1:20) ---- */
.es-suite{position:absolute;inset:0;z-index:20;display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity 1.4s ease;}
.es-suite.on{opacity:1;}
.es-suite-scrim{position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 46%,rgba(4,8,16,.62),rgba(2,4,10,.92) 78%);
  opacity:0;transition:opacity 1.5s ease;}
.es-suite.on .es-suite-scrim{opacity:1;}
.es-suite-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  text-align:center;max-width:1120px;padding:0 80px;
  transform:translateY(26px) scale(.985);transition:transform 1.5s var(--ease);}
.es-suite.on .es-suite-stage{transform:none;}
.es-suite-eyebrow{font-family:var(--mono);font-size:15px;letter-spacing:.26em;text-transform:uppercase;color:var(--lime);}
.es-suite-h{font-family:var(--serif);font-weight:800;font-size:78px;line-height:1;margin-top:16px;color:#fff;}
.es-suite-h em{font-style:italic;color:var(--lime);}
.es-suite-core{position:relative;width:148px;height:148px;margin:34px 0 4px;display:grid;place-items:center;}
.es-suite-halo{position:absolute;inset:-40%;border-radius:50%;
  background:radial-gradient(circle,rgba(200,251,106,.30),rgba(86,236,255,.16) 42%,transparent 70%);
  filter:blur(10px);animation:sealpulse 3.4s ease-in-out infinite;}
.es-suite-mk{position:relative;width:148px;height:148px;
  filter:drop-shadow(0 0 22px rgba(150,235,255,.55)) drop-shadow(0 0 50px rgba(200,251,106,.35));}
.es-suite-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;max-width:860px;}
.es-chip{font-family:var(--mono);font-size:16px;letter-spacing:.04em;color:var(--t2);
  padding:11px 20px;border:1px solid var(--line2);border-radius:999px;
  background:rgba(8,13,26,.6);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(12px);
  transition:opacity .55s ease,transform .6s var(--ease),color .4s ease,border-color .4s ease;}
.es-chip.lit{opacity:1;transform:none;color:#fff;border-color:rgba(200,251,106,.5);
  box-shadow:0 0 22px rgba(200,251,106,.14);}
.es-suite-sub{font-family:var(--serif);font-size:24px;color:var(--t2);margin-top:30px;max-width:40ch;line-height:1.5;}

/* ===== Begin-screen secondary button + in-film section menu ===== */
.begin-menu{margin-top:16px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:15px;font-weight:500;color:var(--t2);
  background:transparent;border:1px solid var(--line2);border-radius:999px;
  padding:12px 22px;cursor:pointer;transition:.22s var(--ease);}
.begin-menu:hover{color:#eafcff;border-color:var(--cyan);}

#chapBtn{width:42px;height:42px;border-radius:10px;border:1px solid var(--line2);
  background:rgba(255,255,255,.05);color:var(--t2);cursor:pointer;font-size:18px;line-height:1;}
#chapBtn:hover{color:#eafcff;border-color:var(--cyan);}

#chapters{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  background:rgba(2,4,9,.72);backdrop-filter:blur(8px);opacity:0;visibility:hidden;
  transition:opacity .3s var(--ease),visibility .3s;}
#chapters.show{opacity:1;visibility:visible;}
.chap-panel{width:min(760px,92vw);max-height:86vh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#0a1322,#060a14);border:1px solid var(--line2);
  border-radius:18px;box-shadow:0 40px 120px rgba(0,0,0,.6);overflow:hidden;
  transform:translateY(14px) scale(.985);transition:transform .3s var(--ease);}
#chapters.show .chap-panel{transform:none;}
.chap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:26px 30px 20px;border-bottom:1px solid var(--line);}
.chap-kick{font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--cyan);}
.chap-head h2{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:-.01em;margin-top:8px;}
#chapCloseBtn{flex:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--line2);
  background:transparent;color:var(--t2);font-size:16px;cursor:pointer;transition:.2s;}
#chapCloseBtn:hover{color:#fff;border-color:var(--cyan);}
.chap-list{overflow-y:auto;padding:10px 16px 20px;}
.chap-act{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--t3);padding:18px 14px 8px;}
.chap-item{display:grid;grid-template-columns:42px 60px 1fr auto;align-items:center;gap:16px;
  width:100%;text-align:left;padding:13px 14px;border:0;border-radius:11px;background:transparent;
  color:var(--t1);cursor:pointer;transition:.18s var(--ease);}
.chap-item:hover{background:rgba(86,236,255,.08);}
.chap-item .ci-n{font-family:var(--mono);font-size:13px;color:var(--t3);}
.chap-item .ci-t{font-family:var(--mono);font-size:13px;color:var(--cyan);}
.chap-item .ci-l{font-size:17px;font-weight:500;}
.chap-item .ci-go{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--cyan);
  opacity:0;transition:.18s;}
.chap-item:hover .ci-go{opacity:1;}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .scene.is-active .bg .frame.show{animation:none;}
  .world,.close-seal,.begin-inner .bseal{animation:none;}
  .world .worb .glw,.world .worb .ring,.world .wlattice svg,
  .world .wslide-aura .aura-bloom,.world .wslide-aura .aura-flower,.world .wslide-aura .aura-spark{animation:none;}
  .r,.r-blur,.clip>span{transition-duration:.01ms !important;}
  .es-frame{transition:opacity .4s ease;}
}
