/*
 * Shared shell for the marketing pages: tokens, header, footer, and the
 * "sticker" primitive everything else is built from. Page-specific layout stays
 * in the page. Both pages link this so the header and footer can't drift apart.
 *
 * Fonts are the same self-hosted Nunito weights the game ships, so the site
 * makes no third-party request — a marketing page that phones out to a CDN on
 * load would contradict the privacy policy it links to.
 */
@font-face{font-family:Nunito;src:url(/site/art/fonts/nunito-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Nunito;src:url(/site/art/fonts/nunito-800.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Nunito;src:url(/site/art/fonts/nunito-900.woff2) format('woff2');font-weight:900;font-display:swap}

:root{
  --cream:#FBF6EA; --field:#F3EEDF; --board:#EAE3D2; --line:#E2D9C4; --grid:#D8CFBA;
  --ink:#3B3630; --body:#5C554A; --muted:#6B6357; --dim:#B7AF9F;
  --teal:#2EC4B6; --teal-hi:#35D6C7; --marigold:#E07A19; --plum:#8338EC;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--field);color:var(--ink);font-family:Nunito,system-ui,-apple-system,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased}
a{color:#209C91;text-decoration:none}
a:hover{color:#17796F}
img{max-width:100%}
h1,h2,h3{font-weight:900;letter-spacing:-.02em;margin:0}
p{margin:0}

/* One primitive does the heavy lifting: a chunky ink outline with a thicker
   bottom edge, which is what gives the flat art its depth. */
.sticker{background:var(--cream);border:3.5px solid var(--ink);border-bottom-width:8px;border-radius:26px}
.pill{display:inline-flex;align-items:center;gap:9px;background:var(--cream);border:3px solid var(--ink);border-radius:999px;padding:6px 16px 5px;font-size:13.5px;letter-spacing:.3px}

.btn{display:inline-flex;align-items:center;gap:11px;font-weight:900;border:3.5px solid var(--ink);border-bottom-width:8px;border-radius:20px;padding:14px 28px 11px;font-size:21px;transition:background .12s,transform .12s,border-bottom-width .12s;cursor:pointer}
.btn:active{border-bottom-width:3.5px;transform:translateY(4px)}
.btn-primary{background:var(--teal);color:var(--cream)}
.btn-primary:hover{background:var(--teal-hi);color:var(--cream)}
.btn-cream{background:var(--cream);color:var(--ink)}
.btn-cream:hover{background:#fff;color:var(--ink)}

section{position:relative;max-width:var(--wrap);margin:0 auto;padding:56px 28px 20px}
.eyebrow{font-size:18px;color:var(--body);margin-top:6px}
h2{font-size:clamp(30px,4.4vw,42px)}

.bg{position:absolute;inset:0;pointer-events:none}
.bg-glow{background:
  radial-gradient(900px 620px at 12% 4%, #E4F2D6 0%, rgba(228,242,214,0) 70%),
  radial-gradient(760px 560px at 88% 16%, #DCF1EE 0%, rgba(220,241,238,0) 72%),
  radial-gradient(1000px 700px at 50% 96%, #EFE6CF 0%, rgba(239,230,207,0) 70%)}
.bg-grid{opacity:.5;background-image:linear-gradient(var(--grid) 2px,transparent 2px),linear-gradient(90deg,var(--grid) 2px,transparent 2px);background-size:88px 88px;
  -webkit-mask-image:radial-gradient(1200px 900px at 50% 20%,#000 20%,transparent 78%);mask-image:radial-gradient(1200px 900px at 50% 20%,#000 20%,transparent 78%)}

header{position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);background:rgba(251,246,234,.82);border-bottom:3px solid var(--line)}
.head-in{max-width:var(--wrap);margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.brand img{border-radius:12px;border:2.5px solid var(--ink)}
.wordmark{font-weight:900;font-size:25px;letter-spacing:-.4px}
.wordmark span{color:var(--teal)}
nav{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:15px}
nav a{color:var(--body)}
.head-cta{font-weight:900;font-size:17px;background:var(--teal);color:var(--cream);border:3px solid var(--ink);border-bottom-width:6px;border-radius:16px;padding:9px 22px 7px}
.head-cta:hover{background:var(--teal-hi);color:var(--cream)}

footer{background:var(--ink);color:var(--board);padding:44px 28px 34px;margin-top:36px}
.foot-cols{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-h{font-weight:900;font-size:16px;color:var(--cream);margin-bottom:10px}
.foot-col{display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.foot-col a,footer a{color:var(--dim)}
.foot-col a:hover,footer a:hover{color:var(--cream)}
.foot-blurb{font-size:14.5px;color:var(--dim);line-height:1.55;margin-top:12px;max-width:280px;font-weight:700}
.foot-base{max-width:var(--wrap);margin:28px auto 0;padding-top:20px;border-top:2px solid #4E4740;font-size:13.5px;color:#8E8778;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.foot-soon{color:#8E8778}

@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes swayrot{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
@keyframes dashmove{to{background-position-x:-256px}}
.breathe{animation:breathe 2.6s ease-in-out infinite}
.sway{animation:swayrot 4.2s ease-in-out infinite}

@media (max-width:1024px){
  .foot-cols{grid-template-columns:1fr 1fr;gap:26px}
}
@media (max-width:680px){
  nav{display:none}
  .foot-cols{grid-template-columns:1fr}
  section{padding-left:18px;padding-right:18px}
  .head-in{padding-left:18px;padding-right:18px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}
