
  :root{
    --void-0:#03070D; --void-1:#0B1422; --void-2:#162640;
    --gold-bright:#FFEFA8; --gold-royal:#F4DD8D; --gold:#C8A84E; --gold-rich:#9C7A2E; --gold-shadow:#3F2E10;
    --teal:#2DD4BF; --ink:#EAE6DA; --mute:#8A93A6;
    --ff-cer:Georgia,'Iowan Old Style',serif;
    --ff-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Arial,sans-serif;
    --ff-mono:'SFMono-Regular',ui-monospace,Consolas,monospace;
    --grad-gold:linear-gradient(135deg,#FFEFA8 0%,#F4DD8D 28%,#C8A84E 55%,#9C7A2E 100%);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;background:var(--void-0)}
  body{font-family:var(--ff-sans);color:var(--ink);background:var(--void-0);overflow-x:hidden;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  canvas#bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}
  .vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(125% 90% at 50% 36%,transparent 38%,rgba(0,0,0,.6) 100%)}
  main{position:relative;z-index:2}

  /* chrome */
  .wordmark{position:fixed;top:22px;left:30px;z-index:30;font-family:var(--ff-cer);font-size:16px;letter-spacing:.5px}
  .wordmark b{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
  .wordmark span{color:var(--mute);font-family:var(--ff-mono);font-size:9.5px;letter-spacing:2px;display:block;margin-top:2px}
  .topcta{position:fixed;top:20px;right:30px;z-index:30;display:flex;gap:10px;align-items:center}
  .pill{font-family:var(--ff-mono);font-size:10px;letter-spacing:1.5px;padding:8px 15px;border-radius:30px;
    border:1px solid rgba(200,168,78,.4);color:var(--gold-royal);background:rgba(200,168,78,.06);cursor:pointer;transition:.3s}
  .pill:hover{background:rgba(200,168,78,.16);border-color:var(--gold)}
  .pill.solid{background:var(--grad-gold);color:#1a1205;border:none;font-weight:700}
  .prelaunch{position:fixed;bottom:0;left:0;right:0;z-index:30;text-align:center;padding:7px 10px;
    font-family:var(--ff-mono);font-size:9.5px;letter-spacing:1px;color:var(--mute);
    background:rgba(3,7,13,.72);border-top:1px solid rgba(200,168,78,.15);backdrop-filter:blur(6px)}
  .prelaunch b{color:var(--gold-royal)}
  .rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:30;height:240px;width:2px;background:rgba(200,168,78,.15);border-radius:2px}
  .rail .fill{position:absolute;top:0;left:0;width:100%;background:var(--grad-gold);border-radius:2px;height:0;box-shadow:0 0 10px rgba(244,221,141,.6)}
  .rail .cap{position:absolute;left:-46px;bottom:-26px;font-family:var(--ff-mono);font-size:8px;letter-spacing:1px;color:var(--mute);width:120px;transform:rotate(-90deg);transform-origin:left}

  section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;
    padding:96px 24px;position:relative;text-align:center}
  .eyebrow{font-family:var(--ff-mono);font-size:11px;letter-spacing:5px;color:var(--gold);margin-bottom:20px;opacity:.92}
  .twi{font-family:var(--ff-cer);font-style:italic;font-size:17px;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:16px}
  .twi-en{font-family:var(--ff-mono);font-size:10px;letter-spacing:2px;color:var(--mute);margin-top:6px;text-transform:uppercase}
  h1{font-family:var(--ff-cer);font-weight:700;line-height:.96;font-size:clamp(50px,9.4vw,132px);letter-spacing:-1.5px}
  h1 .l2{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
  h2{font-family:var(--ff-cer);font-weight:700;font-size:clamp(30px,5vw,58px);line-height:1.0;letter-spacing:-.5px}
  h2 em{font-style:normal;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
  .lede{font-size:clamp(15px,1.6vw,19px);color:#C9CEDA;max-width:600px;margin:20px auto 0;line-height:1.62}
  .creed{display:flex;justify-content:center;align-items:center;gap:15px;font-family:var(--ff-mono);font-size:clamp(11px,1.35vw,15px);letter-spacing:.42em;color:var(--gold-royal);margin:22px auto 0;text-indent:.42em}
  .creed::before,.creed::after{content:"";width:38px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
  .creed.big{font-size:clamp(13px,1.7vw,19px);color:var(--gold-bright)}
  .actno{font-family:var(--ff-mono);font-size:10px;letter-spacing:4px;color:var(--gold-rich);margin-bottom:14px}
  .addr{font-family:var(--ff-mono);font-size:11px;color:var(--gold-royal);border:1px solid rgba(200,168,78,.3);
    border-radius:6px;padding:7px 13px;display:inline-flex;gap:8px;align-items:center;margin-top:24px;background:rgba(200,168,78,.05);transition:.3s}
  .addr:hover{background:rgba(200,168,78,.14)}
  .addr .v{color:var(--teal);font-weight:700}

  .rv{opacity:0;transform:translateY(34px);transition:opacity 1.05s cubic-bezier(.2,.7,.2,1),transform 1.05s cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1;transform:none}
  .rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.22s}.rv.d3{transition-delay:.36s}.rv.d4{transition-delay:.5s}

  .scrollcue{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:9px;letter-spacing:3px;color:var(--mute);animation:bob 2.4s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translate(-50%,0);opacity:.5}50%{transform:translate(-50%,8px);opacity:1}}

  /* ===== HERO SEAL (Act 0 centerpiece) ===== */
  .hero-seal{position:absolute;top:50%;left:50%;width:min(82vw,620px);height:min(82vw,620px);
    transform:translate(-50%,-54%);z-index:-1;opacity:.9;pointer-events:none}
  .hero-seal .spin{transform-origin:center;animation:spin 60s linear infinite}
  .hero-seal .spin2{transform-origin:center;animation:spin 90s linear infinite reverse}
  @keyframes spin{to{transform:rotate(360deg)}}
  .hero-aura{position:absolute;top:50%;left:50%;width:min(70vw,560px);height:min(70vw,560px);transform:translate(-50%,-54%);
    border-radius:50%;z-index:-2;pointer-events:none;
    background:radial-gradient(circle,rgba(244,221,141,.2),rgba(200,168,78,.06) 42%,transparent 68%);filter:blur(6px);animation:breathe 7s ease-in-out infinite}
  @keyframes breathe{0%,100%{transform:translate(-50%,-54%) scale(1);opacity:.85}50%{transform:translate(-50%,-54%) scale(1.1);opacity:1}}

  /* ===== GOLD INGOT (Act I) ===== */
  .bar-wrap{position:relative;width:min(74vw,440px);height:260px;margin:20px auto 4px}
  #bar3d{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;z-index:2}
  #bar3d:active{cursor:grabbing}
  #barFallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;display:block;filter:drop-shadow(0 26px 34px rgba(0,0,0,.6))}
  .sheen{position:absolute;top:24%;left:-30%;width:38%;height:42%;pointer-events:none;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);
    transform:skewX(-18deg);animation:sheen 4.5s ease-in-out infinite}
  @keyframes sheen{0%{left:-40%;opacity:0}25%{opacity:.9}55%{left:120%;opacity:0}100%{left:120%;opacity:0}}
  .xrf{position:absolute;left:6%;right:6%;height:2px;top:18%;z-index:5;background:linear-gradient(90deg,transparent,var(--teal),transparent);
    box-shadow:0 0 14px var(--teal);opacity:0}
  .xrf.scan{animation:xrf 1.5s cubic-bezier(.4,0,.6,1) 2}
  @keyframes xrf{0%{top:14%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:84%;opacity:0}}
  .gates{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-width:560px;margin:30px auto 0}
  @media(max-width:560px){.gates{grid-template-columns:repeat(2,1fr)}}
  .gate{border:1px solid rgba(200,168,78,.2);border-radius:8px;padding:10px 7px;background:rgba(11,20,34,.6);transition:.45s;opacity:.3}
  .gate .n{font-family:var(--ff-mono);font-size:9px;color:var(--mute);letter-spacing:1px}
  .gate .t{font-size:11px;margin-top:5px;color:#C9CEDA}
  .gate .dot{width:7px;height:7px;border-radius:50%;background:#33405a;margin:7px auto 0;transition:.4s}
  .gate.sealed{opacity:1;border-color:rgba(45,212,191,.55);background:rgba(45,212,191,.1);box-shadow:0 0 18px rgba(45,212,191,.18)}
  .gate.sealed .dot{background:var(--teal);box-shadow:0 0 9px var(--teal)}
  .sealbadge{margin-top:24px;font-family:var(--ff-mono);font-size:13px;letter-spacing:3px;color:var(--teal);opacity:0;transition:.6s;text-shadow:0 0 14px rgba(45,212,191,.4)}
  .sealbadge.on{opacity:1}

  /* ===== KOMMIT APERTURE (Act II) ===== */
  .aperture{position:relative;width:min(56vw,280px);height:min(56vw,280px);margin:24px auto 4px}
  .aperture svg{width:100%;height:100%;overflow:visible}
  .ap-r1{transform-origin:center;animation:spin 24s linear infinite}
  .ap-r2{transform-origin:center;animation:spin 16s linear infinite reverse}
  .ap-core{transform-origin:center;animation:pulse 3s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:.7}50%{opacity:1}}
  .orbit{position:absolute;inset:0;animation:spin 30s linear infinite}
  .orbit span{position:absolute;font-family:var(--ff-mono);font-size:9px;color:var(--gold-royal);white-space:nowrap;opacity:.8}
  .orbit .o1{top:-4%;left:50%;transform:translateX(-50%)}
  .orbit .o2{top:50%;right:-18%;transform:translateY(-50%)}
  .orbit .o3{bottom:-4%;left:50%;transform:translateX(-50%)}
  .orbit .o4{top:50%;left:-16%;transform:translateY(-50%)}
  .flowtag{font-family:var(--ff-cer);font-size:clamp(20px,3vw,30px);letter-spacing:3px;margin-top:14px;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}

  /* ===== WITNESS NODES (Act III) ===== */
  .witness{position:relative;width:min(72vw,440px);height:150px;margin:28px auto 6px}
  .wnode{position:absolute;top:42px;width:64px;height:64px;border-radius:50%;
    background:radial-gradient(circle at 38% 32%,#FFEFA8,#C8A84E 60%,#6e4f1d);
    box-shadow:0 0 26px rgba(244,221,141,.4),inset 0 -6px 12px rgba(63,46,16,.6);
    display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:9px;color:#4a3514;font-weight:700;
    animation:wpulse 3s ease-in-out infinite}
  .wnode.exit{right:0;animation-delay:1.5s}
  @keyframes wpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
  .wline{position:absolute;top:73px;left:64px;right:64px;height:2px;background:linear-gradient(90deg,rgba(200,168,78,.2),rgba(200,168,78,.55),rgba(200,168,78,.2))}
  .wpulse-dot{position:absolute;top:69px;left:64px;width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal);animation:travel 3.4s ease-in-out infinite}
  @keyframes travel{0%{left:64px;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 73px);opacity:0}}
  .wlbl{position:absolute;font-family:var(--ff-mono);font-size:9px;letter-spacing:1px;color:var(--mute);top:118px}
  .wlbl.l{left:6px}.wlbl.r{right:6px}
  .wlbl b{color:var(--gold-royal);display:block;font-size:10px}

  /* ===== COIN (Act IV) ===== */
  .coin-stage{position:relative;width:min(70vw,340px);height:min(70vw,340px);margin:12px auto;perspective:800px}
  #coin3d{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;z-index:2}
  #coin3d:active{cursor:grabbing}
  .coin-hint{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:9px;letter-spacing:2px;color:var(--mute);opacity:.6;z-index:3}
  .coin{width:100%;height:100%;border-radius:50%;position:absolute;inset:0;
    background:radial-gradient(circle at 36% 30%,#FFF6CF,#F4DD8D 26%,#C8A84E 56%,#9C7A2E 80%,#5e4319 100%);
    box-shadow:0 0 70px rgba(244,221,141,.4),inset 0 8px 16px rgba(255,255,255,.55),inset 0 -16px 30px rgba(63,46,16,.75);
    display:flex;align-items:center;justify-content:center;transition:transform .15s}
  .coin::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px solid rgba(94,67,25,.45);box-shadow:inset 0 0 12px rgba(63,46,16,.4)}
  .coin::after{content:"";position:absolute;inset:18px;border-radius:50%;border:1px solid rgba(94,67,25,.3)}
  .coin .sov{font-family:var(--ff-cer);font-weight:700;font-size:clamp(46px,7vw,72px);color:#5b4318;letter-spacing:1px;
    text-shadow:0 2px 0 rgba(255,255,255,.45),0 -1px 1px rgba(0,0,0,.35),0 0 1px rgba(0,0,0,.4)}
  .coin-sheen{position:absolute;inset:0;border-radius:50%;pointer-events:none;
    background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.42) 28deg,transparent 70deg,transparent 360deg);
    mix-blend-mode:overlay;animation:spin 5.5s linear infinite}
  .strike{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold-royal);opacity:0;pointer-events:none}
  .strike.go{animation:strike .85s ease-out}
  @keyframes strike{0%{transform:scale(.85);opacity:.9}100%{transform:scale(2.4);opacity:0}}
  .minttag{font-family:var(--ff-mono);font-size:11px;letter-spacing:1px;color:var(--teal);margin-top:14px;opacity:0;transition:.6s}
  .minttag.on{opacity:1}
  .trinity{display:flex;gap:24px;justify-content:center;margin:24px auto 0;flex-wrap:wrap}
  .tri b{display:block;font-family:var(--ff-cer);font-size:18px;margin-bottom:3px;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
  .tri span{color:var(--mute);font-family:var(--ff-mono);font-size:9px;letter-spacing:1.5px}

  /* ===== LEDGER (Act V) ===== */
  .ledger{max-width:720px;margin:28px auto 0;width:100%}
  .lrow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 6px;border-bottom:1px solid rgba(200,168,78,.12);font-size:13px;transition:.25s}
  .lrow:hover{background:rgba(200,168,78,.05)}
  .lrow .nm{color:#C9CEDA;text-align:left}
  .lrow .ad{font-family:var(--ff-mono);font-size:11px;color:var(--gold-royal)}
  .lrow .st{font-family:var(--ff-mono);font-size:9px;letter-spacing:1px;color:var(--teal);border:1px solid rgba(45,212,191,.4);border-radius:20px;padding:2px 9px}
  .ctarow{display:flex;gap:16px;justify-content:center;margin-top:38px;flex-wrap:wrap}
  .btn{font-family:var(--ff-sans);font-weight:700;font-size:15px;padding:16px 30px;border-radius:9px;cursor:pointer;transition:.3s;border:none}
  .btn.gold{background:var(--grad-gold);color:#1a1205;box-shadow:0 14px 34px rgba(200,168,78,.28)}
  .btn.gold:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(200,168,78,.42)}
  .btn.ghost{background:transparent;color:var(--gold-royal);border:1px solid rgba(200,168,78,.4)}
  .btn.ghost:hover{background:rgba(200,168,78,.1)}
  .built{margin-top:38px;font-size:13px;color:var(--mute);max-width:560px;line-height:1.6}
  .built b{color:var(--ink)}
  .built em{color:var(--gold-royal);font-style:normal}
  @media(prefers-reduced-motion:reduce){.rv{transition:none;opacity:1;transform:none}
    .hero-seal .spin,.hero-seal .spin2,.ap-r1,.ap-r2,.ap-core,.orbit,.coin-sheen,.sheen,.wnode,.wpulse-dot,.hero-aura,.scrollcue{animation:none}}

/* externalized utility classes (CSP: no inline style attrs) */
.mt6{margin-top:6px}.mt8{margin-top:8px}.mt14{margin-top:14px}.mt18{margin-top:18px}
.gold-b{color:var(--gold-royal)}

/* ============================================================
   MOBILE FIXES · 2026-05-28
   Header collision · hero readability · touch-drag scroll lock
   ============================================================ */
/* Let the WebGL canvases own the drag gesture so the page doesn't
   scroll while inspecting the coin/bar (the key mobile bug). */
#coin3d,#bar3d{touch-action:none}

@media (max-width:680px){
  /* — header: stop the wordmark/pill collision — */
  .wordmark{top:13px;left:14px;font-size:13px;max-width:58vw;line-height:1.15}
  .wordmark span{display:none}                 /* drop the subtitle on mobile */
  .topcta{top:10px;right:12px;gap:6px}
  .pill{font-size:8px;letter-spacing:.06em;padding:6px 9px}
  #sound{display:none}                          /* free up room; keep the data-room CTA */
  .rail{display:none}                           /* the VERIFY rail overlapped body text */

  /* — give content room below the fixed header — */
  section{padding:108px 18px 92px}

  /* — hero readability: calm the backdrop, lift the text — */
  .hero-seal{opacity:.3}
  .hero-aura{opacity:.7}
  #act0 .eyebrow,#act0 h1,#act0 .lede,#act0 .creed,#act0 .twi,#act0 .twi-en{
    text-shadow:0 2px 20px rgba(3,7,13,.9),0 1px 4px rgba(3,7,13,.95)}
  .eyebrow{letter-spacing:.22em;font-size:10px}
  h1{font-size:clamp(40px,14.5vw,62px)}
  h2{font-size:clamp(27px,7.4vw,40px)}
  .lede{font-size:15px;max-width:92vw;line-height:1.6}

  /* — creeds were wrapping badly at .42em tracking — */
  .creed{letter-spacing:.18em;gap:9px}
  .creed::before,.creed::after{width:20px}
  .creed.big{letter-spacing:.16em}
}

/* — gold gradient headlines can't use text-shadow (clipped/transparent fill);
     drop-shadow filters the rendered glyph shape, so it reads on bright bg — */
h1 .l2,h2 em{filter:drop-shadow(0 1px 5px rgba(3,7,13,.5))}
@media (max-width:680px){
  .hero-seal{opacity:.16}        /* faint texture only — keep type clean */
  .hero-aura{opacity:.5}
  #act0 .l2{filter:drop-shadow(0 2px 10px rgba(3,7,13,.9))}
}

/* — per direction: NO shadow on the headline. Remove the drop-shadow and
     brighten the gold gradient so "proves itself." reads clean on its own. — */
h1 .l2{background:linear-gradient(175deg,#FFF0AE 0%,#F4DD8D 50%,#E8C657 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none}
h2 em{filter:none}
@media (max-width:680px){ #act0 .l2{filter:none} }

/* ════════════════════════════════════════════════════════════
   ROOT-KILL · 2026-05-28 · the persistent "proves itself." shadow.
   CAUSE: #act0 h1{ text-shadow } (added for mobile readability) is an
   INHERITED property, so it reached the .l2 gradient-clipped span.
   On background-clip:text, iOS WebKit paints that shadow as a dark
   emboss — the white line is fine, only the gold span breaks.
   FIX: the gold gradient span takes NO shadow/filter, ever. The white
   "Gold that" keeps its readability shadow (it's solid text).
   ════════════════════════════════════════════════════════════ */
#act0 h1 .l2,
h1 .l2,
h2 em{ text-shadow:none !important; filter:none !important; }
