*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0e0f12;--ink-2:#15171b;--ink-3:#1c1f25;--paper:#f4f2ed;--accent:#c8873f;--accent-2:#e9b26a;
  --green:#5fbf5a;--line:rgba(244,242,237,.12);--muted:rgba(244,242,237,.62);
  --radius:14px;--gutter:28px
}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font:16px/1.65 ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--gutter)}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--ink);padding:8px 14px;border-radius:8px;z-index:20}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px}

/* Header */
header{position:sticky;top:0;z-index:10;padding:18px 0;border-bottom:1px solid var(--line);background:rgba(14,15,18,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:700;letter-spacing:-.02em;font-size:17px;text-decoration:none;white-space:nowrap}
.brand span{color:var(--accent)}
nav{display:flex;gap:26px;font-size:14px}
nav a{opacity:.72;text-decoration:none;padding:6px 0;white-space:nowrap}
nav a:hover{opacity:1}

/* Hero */
.hero{position:relative;padding:110px 0 96px;border-bottom:1px solid var(--line);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-30% -10% auto auto;width:720px;height:720px;border-radius:50%;background:radial-gradient(closest-side,rgba(200,135,63,.28),transparent 70%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto auto -40% -15%;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(95,191,90,.14),transparent 70%);animation:drift 18s ease-in-out infinite alternate-reverse;pointer-events:none}
@keyframes drift{to{transform:translate(-60px,50px) scale(1.08)}}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:center}
.hero-visual{position:relative}
.hero-visual .bg-battle,.hero-visual .bg-intel{position:absolute;z-index:0;pointer-events:none;border-radius:24px;filter:saturate(.7);-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 92%);mask-image:linear-gradient(to bottom,#000 30%,transparent 92%)}
.hero-visual .bg-battle{width:80%;right:-46%;top:8%;opacity:.13;transform:rotate(8deg)}
.hero-visual .bg-intel{width:72%;left:-44%;top:34%;opacity:.07;transform:rotate(-7deg)}
.hero-art{position:relative;z-index:1;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(200,135,63,.5),0 10px 30px -10px rgba(0,0,0,.6);transform:rotate(1.5deg);transition:transform .5s}
.hero-art:hover{transform:rotate(0) translateY(-4px)}
.hero-art img{width:100%;aspect-ratio:2/3;object-fit:cover}
.hero-art figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;background:linear-gradient(to top,rgba(14,15,18,.92),rgba(14,15,18,0));display:flex;flex-direction:column;gap:2px}
.hero-art figcaption b{font-size:18px;letter-spacing:-.01em}
.hero-art figcaption span{font-size:13px;opacity:.75}
.pill{display:inline-flex;align-items:center;gap:10px;font-size:13px;padding:7px 14px 7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(244,242,237,.04);text-decoration:none;margin-bottom:30px}
.pill:hover{border-color:rgba(200,135,63,.5)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(95,191,90,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(95,191,90,0)}100%{box-shadow:0 0 0 0 rgba(95,191,90,0)}}
.hero h1{font-size:clamp(38px,6.4vw,72px);line-height:1.03;letter-spacing:-.035em;font-weight:700;max-width:15ch}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{margin-top:26px;max-width:56ch;font-size:18px;opacity:.72}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:13px 22px;border-radius:999px;text-decoration:none;transition:transform .18s,background .18s,border-color .18s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:var(--ink)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{border:1px solid var(--line)}
.btn-ghost:hover{border-color:rgba(244,242,237,.4)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:72px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-width:720px}
.stats div{background:var(--ink);padding:20px 22px}
.stats b{display:block;font-size:26px;letter-spacing:-.02em;color:var(--accent-2)}
.stats span{font-size:13px;opacity:.6}

/* Sections */
section{padding:96px 0;border-bottom:1px solid var(--line)}
h2{font-size:13px;text-transform:uppercase;letter-spacing:.16em;opacity:.5;font-weight:600;margin-bottom:22px}
.lead{font-size:clamp(28px,3.8vw,44px);line-height:1.12;letter-spacing:-.03em;font-weight:700;max-width:22ch;margin-bottom:28px}
.lead em{font-style:normal;color:var(--accent)}
.prose{max-width:60ch}
.prose p{opacity:.78;margin-bottom:18px}
.prose p:last-child{margin-bottom:0}

/* Featured game */
.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.feature-art{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px -30px rgba(200,135,63,.45);transform:perspective(1200px) rotateY(-4deg);transition:transform .5s}
.feature-art:hover{transform:perspective(1200px) rotateY(0)}
.tag{position:absolute;left:14px;top:14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--green);color:#0b1a0a;padding:6px 10px;border-radius:6px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin-top:26px;font-size:15px}
.facts dt{opacity:.5}
.facts dd{opacity:.9}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:64px}
.step{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;transition:transform .2s,border-color .2s}
.step:hover{transform:translateY(-4px);border-color:rgba(200,135,63,.45)}
.step .n{font-size:13px;font-weight:700;color:var(--accent)}
.step h3{font-size:17px;margin:8px 0 6px;letter-spacing:-.01em}
.step p{font-size:14px;opacity:.68}

/* Screenshot strip */
.strip{margin-top:64px;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:thin;scrollbar-color:rgba(244,242,237,.25) transparent}
.strip figure{flex:0 0 auto;width:min(46vw,230px);scroll-snap-align:start}
.strip img{border-radius:12px;border:1px solid var(--line);aspect-ratio:9/16;object-fit:cover;width:100%;transition:transform .25s}
.strip img:hover{transform:scale(1.03)}
.strip figcaption{font-size:13px;opacity:.55;margin-top:10px}
.hint{font-size:13px;opacity:.45;margin-top:4px}

/* Road to launch */
.road{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:44px;counter-reset:r}
.road li{position:relative;padding:30px 20px 0 0;border-top:2px solid var(--line)}
.road li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid rgba(244,242,237,.35)}
.road li.done{border-top-color:var(--accent)}
.road li.done::before{background:var(--accent);border-color:var(--accent)}
.road li.now::before{background:var(--green);border-color:var(--green);animation:pulse 2s infinite}
.road h3{font-size:16px;letter-spacing:-.01em;margin-bottom:6px}
.road p{font-size:14px;opacity:.65}
.road .st{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;opacity:.6}
.road li.now .st{color:var(--green);opacity:1}

/* Games */
.games{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.game{background:var(--ink);padding:26px 24px;display:flex;justify-content:space-between;align-items:baseline;gap:18px;transition:background .18s;text-decoration:none}
.game:hover{background:var(--ink-2)}
.game h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
.game p{font-size:14px;opacity:.6;margin-top:4px}
.game .k{font-size:13px;opacity:.5;white-space:nowrap}
.game .k.live{color:var(--green);opacity:1}

/* Principles */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}
.card{background:linear-gradient(180deg,var(--ink-2),var(--ink));border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.card .ic{font-size:22px;margin-bottom:14px}
.card h3{font-size:18px;letter-spacing:-.01em;margin-bottom:8px}
.card p{font-size:15px;opacity:.68}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.mail{display:inline-block;margin-top:8px;font-size:19px;color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(200,135,63,.4);padding-bottom:2px;word-break:break-all}
.topics{list-style:none;display:grid;gap:12px}
.topics li{padding:16px 18px;border:1px solid var(--line);border-radius:12px;font-size:15px}
.topics b{display:block;margin-bottom:2px}
.topics span{opacity:.62;font-size:14px}

/* Footer */
footer{padding:44px 0 66px;font-size:13px;opacity:.55;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer .links{display:flex;gap:18px;flex-wrap:wrap}
footer a{text-decoration:none;border-bottom:1px solid rgba(244,242,237,.25)}

/* Reveal on scroll (only when JS is on) */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}

/* Policy pages */
.doc{padding:72px 0 30px}
.doc h1{font-size:clamp(30px,4.4vw,44px);letter-spacing:-.03em;margin-bottom:12px;line-height:1.1}
.doc .upd{font-size:14px;opacity:.5}
.doc .applies{margin-top:18px;font-size:15px;opacity:.78;max-width:68ch}
.doc h2{font-size:17px;text-transform:none;letter-spacing:-.01em;opacity:1;margin:42px 0 12px;font-weight:600}
.doc h3{font-size:15px;margin:22px 0 8px;font-weight:600}
.doc p,.doc li{opacity:.78;max-width:68ch}
.doc p+p{margin-top:12px}
.doc ul{margin:0 0 0 20px}
.doc li{margin-bottom:7px}
.doc table{border-collapse:collapse;margin:14px 0;font-size:14px;max-width:100%;display:block;overflow-x:auto}
.doc th,.doc td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.doc th{background:var(--ink-2);font-weight:600}
.doc td{opacity:.82}

.duo{margin-top:40px;display:flex;gap:16px;align-items:flex-start}
.duo figure{flex:var(--r) 1 0;min-width:0}
.duo img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);transition:transform .25s}
.duo img:hover{transform:scale(1.02)}
.duo figcaption{font-size:13px;opacity:.55;margin-top:10px}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-visual{max-width:360px;width:100%;margin:0 auto}
  .feature,.contact{grid-template-columns:1fr;gap:36px}
  .feature-art{transform:none}
  .steps,.road{grid-template-columns:repeat(2,minmax(0,1fr))}
  .road{row-gap:34px}
  .cards{grid-template-columns:1fr}
}
@media(max-width:620px){
  .hero-visual{max-width:none}
  .hero-visual .bg-intel{display:none}
  .hero-visual .bg-battle{width:60%;right:-26%;top:6%;opacity:.09}
  .hero-art{transform:none}
  .hero-art img{aspect-ratio:4/3;object-position:50% 52%}
  :root{--gutter:16px}
  .hero{padding:72px 0 64px}
  section{padding:72px 0}
  nav{gap:16px}
  nav a.opt{display:none}
  .game{flex-direction:column;gap:6px}
  .stats{grid-template-columns:1fr}
  .steps,.road{grid-template-columns:1fr}
}
@media(max-width:620px){.duo{flex-direction:column}.duo figure{flex:none;width:100%}}
@media(max-width:380px){nav a[href="#bag-merge"]{display:none}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none}
}
