/* Beastie — Duel Blue on plum-black. Mirrors src/components/ui/colors.js. */
:root{
  --plum:#140E1A; --plum-2:#1B1424; --card:#241B2E; --line:#443A50;
  --blue:#2563FF; --blue-300:#74A0FF; --gold:#FFC21F; --warn:#FF8642;
  --text:#EAE6EF; --muted:#9A90A6;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--plum);color:var(--text);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue-300);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

header{position:sticky;top:0;z-index:10;background:rgba(20,14,26,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--text)}
.brand img{width:32px;height:32px;border-radius:8px}
.nav .spacer{flex:1}
.nav a{color:var(--muted);font-size:15px}
.nav a:hover{color:var(--text);text-decoration:none}

.hero{padding:72px 0 56px;text-align:center}
.hero img.mascot{width:190px;height:190px;object-fit:contain;margin-bottom:8px}
h1{font-size:clamp(38px,7vw,64px);line-height:1.05;margin:.2em 0;letter-spacing:-.02em;font-weight:800}
.tagline{font-size:clamp(18px,2.6vw,22px);color:var(--muted);max-width:34ch;margin:0 auto 28px}
.gold{color:var(--gold)}
.blue{color:var(--blue-300)}

.cta{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff;
  padding:15px 30px;border-radius:999px;font-weight:700;font-size:17px}
.cta:hover{text-decoration:none;filter:brightness(1.08)}
.cta.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.note{font-size:14px;color:var(--muted);margin-top:14px}

section{padding:56px 0;border-top:1px solid var(--line)}
h2{font-size:clamp(26px,4vw,36px);margin:0 0 10px;letter-spacing:-.01em}
.lede{color:var(--muted);max-width:60ch;margin:0 0 28px}

.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.card h3{margin:0 0 8px;font-size:19px}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.card .k{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-300);margin-bottom:10px;font-weight:700}

.steps{counter-reset:s;display:grid;gap:14px}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--plum-2);
  border:1px solid var(--line);border-radius:16px;padding:20px}
.step::before{counter-increment:s;content:counter(s);flex:0 0 40px;height:40px;
  display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;font-weight:800}
.step h3{margin:0 0 4px;font-size:18px}
.step p{margin:0;color:var(--muted);font-size:15.5px}

.pill{display:inline-block;background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:7px 16px;font-size:14px;color:var(--muted);margin:0 6px 8px 0}

footer{border-top:1px solid var(--line);padding:36px 0 56px;color:var(--muted);font-size:14.5px}
footer a{color:var(--muted)}
.foot{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.foot .spacer{flex:1}

.legal{max-width:74ch;padding:48px 0}
.legal h1{font-size:clamp(30px,5vw,42px)}
.legal h2{font-size:21px;margin:34px 0 8px}
.legal p,.legal li{color:var(--muted)}
.legal strong{color:var(--text)}
.updated{font-size:14px;color:var(--muted)}

@media (max-width:640px){
  .hero{padding:48px 0 40px}
  .nav a:not(.brand){display:none}
}
