:root{
  --bg:#fff8ef;
  --bg-2:#fff1e2;
  --card:#ffffff;
  --ink:#2b2140;
  --muted:#6e6384;
  --line:#f0e4d4;
  --orange:#ff7a45;
  --violet:#6c5ce7;
  --green:#00a383;
  --blue:#2d8fd5;
  --peach:#ffd6a5;
  --lilac:#cdb4ff;
  --mint:#a0e7c9;
  --sky:#a8dcff;
  --radius:22px;
  --shadow:0 18px 50px -20px rgba(43,33,64,.25);
  --font-head:'Baloo 2',system-ui,sans-serif;
  --font-body:'Nunito',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--violet)}
h1,h2,h3{font-family:var(--font-head);line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;margin-bottom:.8rem}
h3{font-size:1.35rem;font-weight:700}
.wrap{width:min(1160px,100% - 32px);margin-inline:auto}
.narrow{width:min(820px,100% - 32px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:10px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:6px}

/* Buttons & pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--orange);color:#fff;border:0;border-radius:14px;padding:.9rem 1.5rem;font-family:var(--font-head);font-weight:800;font-size:1.05rem;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px -10px rgba(255,122,69,.8);transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(255,122,69,.9)}
.btn:disabled{opacity:.7;cursor:wait;transform:none}
.btn-sm{padding:.55rem 1rem;font-size:.95rem;border-radius:12px}
.btn-lg{padding:1.05rem 1.8rem;font-size:1.15rem;width:100%}
.pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--violet);color:#fff;font-weight:800;font-size:.85rem;padding:.45rem 1rem;border-radius:999px;letter-spacing:.02em}
.pill-soft{background:#fff;color:var(--ink);border:2px solid var(--line)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(0,163,131,.18);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(0,163,131,0)}}
.eyebrow{display:inline-block;font-weight:800;color:var(--orange);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:.6rem}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,248,239,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.scrolled{border-color:var(--line);box-shadow:0 6px 24px -18px rgba(43,33,64,.4)}
.nav-inner{display:flex;align-items:center;gap:1.5rem;height:68px}
.logo{font-family:var(--font-head);font-weight:800;font-size:1.65rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--orange)}
.nav-links{display:flex;gap:1.6rem;margin-left:auto}
.nav-links a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.95rem;opacity:.8}
.nav-links a:hover{opacity:1;color:var(--violet)}

/* Hero */
.hero{position:relative;padding:4.5rem 0 5rem;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(10px);opacity:.75;z-index:0}
.b1{width:420px;height:420px;background:var(--peach);top:-140px;left:-140px}
.b2{width:320px;height:320px;background:var(--lilac);bottom:-120px;right:8%}
.b3{width:220px;height:220px;background:var(--mint);top:60px;right:-70px}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;margin:1.2rem 0 1.1rem}
.hl{color:var(--orange);position:relative;white-space:nowrap}
.hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.06em;height:.22em;background:var(--peach);z-index:-1;border-radius:6px}
.lead{font-size:1.15rem;color:var(--muted);max-width:560px;margin-bottom:1.8rem}
.join-inline{display:flex;flex-wrap:wrap;gap:.6rem;max-width:540px}
.join-inline input{flex:1 1 230px}
.join-inline .form-msg{flex-basis:100%}
input,select{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:14px;padding:.85rem 1rem;width:100%;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px rgba(108,92,231,.15)}
input[aria-invalid="true"]{border-color:#e0452b}
.form-msg{font-weight:700;font-size:.95rem;min-height:1.2em}
.form-msg.ok{color:var(--green)}
.form-msg.err{color:#d23b22}
.hint{font-size:.88rem;color:var(--muted);margin-top:.4rem}
.hero-facts{display:flex;gap:1.6rem;list-style:none;margin-top:1.8rem;flex-wrap:wrap}
.hero-facts li{color:var(--muted);font-weight:700}
.hero-facts strong{font-family:var(--font-head);font-size:1.7rem;color:var(--ink);margin-right:.25rem}

/* Chat demo */
.chat{background:var(--card);border-radius:28px;box-shadow:var(--shadow);border:2px solid var(--line);overflow:hidden;transform:rotate(1.2deg)}
.chat-top{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-bottom:2px solid var(--line)}
.avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--orange),#ffb26b);display:grid;place-items:center;font-size:1.3rem}
.chat-name{font-family:var(--font-head);font-weight:800;font-size:1.1rem;line-height:1.1}
.chat-status{font-size:.8rem;color:var(--green);font-weight:800}
.chat-tag{margin-left:auto;font-size:.75rem;color:var(--muted);border:2px dashed var(--line);padding:.25rem .6rem;border-radius:10px;font-weight:700}
.chat-body{display:flex;flex-direction:column;gap:.7rem;padding:1.3rem;min-height:360px;background:linear-gradient(#fff,#fffaf4)}
.msg{max-width:85%;padding:.7rem 1rem;border-radius:18px;font-size:.98rem;line-height:1.45}
.msg.kid{align-self:flex-end;background:var(--violet);color:#fff;border-bottom-right-radius:6px}
.msg.ai{align-self:flex-start;background:#fff4e8;border:2px solid #ffe2c4;border-bottom-left-radius:6px}
.note{align-self:center;font-family:var(--font-head);font-weight:800;color:#d23b22;background:#ffe9e4;padding:.2rem .9rem;border-radius:999px;font-size:.95rem}
.note.good{color:var(--green);background:#dcf7ee}

/* Marquee */
.marquee{background:var(--ink);color:#fff;overflow:hidden;padding:1rem 0;transform:rotate(-1.2deg);margin:-.5rem -2% 0;width:104%}
.marquee-track{display:flex;gap:2rem;width:max-content;font-family:var(--font-head);font-weight:800;font-size:1.4rem;animation:marquee 30s linear infinite}
.marquee-track span:nth-child(4n+2){color:var(--orange)}
.marquee-track span:nth-child(4n){color:var(--mint)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Sections */
.section{padding:6rem 0}
.section-tint{background:var(--bg-2)}
.section-head{max-width:720px;margin-bottom:3rem}
.section-head p,.section p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:1.6rem;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--shadow)}
.card-ico{width:58px;height:58px;border-radius:18px;background:var(--c);display:grid;place-items:center;font-size:1.7rem;margin-bottom:1.1rem}
.card h3{margin-bottom:.4rem}
.card p{font-size:.97rem}

.preview-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.5rem;align-items:center}
.preview-grid p{margin-bottom:1.2rem}
.ticks{list-style:none;display:grid;gap:.55rem}
.ticks li{padding-left:2rem;position:relative;font-weight:700}
.ticks li::before{content:"✓";position:absolute;left:0;top:.05rem;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--mint);color:var(--ink);display:grid;place-items:center;font-size:.8rem}
.video-frame{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;background:#000;aspect-ratio:16/9}
.video-frame video{width:100%;height:100%;object-fit:cover}

.levels{display:grid;gap:1rem}
.level{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}
.level summary{display:flex;align-items:center;gap:1.1rem;padding:1.2rem 1.4rem;cursor:pointer;list-style:none}
.level summary::-webkit-details-marker{display:none}
.level summary::after{content:"+";margin-left:.5rem;font-family:var(--font-head);font-size:1.8rem;font-weight:800;color:var(--d);transition:transform .3s}
.level[open] summary::after{transform:rotate(45deg)}
.lvl-num{width:52px;height:52px;flex:none;border-radius:16px;background:var(--c);color:var(--ink);display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:1.6rem}
.lvl-title{display:flex;flex-direction:column;line-height:1.2}
.lvl-title strong{font-family:var(--font-head);font-size:1.4rem}
.lvl-title small{color:var(--muted);font-weight:700;font-size:.9rem}
.lvl-cert{margin-left:auto;font-weight:800;font-size:.85rem;background:var(--bg);border:2px solid var(--line);padding:.35rem .8rem;border-radius:999px;white-space:nowrap}
.level ol{padding:0 1.4rem 1.4rem 5.4rem;display:grid;gap:.45rem;font-weight:700}
.level ol li::marker{color:var(--d);font-family:var(--font-head);font-weight:800}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.step{background:var(--card);border-radius:var(--radius);padding:2rem 1.6rem;border:2px solid var(--line);position:relative}
.step-n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.3rem;margin-bottom:1rem}
.step:nth-child(2) .step-n{background:var(--violet)}
.step:nth-child(3) .step-n{background:var(--orange)}
.step h3{margin-bottom:.3rem}

.parents-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:start}
.trust{list-style:none;display:grid;gap:1rem}
.trust li{display:flex;gap:1rem;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem}
.trust li>span{font-size:1.7rem;line-height:1}
.trust strong{font-family:var(--font-head);font-size:1.15rem}
.trust p{font-size:.96rem}

.faq{display:grid;gap:.8rem}
.faq details{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:0 1.3rem}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:700;font-size:1.15rem;padding:1.05rem 2rem 1.05rem 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--orange);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding-bottom:1.2rem}

.cta{background:linear-gradient(160deg,var(--violet),#8f7bff);padding:6rem 0}
.cta-card{background:var(--card);border-radius:32px;padding:3rem;text-align:center;box-shadow:0 30px 80px -30px rgba(20,10,60,.55)}
.cta-card h2{margin-top:1rem}
.cta-card>p{margin-bottom:1.8rem}
.join-full{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}
.join-full .field:nth-child(2){grid-column:span 1}
.join-full .btn,.join-full .form-msg{grid-column:1/-1}
.field label{display:block;font-weight:800;font-size:.9rem;margin-bottom:.35rem}
.opt{color:var(--muted);font-weight:600}
.join-full .field:first-child{grid-column:1/-1}

.footer{padding:3rem 0;background:var(--ink);color:rgba(255,255,255,.75)}
.footer-inner{display:grid;gap:.6rem;justify-items:center;text-align:center}
.footer .logo{color:#fff}
.footer a{color:var(--peach)}
.small{font-size:.82rem;opacity:.7;max-width:620px}

/* Legal pages */
.legal{padding:4rem 0 6rem}
.legal h1{font-size:clamp(2.2rem,5vw,3rem);margin-bottom:1rem}
.legal h2{font-size:1.5rem;margin:2rem 0 .5rem}
.legal p,.legal li{color:var(--muted);margin-bottom:.6rem}
.legal ul{padding-left:1.3rem}

/* Responsive */
@media (max-width:980px){
  .hero-grid,.preview-grid,.parents-grid{grid-template-columns:1fr;gap:2.5rem}
  .cards{grid-template-columns:repeat(2,1fr)}
  .chat{transform:none;max-width:560px}
  .nav-links{display:none}
  .nav-inner .btn{margin-left:auto}
}
@media (max-width:640px){
  body{font-size:16px}
  .hero{padding:2.5rem 0 3.5rem}
  .section{padding:4rem 0}
  .cards,.steps,.join-full{grid-template-columns:1fr}
  .lvl-cert{display:none}
  .level ol{padding-left:3.2rem}
  .cta-card{padding:2rem 1.3rem}
  .chat-body{min-height:0}
  .b1{width:260px;height:260px}
  .join-inline .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
