:root{--navy:#173753;--teal:#2f9488;--blue:#2e7894;--ink:#26343c;--muted:#687985;--paper:#fbfcfa;--mint:#e8f4f1;--sky:#e9f3f7;--sun:#fff3d8;--green:#eaf6ee;--coral:#e77463;--blush:#fcece8;--line:#c9d9dd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.site-header{height:78px;display:flex;align-items:center;gap:34px;padding:0 max(5vw,28px);background:rgba(251,252,250,.96);border-bottom:1px solid #dfe9e8;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:11px;color:var(--navy);margin-right:auto}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--teal);color:#fff;font-size:24px;font-weight:800;transform:rotate(-3deg)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-size:19px}.brand small{font-size:13px;color:var(--teal);margin-top:4px;letter-spacing:.08em;text-transform:uppercase}.site-header nav{display:flex;gap:25px;font-size:15px;font-weight:700;color:#48606d}.site-header nav a:hover{color:var(--teal)}.header-cta,.primary{background:var(--navy);color:#fff;padding:13px 20px;border-radius:999px;font-weight:800}.header-cta:hover,.primary:hover{background:var(--teal)}
.hero{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:80px max(7vw,40px);overflow:hidden;background:radial-gradient(circle at 85% 20%,#e0f3ef 0,transparent 34%),var(--paper)}.eyebrow{margin:0 0 13px;color:var(--teal);font-size:14px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero h1{font-size:clamp(48px,5.5vw,78px);line-height:.98;letter-spacing:-.045em;color:var(--navy);margin:0}.hero h1 span{color:var(--teal)}.hero-lead{font-size:21px;line-height:1.65;max-width:680px;margin:28px 0;color:#49606b}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.primary,.secondary{display:inline-block;padding:15px 24px;font-size:16px}.secondary{border:2px solid var(--line);border-radius:999px;color:var(--navy);font-weight:800;background:#fff}.secondary:hover{border-color:var(--teal)}.trust-line{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;font-size:14px;color:var(--muted);font-weight:700}
.hero-visual{position:relative;min-height:500px}.notebook{position:absolute;inset:25px 45px 20px 20px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:35px 38px;box-shadow:0 28px 70px rgba(23,55,83,.16);transform:rotate(1.5deg)}.notebook:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:#f3bbb2}.notebook-top{display:flex;justify-content:space-between;border-bottom:3px solid var(--teal);padding-bottom:18px;color:var(--navy);font-size:21px;font-weight:800}.notebook-top b{font-size:14px;color:var(--teal)}.money-row,.money-result{display:flex;justify-content:space-between;padding:20px 10px;border-bottom:1px solid #dce7e7;font-size:18px}.money-row strong{color:var(--navy)}.money-result{margin-top:8px;background:var(--mint);border-radius:16px;border:0;font-weight:800;color:var(--teal);font-size:22px}.goal{margin:25px 10px 0}.goal span,.goal small{display:block;font-size:14px;font-weight:800}.goal div{height:14px;background:#e6ecec;border-radius:9px;margin:10px 0;overflow:hidden}.goal i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#6cc1b5);border-radius:9px}.goal small{color:var(--muted)}.float-card{position:absolute;padding:15px 19px;border-radius:18px;box-shadow:0 16px 35px rgba(23,55,83,.16);display:flex;flex-direction:column}.float-card b{font-size:23px}.float-card span{font-size:12px;font-weight:700}.wait{right:0;top:60px;background:var(--sun);color:#8a6100;transform:rotate(4deg)}.abc{left:0;bottom:12px;background:var(--navy);color:white;transform:rotate(-4deg)}
.steps-section,.school,.faq{padding:100px max(7vw,40px)}.section-heading{text-align:center;max-width:790px;margin:0 auto 48px}.section-heading h2,.parents h2,.downloads h2,.safety h2{margin:0;color:var(--navy);font-size:clamp(34px,4vw,54px);letter-spacing:-.035em}.section-heading>p:last-child{font-size:19px;line-height:1.6;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:auto}.step{min-height:255px;border-radius:27px;padding:28px}.step span{font-size:38px;font-weight:900}.step h3{font-size:27px;color:var(--navy);margin:22px 0 12px}.step p{line-height:1.55;margin:0}.mint{background:var(--mint)}.mint span{color:var(--teal)}.sky{background:var(--sky)}.sky span{color:var(--blue)}.sun{background:var(--sun)}.sun span{color:#9a6b00}.green{background:var(--green)}.green span{color:#37825b}.challenge{max-width:1200px;margin:35px auto 0;background:var(--navy);border-radius:30px;padding:42px;color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:45px}.challenge h3{font-size:34px;margin:0 0 14px}.challenge p{line-height:1.6}.challenge ol{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;margin:0;padding:0}.challenge li{padding:17px;background:rgba(255,255,255,.11);border-radius:17px}.challenge li b,.challenge li span{display:block}.challenge li b{color:#89d3c8;margin-bottom:5px}.challenge li span{font-size:14px}
.parents{padding:100px max(9vw,55px);background:var(--mint);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:80px}.parents-copy>p:not(.eyebrow){font-size:20px;line-height:1.65}.parents ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.parents li{padding-left:25px;position:relative;font-weight:700}.parents li:before{content:"✓";position:absolute;left:0;color:var(--teal)}.parent-card{background:white;border-radius:30px;padding:42px;box-shadow:0 22px 55px rgba(23,55,83,.12)}.parent-card>p{font-weight:900;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;font-size:13px}.parent-card blockquote{margin:22px 0;font-size:29px;line-height:1.35;color:var(--navy);font-weight:800}.parent-card small{color:var(--muted);line-height:1.5}
.school{background:#fff}.school-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.school-grid article{border-top:5px solid var(--teal);background:var(--paper);padding:32px;border-radius:0 0 22px 22px}.school-grid b{color:var(--teal);font-size:14px}.school-grid h3{font-size:24px;color:var(--navy)}.school-grid p{line-height:1.55}.age-band{max-width:1150px;margin:28px auto 0;display:flex;justify-content:space-around;gap:20px;padding:22px;border-radius:20px;background:var(--sky)}.age-band span{font-size:14px}.age-band b{display:block;color:var(--blue);font-size:21px;margin-bottom:4px}
.downloads{padding:100px max(8vw,50px);background:var(--navy);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.downloads h2{color:#fff}.download-intro>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#cfdee5}.version{display:inline-block;margin-top:18px;padding:10px 15px;background:rgba(255,255,255,.1);border-radius:12px;font-size:13px}.download-list{display:flex;flex-direction:column;gap:13px}.download-item{display:grid;grid-template-columns:50px 1fr auto;gap:18px;align-items:center;background:#fff;color:var(--ink);padding:19px;border-radius:20px;transition:transform .2s}.download-item:hover{transform:translateY(-2px)}.download-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:var(--mint);color:var(--teal);font-size:25px;font-weight:900}.download-item small,.download-item strong,.download-item em{display:block}.download-item small{color:var(--teal);font-weight:800;margin-bottom:4px}.download-item strong{color:var(--navy);font-size:18px}.download-item em{font-size:13px;color:var(--muted);font-style:normal;margin-top:5px}.download-item>b{color:var(--teal);font-size:13px}
.safety{padding:65px max(9vw,55px);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;background:var(--blush)}.safety p:last-child{font-size:18px;line-height:1.65}.faq-grid{max-width:950px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:22px 5px}.faq summary{cursor:pointer;font-weight:800;color:var(--navy);font-size:19px}.faq details p{color:var(--muted);line-height:1.6}
footer{padding:60px max(6vw,35px);background:#102a40;color:#d5e2e8;text-align:center}.footer-brand{justify-content:center;color:white;margin:0 auto 20px}.footer-brand .brand-mark{background:var(--teal)}footer nav{display:flex;gap:24px;justify-content:center;margin:25px 0;font-size:14px;font-weight:700}footer nav a:hover{color:#83d1c6}footer>small{color:#91a8b3}
@media(max-width:980px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:65px}.hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.trust-line{justify-content:center}.hero-visual{min-height:480px;max-width:650px;width:100%;margin:auto}.steps{grid-template-columns:1fr 1fr}.parents,.downloads,.safety{grid-template-columns:1fr}.school-grid{grid-template-columns:1fr}.age-band{flex-wrap:wrap}.challenge{grid-template-columns:1fr}}
@media(max-width:620px){.site-header{height:68px;padding:0 18px}.header-cta{display:none}.hero,.steps-section,.school,.faq,.parents,.downloads,.safety{padding:65px 22px}.hero h1{font-size:46px}.hero-lead{font-size:18px}.hero-visual{min-height:400px}.notebook{inset:20px 10px;padding:27px 25px}.float-card{display:none}.steps{grid-template-columns:1fr}.challenge ol{grid-template-columns:1fr}.parents ul{grid-template-columns:1fr}.downloads{gap:35px}.download-item{grid-template-columns:46px 1fr}.download-item>b{display:none}.age-band{display:grid}.parent-card{padding:28px}.parent-card blockquote{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.download-item{transition:none}}
.skip-link{position:fixed;left:18px;top:-80px;z-index:100;background:#fff;color:var(--navy);padding:12px 16px;border:2px solid var(--teal);border-radius:10px;font-weight:800}.skip-link:focus{top:12px}
.products{padding:100px max(7vw,40px);background:var(--paper)}.product-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-grid article{display:flex;flex-direction:column;min-height:315px;padding:29px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:0 12px 35px rgba(23,55,83,.07)}.product-grid article.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.product-grid small{font-weight:900;color:var(--teal);letter-spacing:.08em;text-transform:uppercase}.product-grid h3{font-size:25px;line-height:1.15;color:var(--navy);margin:20px 0 10px}.product-grid .featured h3{color:#fff}.product-grid p{line-height:1.55;margin:0 0 24px}.product-button{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:14px 17px;border-radius:13px;background:var(--teal);color:#fff;font-weight:900}.product-button:hover{background:var(--navy)}.featured .product-button{background:#fff;color:var(--navy)}.is-disabled{cursor:not-allowed;opacity:.55;pointer-events:none}.commerce-note{max-width:850px;margin:28px auto 0;text-align:center;color:var(--muted);font-size:14px;line-height:1.55}
.newsletter{padding:90px max(9vw,55px);display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;background:var(--sky)}.newsletter h2{font-size:clamp(34px,4vw,52px);color:var(--navy);margin:0}.newsletter>div>p:not(.eyebrow){font-size:19px;line-height:1.65}.newsletter ul{display:flex;gap:18px;flex-wrap:wrap;padding:0;list-style:none;color:var(--blue);font-weight:800}.newsletter aside{background:#fff;border-radius:26px;padding:34px;box-shadow:0 18px 45px rgba(23,55,83,.1)}.newsletter aside h3{font-size:25px;color:var(--navy);margin-top:0}.newsletter aside p,.newsletter aside small{line-height:1.55;color:var(--muted)}.newsletter aside small{display:block;margin-top:15px}.newsletter aside small a{text-decoration:underline}.wide{display:flex;width:100%;justify-content:space-between;margin-top:20px}
@media(max-width:1100px){.product-grid{grid-template-columns:1fr 1fr}.newsletter{grid-template-columns:1fr}}
@media(max-width:620px){.products,.newsletter{padding:65px 22px}.product-grid{grid-template-columns:1fr}.newsletter ul{display:grid;gap:8px}.product-grid article{min-height:auto}}
.legal-page{max-width:850px;margin:auto;padding:70px 28px 110px}.legal-page h1{font-size:52px;color:var(--navy);margin:10px 0 45px}.legal-page h2{color:var(--teal);margin-top:34px}.legal-page p{font-size:17px;line-height:1.7}.legal-page a{color:var(--blue);text-decoration:underline}.legal-page .back{display:inline-block;margin-bottom:45px;font-weight:800;text-decoration:none}.legal-note{margin-top:45px;padding:22px;border-radius:18px;background:var(--sun);border-left:5px solid #d59b13}
/* Download page */
.download-list { display: grid; gap: 1rem; margin: 2rem 0; }
.download-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem; background: var(--cream); border: 1px solid #d8e9e6; border-radius: 20px; }
.download-card h2 { margin: 0 0 .35rem; font-size: 1.2rem; }
.download-card p { margin: 0; }
@media (max-width: 620px) { .download-card { align-items: flex-start; flex-direction: column; } }
