/* Hoot Hop — shared styles. Palette lifted from the app's colors.xml so the
   site and the game read as one thing. */
:root{
  --night-deep:#211D48; --night:#2E2A5C; --night-soft:#3B376F;
  --purple:#6C5CE7; --lilac:#B9AEFF; --muted:#D8D3F5;
  --gold:#FFD166; --mint:#06D6A0; --mint-bright:#46E0B7; --owl:#FFB562;
  --stroke:rgba(255,255,255,.10);
  --maxw:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:#fff; background:var(--night-deep);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brand{font-family:"Baloo 2",system-ui,sans-serif;font-weight:700;line-height:1.15;margin:0}
a{color:var(--lilac)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(33,29,72,.82);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--stroke)}
.nav{display:flex;align-items:center;gap:16px;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-size:20px;color:#fff;text-decoration:none}
.brand img{width:34px;height:34px;border-radius:9px}
.nav nav{margin-left:auto;display:flex;gap:26px;font-size:14.5px}
.nav nav a{color:var(--muted);text-decoration:none}
.nav nav a:hover{color:#fff}
/* The header is the one row that can't wrap, so it sets the document's
   minimum width — if it overflows, every section below it gets clipped on the
   right rather than reflowing. Shrink it in steps, and drop the least useful
   link before letting that happen. */
@media(max-width:620px){
  .brand{font-size:17px}
  .brand img{width:29px;height:29px}
  .nav nav{gap:15px;font-size:13px}
}
@media(max-width:470px){
  .nav nav a[href="#how"]{display:none}
}
@media(max-width:360px){
  .nav nav a[href="#screens"]{display:none}
}

/* hero */
.hero{position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 50% -10%,#4A3F9E 0%,var(--night) 45%,var(--night-deep) 100%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;
  align-items:center;padding-top:70px;padding-bottom:80px}
.hero h1{font-size:clamp(40px,6.5vw,68px);letter-spacing:-.5px}
.hero p.lede{color:var(--muted);font-size:clamp(16px,2.1vw,19px);margin:16px 0 30px;max-width:34ch}
.badge{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:999px;
  background:linear-gradient(180deg,var(--mint-bright),var(--mint));color:#08301F;
  font-weight:700;font-size:15px;text-decoration:none}
.badge.ghost{background:transparent;border:1px solid var(--stroke);color:var(--muted);font-weight:600}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-art{position:relative;display:flex;justify-content:center}
.hero-art img{width:min(100%,400px);filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.glow{position:absolute;inset:auto;width:330px;height:330px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,209,102,.20),transparent 68%);z-index:0}
@media(max-width:820px){
  .hero .wrap{grid-template-columns:1fr;text-align:center;gap:22px;
    padding-top:30px;padding-bottom:52px}
  .hero p.lede{margin-inline:auto}
  .cta-row{justify-content:center}
  .hero-art{order:-1}
  /* Small enough that the headline and CTA still clear the fold — the mascot
     sells the game, but not if it's the only thing on the first screen. */
  .hero-art img{width:min(56%,220px)}
}

/* sections */
section{padding:76px 0}
.eyebrow{color:var(--gold);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
h2{font-size:clamp(27px,3.6vw,38px)}
.sub{color:var(--muted);margin-top:12px;max-width:56ch}
.grid{display:grid;gap:18px;margin-top:40px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g3,.g4{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,rgba(77,71,136,.42),rgba(59,55,111,.30));
  border:1px solid var(--stroke);border-radius:18px;padding:24px}
.card h3{font-size:18.5px;margin-bottom:8px}
.card p{color:var(--muted);font-size:14.6px;margin:0}
.card .ico{font-size:26px;margin-bottom:14px;display:block}

/* The screens band sits on a slightly lighter ground so the phone shots
   separate from the sections above and below it. */
.section-alt{background:linear-gradient(180deg,var(--night-deep),var(--night))}

/* screenshots */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.shots figure{margin:0;text-align:center}
.shots img{border-radius:20px;border:1px solid var(--stroke);box-shadow:0 20px 44px rgba(0,0,0,.4)}
.shots figcaption{color:var(--muted);font-size:14px;margin-top:14px}
@media(max-width:720px){.shots{grid-template-columns:1fr;max-width:330px;margin-inline:auto}}

/* footer */
footer{border-top:1px solid var(--stroke);background:var(--night-deep);padding:44px 0 54px}
.foot{display:flex;gap:20px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:14px}
.foot nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
@media(max-width:620px){.foot nav{margin-left:0}}

/* legal pages */
.legal{padding:56px 0 80px;max-width:760px}
.legal h1{font-size:clamp(30px,5vw,42px)}
.legal .updated{color:var(--lilac);font-size:14px;margin-top:10px}
.legal h2{font-size:22px;margin:38px 0 12px}
.legal h3{font-size:17px;margin:26px 0 8px}
.legal p,.legal li{color:var(--muted);font-size:15.4px}
.legal ul{padding-left:22px}
.legal li{margin:7px 0}
.legal strong{color:#fff}
.legal .box{background:rgba(59,55,111,.4);border:1px solid var(--stroke);
  border-left:3px solid var(--gold);border-radius:12px;padding:18px 20px;margin:26px 0}
.legal .box p{margin:0}
.legal table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}
.legal th,.legal td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--stroke);color:var(--muted)}
.legal th{color:#fff;font-weight:700}
