:root{
  --ink:#20234e;--body:#5d6382;--purple:#6859e7;--purple-dark:#5143c6;--cream:#fffaf3;
  --line:#ebe9f5;--shadow:0 18px 50px rgba(38,34,85,.08);
  font-family:"Avenir Next","Trebuchet MS","Segoe UI",system-ui,sans-serif;
  color:var(--ink);background:var(--cream);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;min-width:320px;background:var(--cream);padding-bottom:70px}
button,a{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
:focus-visible{outline:3px solid #a79aff;outline-offset:4px}
[hidden]{display:none!important}
.container{width:min(100% - 36px,1170px);margin-inline:auto}
.skip-link{position:absolute;left:10px;top:-60px;z-index:100;padding:12px;background:white;border-radius:10px}
.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,250,243,.96);border-bottom:1px solid rgba(120,112,166,.11);backdrop-filter:blur(16px)}
.header-content{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;gap:10px;align-items:center;min-width:0}
.brand-emblem{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:white;font-size:26px;background:linear-gradient(145deg,#8776ff,#5849d2);box-shadow:0 9px 17px #7866df35;transform:rotate(-8deg);flex:none}
.brand-name{font-size:15px;font-weight:900;line-height:1.05;letter-spacing:-.5px;white-space:nowrap}
.brand-name>span{display:block}
.brand-name small{color:var(--purple);font-size:8px;display:block;letter-spacing:1.5px;margin-top:4px}
.desktop-navigation{display:none}
.header-actions{display:flex;align-items:center;gap:10px}
.language-switch{padding:3px;background:#eeebfc;border-radius:999px;display:flex;gap:1px}
.lang-button{border:0;background:transparent;border-radius:999px;color:#8076bc;font-size:10px;font-weight:900;padding:7px 8px;min-height:30px}
.lang-button.active{background:#fff;color:#5040c7;box-shadow:0 2px 5px #5745aa15}
.login-link{padding:10px 12px;border:1px solid #d7d2fa;border-radius:999px;background:#fff;font-size:12px;font-weight:900;color:var(--purple);white-space:nowrap}
.hero-section{overflow:hidden;position:relative;padding:44px 0 36px;background:radial-gradient(circle at 86% 3%,#f0e5ff 0,transparent 35%),linear-gradient(172deg,#fffaf3 0%,#fffaf3 62%,#fff4ee 100%)}
.hero-layout{display:grid;gap:36px;align-items:center}
.eyebrow,.section-kicker{font-size:11px;color:var(--purple);font-weight:900;letter-spacing:1.4px}
.eyebrow{display:inline-flex;gap:8px;align-items:center;background:#f2eeff;border:1px solid #e8e2ff;border-radius:50px;padding:8px 12px;letter-spacing:.7px}
.eyebrow-star{font-size:15px}
.hero-copy h1{font-size:clamp(42px,10.3vw,75px);line-height:1.04;letter-spacing:-2.4px;margin:22px 0 20px;font-weight:950}
.hero-title-accent{color:var(--purple)}
.hero-description{font-size:15px;line-height:1.82;color:var(--body);max-width:570px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.button{border-radius:100px;padding:16px 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:900;min-height:50px;text-align:center;transition:transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--purple);color:#fff;box-shadow:0 12px 22px #6b5ce544}
.button-primary:hover{background:var(--purple-dark)}
.button-light{background:white;color:var(--purple);border:1px solid #e3defc}
.hero-reassurance{display:flex;gap:10px;align-items:center;color:#6e7289;font-size:12px;font-weight:700;margin-top:23px}
.green-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#d9f7e8;color:#13986b;font-weight:900;flex:none}
.hero-visual{min-height:360px;position:relative;isolation:isolate}
.visual-orbit{position:absolute;width:310px;height:310px;border-radius:50%;background:#eddefe;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 28px #f4e9fe,0 0 0 58px #f9f1ff}
.visual-main{position:absolute;inset:0;max-width:430px;margin:auto;display:grid;place-items:center}
.visual-mascot{height:300px;width:290px;position:relative;display:grid;place-items:center}
.mascot-glow{position:absolute;width:230px;height:230px;border-radius:50%;background:linear-gradient(145deg,#ffe1a2,#ffc0ac);border:12px solid #fff7de;box-shadow:0 20px 55px #c0846438}
.mascot-character{position:relative;z-index:1;font-size:148px;filter:drop-shadow(0 12px 9px #6e465043);transform:rotate(-10deg)}
.mascot-book{position:absolute;z-index:2;bottom:30px;right:53px;font-size:65px;transform:rotate(14deg);filter:drop-shadow(0 7px 4px #47398022)}
.floating-badge{position:absolute;z-index:5;display:flex;gap:9px;align-items:center;border:1px solid #fff;background:#fff;border-radius:17px;box-shadow:0 14px 25px #4937851a;padding:10px 12px}
.floating-badge strong{display:block;font-size:11px}
.floating-badge small{display:block;font-size:9px;color:#9995ae;margin-top:3px}
.badge-top{top:25px;left:0;transform:rotate(-5deg)}
.badge-bottom{bottom:9px;right:0;transform:rotate(4deg)}
.badge-circle{height:36px;width:36px;flex:none;display:grid;place-items:center;border-radius:12px;font-size:18px}
.badge-circle.coral{background:#ffe6dc}.badge-circle.mint{background:#dff8e8}
.visual-note{position:absolute;z-index:3;right:12px;top:93px;background:#fffdf0;border:2px dashed #e5c16a;border-radius:12px;padding:11px 14px;transform:rotate(8deg);font-weight:900;font-size:11px}
.visual-note strong{display:block;color:#eba745;font-size:15px;margin-top:3px}
.decor-star{position:absolute;font-size:29px;color:#e9b75d;z-index:2}
.star-one{top:30px;right:20px}.star-two{bottom:36px;left:9px;color:#ae8fea}
.value-strip{display:grid;gap:10px;margin-top:37px}
.value-item{border:1px solid #f2ecf2;border-radius:20px;padding:13px 15px;background:#fff;display:flex;align-items:center;gap:13px;box-shadow:0 7px 25px #4c438410}
.value-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:16px;font-size:23px;flex:none}
.value-icon.lavender,.skill-icon.lavender{background:#f0edff}.value-icon.yellow,.skill-icon.yellow{background:#fff1d8}.value-icon.mint,.skill-icon.mint{background:#e1f9ed}
.value-item strong{display:block;font-size:13px}.value-item small{display:block;margin-top:4px;color:#8a89a3;font-size:11px}
.section{padding:68px 0}
.section-heading h2,.progress-copy h2{font-size:clamp(31px,7vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:12px 0 14px}
.section-heading p,.progress-copy>p{color:var(--body);font-size:14px;line-height:1.86;margin:0;max-width:560px}
.section-heading.center{text-align:center}.section-heading.center p{margin-inline:auto}
.how-section{background:#fff}
.approach-grid{display:grid;gap:15px;margin-top:33px}
.approach-card{border-radius:25px;padding:25px 25px 30px;position:relative;min-height:255px}
.lavender-card{background:#f2efff}.peach-card{background:#fff1e7}.green-card{background:#eaf9ef}
.approach-icon{width:67px;height:67px;display:grid;place-items:center;border-radius:20px;background:#fff;font-size:32px;box-shadow:0 5px 16px #392c6012;margin-bottom:31px}
.step-number{font-size:11px;font-weight:950;color:#b0aacd;position:absolute;right:27px;top:29px;letter-spacing:1px}
.approach-card h3{font-size:20px;letter-spacing:-.6px;margin:0 0 9px}
.approach-card p{color:#666a83;font-size:13px;line-height:1.75;margin:0}
.progress-section{background:#fff9f3;overflow:hidden}
.progress-grid{display:grid;gap:34px;align-items:center}
.color-emphasis{color:var(--purple)}
.feature-list{list-style:none;padding:0;margin:25px 0 25px;display:grid;gap:16px}
.feature-list li{display:flex;gap:11px;font-size:13px;line-height:1.65;color:#434968;font-weight:700}
.feature-tick{display:grid;place-items:center;width:24px;height:24px;background:#e0f7e9;color:#16976e;border-radius:50%;flex:none;font-weight:900}
.teacher-note{display:flex;gap:12px;align-items:start;background:#fff;border:1px solid #f0e9df;border-radius:17px;padding:16px;box-shadow:0 5px 20px #ac824213}
.teacher-note-icon{font-size:23px}
.teacher-note p{font-size:12px;line-height:1.65;margin:0;color:#6d6888;font-style:italic}
.progress-card-wrap{position:relative;isolation:isolate}
.progress-card-wrap::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#ede3ff;top:-35px;right:-85px;z-index:-1}
.progress-display{background:white;border:1px solid #efedf5;border-radius:29px;padding:23px;box-shadow:0 24px 70px #41377016;transform:rotate(-1deg)}
.mock-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0eef7;padding-bottom:18px;gap:12px}
.mock-head small{color:#9997b0;font-size:9px;font-weight:950;letter-spacing:1px}
.mock-head h3{font-size:16px;line-height:1.35;margin:8px 0 0}
.mock-icon{font-size:34px}
.skill-row{display:flex;gap:12px;align-items:center;margin-top:21px}
.skill-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:22px;flex:none}
.skill-info{flex:1;min-width:0}.skill-info strong{display:block;font-size:12px;margin-bottom:8px}
.skill-row small{width:63px;text-align:right;font-size:9px;color:#8d8aa2;font-weight:800}
.skill-bar{display:block;height:8px;background:#f1eff7;border-radius:9px;overflow:hidden}
.skill-bar>span{display:block;height:100%;background:#f4b956;border-radius:9px}
.skill-bar.purple>span{background:#8873ed}.skill-bar.green>span{background:#6fcfa5}
.feedback-bubble{display:flex;gap:12px;background:#f1efff;border-radius:16px;padding:16px;margin-top:26px}
.feedback-icon{background:#695be7;border-radius:12px;color:#fff;width:35px;height:35px;display:grid;place-items:center;flex:none;font-size:22px}
.feedback-bubble strong{font-size:12px}.feedback-bubble p{margin:6px 0 0;color:#69668c;font-size:11px;line-height:1.6}
.illustration-caption{font-size:10px;line-height:1.5;color:#a19bb2;margin:13px 0 0;text-align:center}
.progress-decoration{position:absolute;color:#f7bd58;bottom:-30px;left:-32px;font-size:75px;z-index:-1}
.parents-section{background:#fff}
.parent-inner{max-width:1050px}
.parent-grid{display:grid;gap:12px;margin-top:34px}
.parent-feature{display:flex;gap:14px;border:1px solid #eeedf6;border-radius:22px;padding:19px 16px;background:#fff;box-shadow:0 5px 20px #38307308}
.parent-feature>span{font-size:29px;width:52px;height:52px;background:#f3f0ff;display:grid;place-items:center;border-radius:15px;flex:none}
.parent-feature:nth-child(2)>span{background:#fff3e0}.parent-feature:nth-child(3)>span{background:#e9f9ed}.parent-feature:nth-child(4)>span{background:#fff0ed}
.parent-feature h3{margin:2px 0 7px;font-size:15px}.parent-feature p{margin:0;color:#777a91;font-size:12px;line-height:1.7}
.cta-section{background:#fff;padding-top:0}
.cta-panel{text-align:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#6557df,#927df4);padding:43px 22px 46px;border-radius:28px;color:#fff;box-shadow:0 22px 45px #6a57d737}
.cta-panel::before,.cta-panel::after{content:"";position:absolute;border:2px dashed #ffffff26;border-radius:50%;width:250px;height:250px;pointer-events:none}
.cta-panel::before{left:-160px;top:-170px}.cta-panel::after{right:-155px;bottom:-175px}
.cta-emoji{font-size:47px;filter:drop-shadow(0 8px 9px #33255c4a)}
.cta-panel h2{font-size:clamp(29px,7vw,43px);line-height:1.14;letter-spacing:-1px;margin:15px 0}
.cta-panel p{font-size:14px;color:#f0eaff;line-height:1.75;max-width:580px;margin:0 auto}
.cta-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:25px}
.button-white{background:#fff;color:var(--purple)}.button-outline-white{background:#ffffff17;border:1px solid #ffffff7a;color:#fff}
.cta-sparkle{position:absolute;opacity:.65;font-size:48px}.cta-sparkle.left{left:6%;top:18%}.cta-sparkle.right{right:8%;bottom:16%;font-size:30px}
.site-footer{background:#fff;border-top:1px solid #eeeaf7;padding:30px 0 25px}
.footer-inner{display:flex;flex-direction:column;gap:24px;align-items:start}
.footer-brand{display:flex;gap:12px;align-items:center}.footer-emblem{width:43px;height:43px;border-radius:13px;background:var(--purple);display:grid;place-items:center;color:white;font-size:26px}
.footer-brand strong{display:block;font-size:14px}.footer-brand small{display:block;color:#9995ae;font-size:11px;margin-top:5px}
.footer-links{display:flex;flex-wrap:wrap;gap:17px}.footer-links a{font-weight:800;color:#686782;font-size:12px}
.footer-copy{font-size:11px;color:#a5a0b2;margin:0}
.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;background:rgba(255,255,255,.97);border-top:1px solid #eeeaf8;padding:9px max(14px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right));gap:10px;box-shadow:0 -6px 24px #3c337b12}
.mobile-cta a{display:grid;place-items:center;text-align:center;border-radius:13px;font-size:13px;font-weight:900;min-height:45px}
.mobile-join{flex:1;background:var(--purple);color:#fff}.mobile-login{flex:0 0 31%;color:var(--purple);background:#f0edff}
@media(min-width:600px){
  .container{width:min(100% - 56px,1170px)}
  .hero-section{padding-top:60px}.hero-visual{min-height:430px}.visual-orbit{width:360px;height:360px}.visual-mascot{transform:scale(1.08)}
  .value-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.value-item{padding:13px}.value-item small{line-height:1.4}
  .approach-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.approach-card{min-height:320px}
  .parent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-inner{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
}
@media(min-width:880px){
  body{padding-bottom:0}
  .header-content{min-height:88px}.brand-name{font-size:17px}.brand-emblem{width:48px;height:48px}
  .desktop-navigation{display:flex;gap:27px;margin-left:auto}.desktop-navigation a{font-size:12px;font-weight:850;color:#696b87;white-space:nowrap}
  .desktop-navigation a:hover,.footer-links a:hover{color:var(--purple)}
  .header-actions{margin-left:16px}.lang-button{font-size:11px;padding:8px 10px}.login-link{padding:12px 20px;font-size:13px}
  .hero-section{padding-top:73px}.hero-layout{grid-template-columns:1.12fr 1fr;gap:30px;min-height:520px}
  .hero-copy h1{font-size:clamp(58px,5.8vw,83px);letter-spacing:-3.5px}.hero-description{font-size:16px}
  .hero-visual{min-height:460px}.visual-orbit{width:360px;height:360px}
  .value-strip{margin-top:30px;margin-bottom:12px;gap:14px}.value-item{padding:17px 22px}
  .section{padding:94px 0}.approach-grid{gap:22px;margin-top:43px}.approach-card{min-height:317px;padding:29px}
  .progress-grid{grid-template-columns:1fr 1fr;gap:70px}.progress-display{padding:30px}.progress-copy>p{font-size:15px}
  .parent-grid{gap:18px}.parent-feature{padding:23px}
  .cta-panel{padding:60px 30px 64px;border-radius:35px}.site-footer{padding:32px 0}
  .mobile-cta{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Public conversion paths share the same friendly visual language as the landing page. */
.growth-feature-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:35px;margin-bottom:20px}
.growth-feature-strip a{display:grid;justify-items:center;text-align:center;gap:9px;border:1px solid #e9e6ff;border-radius:19px;background:white;padding:18px 10px;box-shadow:0 12px 25px #3534740d;color:#565177;text-decoration:none;font-size:13px}
.growth-feature-strip a span{font-size:25px}.growth-feature-strip a:hover{border-color:#9e91fa;color:#665bea;transform:translateY(-2px)}
@media(max-width:1000px){.growth-feature-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:500px){.growth-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.growth-feature-strip a{padding:14px 6px}}
