/* Spinny Frog website. Colours and fonts are the game's own (see prototype/index.html). */
:root{--ink:#15343b;--paper:#fffaf0;--cream:#fff1d2;--muted:#efe6d2;--line:#cbbfa6;--green:#a8dd46;--hazard:#e5483c;--sky:#7fcbe2;--sky-low:#e2f0c6;--water:#3b9c96;--deep:#164f5e;
  --display:'Lilita One',system-ui,sans-serif;--ui:'Rubik',system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--ui);font-weight:500;color:var(--ink);background:var(--paper);line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.1;margin:0}
h2{font-size:clamp(28px,5vw,40px)}

/* Hero */
.hero{overflow:clip}
.hero-in{max-width:1100px;margin:0 auto;padding:40px 22px 0;display:grid;gap:28px;justify-items:center;text-align:center}
.logo{width:min(340px,78vw)}
.tagline{font-family:var(--display);font-size:clamp(22px,4.2vw,30px);line-height:1.2;margin:14px 0 6px;max-width:22ch}
.sub{margin:0 auto;font-size:16px;opacity:.8;max-width:34ch}
.stores{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:22px 0 4px}
.soon{display:flex;flex-direction:column;align-items:center;min-width:150px;padding:9px 18px;border-radius:14px;border:3px solid var(--ink);background:var(--paper);box-shadow:0 4px 0 var(--ink);font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;opacity:.92}
.soon b{font-family:var(--display);font-weight:400;font-size:21px;letter-spacing:0;text-transform:none}
.badge img{height:60px;width:auto}
.hero-phone{width:min(280px,70vw);border-radius:34px;overflow:hidden;box-shadow:0 0 0 7px var(--ink),0 18px 40px rgba(21,52,59,.35);margin-bottom:24px}

/* The top of the page: the game's sky and pond, with the game on a phone */
.hero{background:linear-gradient(var(--sky),var(--sky-low) 52%,var(--water) 52.2%,var(--deep))}
.hero-in{padding-bottom:0}
@media (min-width:860px){
  .hero-in{grid-template-columns:1fr 300px;text-align:left;justify-items:start;align-items:center;padding:56px 22px 48px}
  .hero-text .stores{justify-content:flex-start}
  .tagline,.sub{margin-left:0}
  .hero-phone{justify-self:center;margin:0;width:280px}
  .hero{background:linear-gradient(var(--sky),var(--sky-low) 74%,var(--water) 74.2%,var(--deep))}
}

/* Sections */
main{max-width:1100px;margin:0 auto;padding:44px 22px 40px}
section{margin:0 0 56px}
.how{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--cream);border:3px solid var(--ink);border-radius:22px;padding:20px 22px;box-shadow:0 5px 0 var(--ink)}
.card h2{font-size:30px;margin-bottom:6px}
.card p{margin:0}
.frogs{text-align:center}
.lead{margin:6px auto 18px;max-width:46ch;opacity:.85}
.lead.small{font-size:15px;margin-top:18px}
/* 12 frogs: always 2, 3, 4 or 6 per row, so every row is full and the grid stays symmetrical */
.frog-grid{list-style:none;margin:0 auto;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);max-width:1000px}
@media (min-width:521px){.frog-grid{gap:16px;grid-template-columns:repeat(3,1fr)}}
@media (min-width:760px){.frog-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1000px){.frog-grid{grid-template-columns:repeat(6,1fr)}}
.frog-grid li{background:var(--paper);border:3px solid var(--ink);border-radius:18px;padding:12px 10px 14px;box-shadow:0 4px 0 var(--ink)}
.frog-grid img{width:100%;max-width:120px;margin:0 auto}
.frog-grid span{display:block;font-family:var(--display);font-size:16px;line-height:1.15}
.shots{display:grid;grid-auto-flow:column;grid-auto-columns:min(220px,62vw);gap:16px;overflow-x:auto;padding:6px 4px 18px;scroll-snap-type:x mandatory}
.shots img{border-radius:22px;border:3px solid var(--ink);scroll-snap-align:start}
@media (min-width:960px){.shots{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible}}
.help,.support{text-align:center;max-width:620px;margin-left:auto;margin-right:auto}
.help p,.support p{margin:8px 0 0}

/* Footer */
footer{background:var(--deep);color:var(--paper);text-align:center;padding:26px 22px 34px;font-size:15px}
footer p{margin:4px 0}

/* Text pages (privacy) */
.page{max-width:720px;margin:0 auto;padding:28px 22px 50px}
.page .logo{width:180px;margin-bottom:10px}
.page h1{font-size:clamp(32px,6vw,44px);margin:8px 0 4px}
.page h2{font-size:24px;margin:28px 0 6px}
.page p,.page li{font-size:16.5px}
.page .date{opacity:.7;margin-top:0}
.center{text-align:center}
.center img{margin-left:auto;margin-right:auto}
.lost{width:160px}
