:root{--ink:#241a5c;--indigo:#4b2fe0;--indigo-d:#2b1b6e;--yellow:#ffc933;--sky:#4cc9f0;--mint:#2ec4a0;--coral:#ff7a59;--bg:#fff;--tint:#f6f4ff;--muted:#5d5a7a;--r:22px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;overflow-x:hidden}
h1,h2,h3,h4,.brand,.btn{font-family:Fredoka,Nunito,sans-serif}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.wrap{width:min(1120px,92%);margin:auto}
.sec{padding:84px 0}
.tint{background:var(--tint)}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.15;font-weight:600;margin-bottom:16px;text-align:center}
.split h2,.kids h2{text-align:left}
.sub{max-width:760px;margin:0 auto 40px;text-align:center;color:var(--muted)}
.sub.left{text-align:left;margin-left:0}

/* nav */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 4%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #ece9fb}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.4rem;color:var(--indigo)}
.brand.light{color:#fff}
.nav nav{display:flex;align-items:center;gap:26px;font-weight:700}
.nav nav a:not(.btn):hover{color:var(--indigo)}
.burger{display:none;background:none;border:0;font-size:1.7rem;color:var(--indigo);cursor:pointer;padding:6px 10px}

/* buttons */
.btn{display:inline-block;background:var(--indigo);color:#fff;padding:15px 30px;border-radius:999px;font-weight:600;font-size:1.05rem;box-shadow:0 5px 0 var(--indigo-d);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--indigo-d)}
.btn:active{transform:translateY(5px);box-shadow:0 0 0 var(--indigo-d)}
.btn.sm{padding:9px 20px;font-size:.95rem;box-shadow:0 3px 0 var(--indigo-d);color:#fff}
.btn.ghost{background:#fff;color:var(--indigo);border:2px solid var(--indigo);box-shadow:0 5px 0 #cfc7fa}
.btn.yellow{background:var(--yellow);color:var(--indigo-d);box-shadow:0 5px 0 #c99500}
.btn.ghost.light{background:transparent;color:#fff;border-color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.25)}
.ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}

/* hero */
.hero{padding:64px 0 80px;background:radial-gradient(circle at 85% 20%,#e6dcff 0,transparent 45%),radial-gradient(circle at 5% 90%,#fff0bd 0,transparent 35%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
h1{font-size:clamp(2.3rem,5.6vw,4rem);line-height:1.05;font-weight:700;letter-spacing:-.5px}
h1 span{display:block;color:var(--indigo)}
.lead{font-size:1.15rem;color:var(--muted);margin-top:20px;max-width:540px}
.flow{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:34px;font-weight:700;font-size:.95rem}
.flow li{background:#fff;border:2px solid #e3ddfb;border-radius:999px;padding:6px 16px}
.flow li+li::before{content:"→";margin-right:10px;color:var(--coral)}
.stage{position:relative;aspect-ratio:1/.95}
.kid{width:100%;height:100%}
.fl{position:absolute;display:grid;place-items:center;min-width:54px;height:54px;padding:0 10px;background:#fff;border-radius:16px;font:700 1.5rem Fredoka,sans-serif;color:var(--indigo);box-shadow:0 6px 0 rgba(43,27,110,.12);animation:bob 5s ease-in-out infinite}
.f1{top:4%;left:6%}.f2{top:0;right:22%;animation-delay:-1s}.f3{top:30%;right:0;animation-delay:-2s}.f4{top:44%;left:0;animation-delay:-3s}
.f5{bottom:6%;right:6%;animation-delay:-1.5s}.f6{top:16%;left:36%;animation-delay:-2.5s;color:var(--coral)}.f7{bottom:2%;left:6%;animation-delay:-.5s}.f8{bottom:30%;right:-2%;font-size:.85rem;letter-spacing:2px;animation-delay:-3.5s}
@keyframes bob{50%{transform:translateY(-12px) rotate(4deg)}}

/* cards */
.grid{display:grid;gap:20px}
.five{grid-template-columns:repeat(5,1fr)}.four{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:repeat(3,1fr)}.six{grid-template-columns:repeat(3,1fr)}
.card{padding:26px 22px;border-radius:var(--r);border:2px solid transparent;transition:transform .2s}
.card:hover{transform:translateY(-5px) rotate(-.6deg)}
.card b{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#fff;font-size:1.7rem;margin-bottom:14px}
.card h3{font-size:1.2rem;margin-bottom:6px;line-height:1.25}
.card p{font-size:.97rem;color:#443f68}
.c-purple{background:#ebe5ff}.c-blue{background:#dff4fc}.c-yellow{background:#fff1c2}.c-mint{background:#d9f5ec}.c-coral{background:#ffe3da}

/* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:s;position:relative}
.steps li{background:#fff;border-radius:var(--r);padding:30px 22px 24px;position:relative;box-shadow:0 6px 0 #e3ddfb}
.steps li:not(:last-child)::after{content:"";position:absolute;top:44px;right:-26px;width:26px;border-top:3px dashed var(--coral)}
.steps span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--indigo);color:#fff;font:700 1.2rem Fredoka;margin-bottom:12px}
.steps h3{margin-bottom:6px}.steps p{font-size:.97rem;color:var(--muted)}

/* dashboard */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.dash{background:#fff;border:2px solid #e3ddfb;border-radius:var(--r);padding:28px;box-shadow:0 8px 0 #e3ddfb}
.dash h3{margin-bottom:18px}.dash h4{margin:24px 0 8px;font-size:1.05rem}
.bar label{display:flex;justify-content:space-between;font-weight:700;font-size:.95rem;margin-bottom:4px}
.bar em{font-style:normal;color:var(--indigo)}
.bar i{display:block;height:14px;background:#efeafd;border-radius:99px;margin-bottom:14px;overflow:hidden}
.bar u{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--sky),var(--indigo));transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.bar:nth-child(3) u{background:linear-gradient(90deg,var(--yellow),var(--coral))}
.bar:nth-child(4) u{background:linear-gradient(90deg,var(--mint),var(--sky))}
.recs{list-style:none}
.recs li{display:flex;justify-content:space-between;padding:9px 14px;border-radius:12px;background:var(--tint);margin-bottom:6px;font-weight:600}
.recs b{color:var(--coral);font-family:Fredoka}
.dash small,.note{color:var(--muted);font-size:.85rem}
.note{text-align:center;margin-top:24px}

/* chain */
.chain{margin-top:28px}
.node{padding:20px 24px;border-radius:var(--r);font:600 1.15rem Fredoka}
.node small{display:block;font:700 .85rem Nunito;margin-bottom:4px;opacity:.7}
.n1{background:#ffe3da}.n2{background:#ebe5ff}.n3{background:#d9f5ec}
.n3 span{display:inline-block;background:#fff;padding:6px 14px;border-radius:99px;margin:6px 6px 0 0;font-size:1rem}
.arrow{text-align:center;font-size:1.8rem;color:var(--coral);line-height:1.4}

/* stats */
.stat{background:#fff;border:2px solid #e3ddfb;border-radius:var(--r);padding:22px;font-weight:600;color:var(--muted)}
.stat small{display:block;font-size:.9rem}
.stat b{display:block;font:700 1.9rem/1.2 Fredoka;color:var(--indigo)}
.stat b.up{color:var(--mint)}

/* kids */
.kids{background:var(--indigo);color:#fff}
.kids h2{color:#fff}
.checks{list-style:none;display:grid;gap:10px;font-weight:700;font-size:1.1rem;margin-top:20px}
.checks li::before{content:"✓";display:inline-grid;place-items:center;width:26px;height:26px;margin-right:12px;border-radius:50%;background:var(--yellow);color:var(--indigo-d)}
.play{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.play span{display:grid;place-items:center;aspect-ratio:1;font-size:3rem;border-radius:var(--r);background:rgba(255,255,255,.14)}
.play span:nth-child(2n){transform:translateY(18px)}

/* pills */
.pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px}
.pills li{background:#fff;border:2px solid #e3ddfb;padding:12px 22px;border-radius:99px;font-weight:700}
.pills li::before{content:"✓";color:var(--mint);margin-right:8px}

/* cta + footer */
.cta{background:var(--indigo-d);color:#fff;text-align:center;padding:90px 0;background-image:radial-gradient(circle at 15% 20%,rgba(255,201,51,.3),transparent 25%),radial-gradient(circle at 85% 80%,rgba(76,201,240,.3),transparent 25%)}
.cta h2{color:#fff}.cta p{font-size:1.15rem;opacity:.9}.cta .ctas{justify-content:center}
footer{background:#170f3d;color:#cfc9ee;padding:50px 0 24px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}
.foot nav{display:grid;grid-template-columns:repeat(2,auto);gap:8px 40px}
.foot a:hover{color:var(--yellow)}
.copy{text-align:center;margin-top:36px;font-size:.9rem;opacity:.7}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.rv.in{opacity:1;transform:none}

@media(max-width:960px){
  .five{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}
  .steps li::after{display:none}.split,.hero-grid{grid-template-columns:1fr}.stage{max-width:460px;margin:auto}
}
@media(max-width:720px){
  body{font-size:16px}.sec{padding:60px 0}
  .burger{display:block}
  .nav nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:10px 4% 20px;border-bottom:1px solid #ece9fb;text-align:center}
  .nav nav.open{display:flex}.nav nav a{padding:12px}
  .five,.four,.three,.six,.steps{grid-template-columns:1fr}
  .six{grid-template-columns:1fr 1fr}
  .ctas .btn{width:100%;text-align:center;padding:17px}
  .foot nav{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
