:root{
  --bg:#0a0a0b;
  --ink:#ece6d9;
  --muted:#a8a29a;
  --brass:#c9a227;
  --blood:#c8321e;
  --line:rgba(236,230,217,.14);
  --card:rgba(16,16,18,.72);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%}
html,body{max-width:100%;overscroll-behavior-y:none}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;overflow-x:hidden;touch-action:pan-y;-webkit-tap-highlight-color:transparent;min-height:100dvh}
img,canvas,svg{max-width:100%}
.mobile-only{display:none}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* loader */
#loader{position:fixed;inset:0;z-index:50;background:#060607;display:flex;align-items:center;justify-content:center;transition:opacity .7s ease, visibility .7s}
#loader.done{opacity:0;visibility:hidden}
.loader-inner{text-align:center;width:min(420px,84vw)}
.loader-kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.25em;color:var(--brass)}
.loader-title{font-family:'Anton',sans-serif;font-size:64px;letter-spacing:.02em;margin:10px 0 18px}
.loader-bar{height:2px;background:rgba(255,255,255,.12);overflow:hidden;border-radius:99px}
#loadBar{height:100%;width:0%;background:var(--brass);transition:width .2s}
#loadPct{font-family:'JetBrains Mono',monospace;margin-top:10px;font-size:12px;color:var(--ink)}
.loader-sub{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;color:#666}

/* canvas */
#webgl{position:fixed;inset:0;width:100%;height:100%;height:100dvh;display:block;z-index:0;touch-action:pan-y}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 100%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);background:rgba(10,10,11,.55)}
.brand{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;display:flex;align-items:center;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--blood);box-shadow:0 0 12px var(--blood);display:inline-block}
.nav-links{display:flex;gap:26px}
.nav-links a{color:var(--muted);text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.nav-links a:hover{color:var(--ink)}
.nav-cta{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;border:1px solid var(--line);padding:8px 12px;border-radius:99px;color:var(--brass)}
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:11;background:transparent}
#progressBar{height:100%;width:0;background:linear-gradient(90deg,var(--brass),var(--blood))}

/* panels */
main{position:relative;z-index:2}
.panel{min-height:100vh;min-height:100svh;min-height:100dvh;padding:120px 5vw 60px;padding-top:calc(120px + env(safe-area-inset-top));padding-bottom:calc(60px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;position:relative}
.hero{justify-content:center}
.hero-top{margin-bottom:18px;color:var(--brass)}
.mega{font-family:'Anton',sans-serif;font-size:clamp(56px,17vw,220px);line-height:.86;letter-spacing:.01em;text-shadow:0 20px 80px rgba(0,0,0,.6);overflow-wrap:break-word}
.mega .outline{color:transparent;-webkit-text-stroke:2px var(--ink)}
.hero-row{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;justify-content:space-between;margin-top:28px;max-width:1100px}
.lede{font-size:18px;line-height:1.5;color:#d6d0c2;max-width:420px}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chips span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;border:1px solid var(--line);padding:9px 13px;border-radius:99px;background:rgba(0,0,0,.4);backdrop-filter:blur(8px)}
.hero-side{position:absolute;right:34px;top:50%;transform:translateY(-50%);text-align:right;line-height:1.9;border-right:1px solid var(--brass);padding-right:16px}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-hint span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.3em;color:var(--muted)}
.wheel{width:24px;height:38px;border:1px solid var(--muted);border-radius:14px;position:relative}
.wheel::after{content:'';position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:4px;background:var(--brass);animation:wheel 1.6s infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(12px);opacity:0}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:38px;backdrop-filter:blur(16px);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.kicker{color:var(--brass);margin-bottom:14px}
h2{font-family:'Anton',sans-serif;font-size:clamp(38px,5vw,68px);line-height:.95;letter-spacing:.01em;margin-bottom:16px}
h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--brass)}
.card p{color:#c9c3b6;line-height:1.65;font-size:15.5px}
.stat-row{display:flex;gap:28px;margin-top:26px;border-top:1px solid var(--line);padding-top:22px}
.stat-row b{font-family:'Anton',sans-serif;font-size:32px;display:block;color:var(--ink)}
.stat-row span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}

.section-head{max-width:640px;margin-bottom:30px}
.section-head .sub{color:var(--muted);margin-top:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mini{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;backdrop-filter:blur(14px);transition:transform .3s,border-color .3s}
.mini:hover{transform:translateY(-6px);border-color:var(--brass)}
.mini .num{color:var(--brass);margin-bottom:12px}
.mini h3{font-family:'Anton',sans-serif;font-size:24px;letter-spacing:.02em;margin-bottom:10px}
.mini p{color:#bdb7a9;font-size:14px;line-height:1.6}

.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:22px 0}
.spec-grid div{background:#101012;padding:16px 18px}
.spec-grid span{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--muted);margin-bottom:6px}
.spec-grid b{font-size:15px}
.fine{font-size:12px!important;color:#7d7870!important}

.finale{text-align:center;align-items:center}
.finale .center{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);padding:54px 40px;border-radius:24px;backdrop-filter:blur(18px)}
.big{font-size:clamp(50px,8vw,96px)!important}
.btn-row{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.btn{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:14px 22px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:99px;cursor:pointer;text-decoration:none;border:1px solid var(--line);transition:.25s}
.btn.solid{background:var(--ink);color:#111;border-color:var(--ink)}
.btn.solid:hover{background:var(--brass);border-color:var(--brass)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{border-color:var(--brass);color:var(--brass)}
footer{margin-top:60px;color:#6b675f;font-size:10px;letter-spacing:.18em;line-height:2;max-width:900px}
footer a{color:var(--brass);text-decoration:none;border-bottom:1px solid rgba(201,162,39,.45);transition:color .25s,border-color .25s}
footer a:hover{color:var(--ink);border-color:var(--ink)}
.brand-line{margin-top:8px;color:#8f8a80}
.brand-line a{font-weight:500}

.hint-3d{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));right:24px;z-index:10;background:rgba(0,0,0,.55);border:1px solid var(--line);padding:10px 14px;border-radius:99px;backdrop-filter:blur(10px);max-width:calc(100vw - 48px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.reveal{opacity:0;transform:translateY(36px)}

@media(max-width:900px){
  .nav{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top))}
  .brand{font-size:10px}
  .nav-cta{display:none}
  .split{grid-template-columns:1fr;gap:24px}
  .cards{grid-template-columns:1fr}
  .hero-side{display:none}
  .nav-links{display:none}
  .panel{padding:104px 6vw calc(50px + env(safe-area-inset-bottom))}
  .card{padding:26px}
  .desktop-only{display:none}
  .mobile-only{display:inline}
  .lede{font-size:16px}
  .stat-row{flex-wrap:wrap;gap:18px}
  .stat-row b{font-size:26px}
  .finale .center{padding:36px 22px}
  .btn-row .btn{flex:1 1 100%}
  .hint-3d{left:50%;right:auto;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));font-size:10px}
  .scroll-hint{bottom:calc(64px + env(safe-area-inset-bottom))}
  #loader .loader-title,.loader-title{font-size:clamp(40px,13vw,64px)}
}

@media(max-width:480px){
  h2{font-size:clamp(32px,9vw,44px)}
  .big{font-size:clamp(40px,12vw,60px)!important}
  .spec-grid{grid-template-columns:1fr 1fr}
  .spec-grid div{padding:12px 13px}
  .spec-grid b{font-size:13.5px}
  .chips span{padding:8px 11px}
  footer{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .wheel::after{animation:none}
  .reveal{opacity:1;transform:none}
}
