:root{--space:#100d2c;--panel:#261f63;--edge:#3d3499;--ink:#fdfbff;--muted:#c9c3ef;--gold:#ffc94d;--pink:#ff6fa8;--pink-dark:#c93f78;
  --display:"Lilita One","Arial Rounded MT Bold","Trebuchet MS",sans-serif;--body:"Nunito","Avenir Next","Segoe UI",system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 80% 0%,rgba(255,111,168,.14),transparent 50%),linear-gradient(#0b0924,#1f1a55) fixed;background-color:var(--space);
  color:var(--ink);font-family:var(--body);font-weight:600;font-size:18px;line-height:1.6}
.page{max-width:720px;margin:0 auto;padding-inline:16px;padding-block:calc(env(safe-area-inset-top,0px) + 28px) calc(env(safe-area-inset-bottom,0px) + 48px)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.01em;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(38px,8vw,56px);color:var(--gold);text-shadow:0 4px 0 var(--pink-dark);margin:18px 0 12px}
h2{font-size:30px;margin:44px 0 10px}
h3{font-size:22px;margin:0 0 6px;color:var(--gold)}
p,li,dd{max-width:65ch}
.lede{font-size:21px;color:var(--muted)}
a{color:var(--gold)}
a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.back{font-weight:800;text-decoration:none}
.cta{display:inline-block;margin-top:6px;font-family:var(--display);font-size:26px;letter-spacing:.03em;color:#fff;background:var(--pink);
  padding:12px 34px;border-radius:20px;text-decoration:none;box-shadow:0 6px 0 var(--pink-dark)}
ol,ul{padding-left:1.3em}
li{margin-bottom:8px}
strong{color:#fff;font-weight:800}
.grades{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.grades section{background:var(--panel);border:3px solid var(--edge);border-radius:20px;padding:16px}
.grades p{margin:0;font-size:16px}
.faq dt{font-weight:800;margin-top:14px}
.faq dd{margin:2px 0 0;color:var(--muted)}
footer{margin-top:48px;color:var(--muted)}

/* the app pitch on the parents page */
.app-box{margin:34px 0;padding:22px 24px;border:2px solid var(--edge,#2e2a55);border-radius:22px;background:rgba(255,255,255,.03)}
.app-box h2{margin-top:0}
.app-box ul{margin:0 0 16px;padding-left:20px}
.app-box li{margin:6px 0}
.soon{margin:0;font-family:var(--display);font-size:22px;color:var(--gold,#ffc94d)}


/* ---------- home page ---------- */
body.home{padding:0}
.home section{max-width:1080px;margin:0 auto;padding:56px 20px}
.home h2{font-size:clamp(30px,6vw,44px);text-align:center;margin:0 0 26px}

/* the wide illustration only earns its place where it fits; on a phone it just
   crops to grey, so there the device screenshot carries the hero instead */
.hero{position:relative;overflow:hidden;background:#100d2c;
  background-image:radial-gradient(ellipse at 75% 0%,rgba(255,111,168,.20),transparent 55%),linear-gradient(#0b0924,#221c5c)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,13,44,.55),rgba(16,13,44,.15) 40%,rgba(16,13,44,.55))}
.hero-in{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:44px 20px 40px;
  display:grid;gap:26px;grid-template-columns:1fr;align-items:center;justify-items:center;text-align:center}
.hero-words h1{font-size:clamp(56px,14vw,104px);color:var(--gold);text-shadow:0 6px 0 var(--pink-dark);margin:0 0 12px}
.one-liner{font-size:clamp(19px,4.6vw,25px);color:var(--ink);margin:0 auto 22px;max-width:19em;line-height:1.45}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;margin:0}
.cta-row .cta{margin-top:0}

.device{width:min(260px,64vw);padding:11px;border-radius:32px;background:#2b2550;
  box-shadow:0 0 0 2px #4a41a0, 0 28px 60px rgba(0,0,0,.55)}
.device img{display:block;width:100%;height:auto;border-radius:22px}

.strip{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));justify-items:center}
.strip figure{margin:0;max-width:280px;text-align:center}
.strip img{width:100%;height:auto;border-radius:20px;border:3px solid var(--edge);display:block}
.strip figcaption{margin-top:12px;font-family:var(--display);font-size:22px;color:var(--gold)}

.badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding-top:8px;padding-bottom:8px}
.badges span{font-family:var(--display);font-size:19px;letter-spacing:.02em;color:var(--space);
  background:var(--gold);border-radius:999px;padding:9px 20px}

.story{text-align:center}
.story p{max-width:34em;margin-inline:auto}
.story .shot{margin:0 0 20px}
.story .shot img{width:100%;height:auto;border-radius:20px;border:3px solid var(--edge);display:block;background:var(--panel)}
.link-more{font-family:var(--display);font-size:20px}
.last{text-align:center;padding-bottom:64px}
.last footer{margin-top:34px}

@media (min-width:860px){
  .hero{background-image:url("/hero.png");background-size:cover;background-position:center bottom}
  .hero-in{grid-template-columns:1.15fr .85fr;text-align:left;justify-items:start;padding:72px 20px 210px}
  .hero-words h1{margin-top:0}
  .one-liner{margin-left:0}
  .cta-row{justify-content:flex-start}
  .story .shot{display:inline-block;width:48%;margin:0 .5% 20px;vertical-align:top}
}
