:root{--ink:#0e0714;--plum:#1a0f20;--ember:#e0346f;--ember-deep:#c4175a;--gold:#f5b942;--cream:#fff1d6;--text:#f6eef3;--muted:#f6eef3b8;--display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--body:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--ink)}body{color:var(--text);font-family:var(--body);background:radial-gradient(120% 80% at 50% 0%, #2a1530, var(--ink) 70%);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}#stage{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.vignette{z-index:1;pointer-events:none;background:linear-gradient(90deg,#08030c9e,#0000 52%),radial-gradient(#0000 55%,#08030c8c 100%),linear-gradient(#08030c73,#0000 22% 78%,#08030c80);position:fixed;inset:0}em{font-family:var(--display);color:var(--gold);font-style:italic;font-weight:400}a{color:inherit}#loader{z-index:50;background:var(--ink);place-content:center;justify-items:center;gap:18px;transition:opacity .9s,visibility .9s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}.loader-mark{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(34px,6vw,56px);font-weight:600}.loader-bar{background:#ffffff1f;border-radius:3px;width:min(260px,60vw);height:3px;overflow:hidden}.loader-bar span{background:linear-gradient(90deg, var(--ember), var(--gold));width:0;height:100%;transition:width .25s;display:block}.loader-note{color:var(--muted);letter-spacing:.04em;margin:0;font-size:14px}.bar{z-index:20;padding:max(16px, env(safe-area-inset-top)) clamp(16px, 4vw, 44px) 12px;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.mark{font-family:var(--display);letter-spacing:-.02em;font-size:26px;font-weight:600;text-decoration:none}.btn{background:linear-gradient(135deg, var(--ember-deep), var(--ember));color:#fff;font:600 15px/1 var(--body);letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:14px 26px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 30px #e0346f59}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px #e0346f80}.btn:focus-visible,.dots button:focus-visible,.mark:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-small{box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border-color:#ffffff38;padding:10px 18px;font-size:14px}.progress{z-index:30;height:3px;position:fixed;top:0;left:0;right:0}.progress span{transform-origin:0;background:linear-gradient(90deg, var(--ember), var(--gold));width:100%;height:100%;display:block;transform:scaleX(0)}.dots{z-index:20;gap:14px;display:grid;position:fixed;top:50%;right:clamp(12px,2.4vw,32px);transform:translateY(-50%)}.dots button{cursor:pointer;background:0 0;border:1px solid #ffffff8c;border-radius:50%;width:10px;height:10px;padding:0;transition:transform .25s,background .25s}.dots button[aria-current=true]{background:var(--gold);border-color:var(--gold);transform:scale(1.5)}#story{z-index:10;position:relative}.chapter{min-height:100vh;align-items:center;min-height:100svh;padding:90px clamp(18px,6vw,96px);display:flex}.chapter.right{justify-content:flex-end}.chapter.left{justify-content:flex-start}.chapter.center{text-align:center;justify-content:center}.hero-copy{max-width:760px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-size:12px;font-weight:700}h1,h2{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 18px;font-weight:500;line-height:1.04}h1{text-shadow:0 6px 40px #00000080;font-size:clamp(44px,8.4vw,108px)}h2{font-size:clamp(32px,4.2vw,54px)}.lede{max-width:46ch;color:var(--muted);margin:0 0 28px;font-size:clamp(17px,1.6vw,21px)}.scroll-hint{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin:44px 0 0;font-size:12px;display:flex}.scroll-hint span{background:linear-gradient(var(--gold), transparent);transform-origin:top;width:1px;height:44px;animation:2.2s ease-in-out infinite hint}@keyframes hint{0%,to{opacity:.4;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}}.glass{-webkit-backdrop-filter:blur(18px)saturate(1.3);opacity:0;background:linear-gradient(160deg,#220e2894,#220e284d);border:1px solid #fff3;border-radius:28px;width:min(460px,42vw);padding:clamp(24px,2.6vw,38px);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1);animation:7s ease-in-out infinite bob;transform:translateY(34px)scale(.98);box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff40}.chapter.is-active .glass{opacity:1;transform:none}@keyframes bob{0%,to{translate:0}50%{translate:0 -8px}}.glass p{color:var(--muted);margin:0 0 16px}.glass .eyebrow{color:var(--gold)}.facts{color:var(--muted);border-top:1px solid #ffffff29;flex-wrap:wrap;gap:10px 28px;margin:22px 0 0;padding:18px 0 0;font-size:14px;list-style:none;display:flex}.facts b{font-family:var(--display);color:var(--cream);font-size:26px;font-weight:500;line-height:1.1;display:block}.finale{width:min(620px,92vw);padding:clamp(30px,4vw,54px)}.finale .btn{margin-top:8px}.hero-copy{opacity:0;transition:opacity 1s .3s,transform 1s .3s;transform:translateY(24px)}body.ready .chapter.c0 .hero-copy{opacity:1;transform:none}body.ready .chapter.c0:not(.is-active) .hero-copy{opacity:0;transition-delay:0s;transform:translateY(-20px)}.noscript{z-index:60;background:var(--plum);text-align:center;margin:0;padding:14px;position:fixed;inset:auto 0 0}.no-webgl #stage{display:none}.no-webgl body,body.no-webgl{background:radial-gradient(60% 50% at 70% 20%, #e0346f59, transparent 70%), radial-gradient(50% 50% at 20% 80%, #f5b94233, transparent 70%), var(--ink)}@media (max-width:760px){body{font-size:16px}.dots{display:none}.chapter{align-items:flex-end;padding:90px 14px 28px}.chapter.c0{align-items:flex-end;padding-bottom:56px}.glass,.finale{background:linear-gradient(160deg,#14081a9e,#14081a66);border-radius:24px;width:100%;padding:22px 20px}.facts b{font-size:22px}.btn{padding:13px 22px}}@media (min-width:761px) and (max-width:1060px){.glass{width:min(420px,52vw)}}@media (prefers-reduced-motion:reduce){.glass{transition:opacity .2s;animation:none;transform:none}.scroll-hint span{animation:none}.hero-copy{transition:opacity .2s;transform:none}}
