:root{
  --purple:#8D52D9;--purple-2:#5B2BBF;--blue:#4DD7FF;--green:#63D471;--lav:#F7F2FF;--ink:#171321;--muted:#655f75;--white:#fff;--line:rgba(23,19,33,.10);--shadow:0 24px 70px rgba(79,41,145,.16);--radius:28px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.site-shell{position:relative;min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(141,82,217,.16),transparent 28%),radial-gradient(circle at 90% 12%,rgba(77,215,255,.18),transparent 28%),linear-gradient(180deg,#fff 0%,#fcfaff 45%,#fff 100%)}
.cursor-glow{position:fixed;inset:auto auto 0 0;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(141,82,217,.17),transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);transition:opacity .2s}.site-header{position:sticky;top:18px;z-index:50;max-width:var(--max);margin:18px auto 0;padding:12px 14px;display:flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-radius:999px;box-shadow:0 18px 50px rgba(54,37,87,.08)}.brand img{width:150px}.nav-links{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:700;color:#423b52}.nav-links a{transition:.25s}.nav-links a:hover{color:var(--purple)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:800;transition:.25s ease;white-space:nowrap}.nav-cta{background:var(--ink);color:#fff;padding:12px 18px;font-size:14px}.nav-cta:hover,.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(141,82,217,.28)}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;margin-left:auto}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:7px;border-radius:9px}.section-pad{max-width:var(--max);margin:0 auto;padding:100px 20px}.hero{position:relative;min-height:calc(100vh - 90px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:48px;padding-top:70px}.hero-bg{position:absolute;inset:36px 0 auto auto;width:680px;height:680px;border-radius:50%;background:linear-gradient(135deg,rgba(141,82,217,.16),rgba(77,215,255,.16));filter:blur(10px);z-index:0}.hero-content,.hero-visual{position:relative;z-index:1}.eyebrow,.label{display:inline-flex;align-items:center;gap:10px;color:var(--purple-2);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase}.eyebrow span{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 8px rgba(99,212,113,.14)}h1,h2,h3{font-family:Sora,sans-serif;margin:0;letter-spacing:-.055em}h1{font-size:clamp(46px,7vw,86px);line-height:.94;margin:18px 0 24px}h2{font-size:clamp(32px,4.2vw,56px);line-height:1.03}h3{font-size:24px;line-height:1.16}.hero-copy{font-size:20px;line-height:1.7;color:var(--muted);max-width:600px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.btn{padding:16px 24px;border:1px solid transparent}.btn.primary{background:linear-gradient(135deg,var(--purple),#a56eff);color:#fff;box-shadow:0 18px 40px rgba(141,82,217,.24)}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:560px}.hero-trust div{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.8);box-shadow:0 14px 40px rgba(54,37,87,.08);border-radius:22px;padding:16px}.hero-trust strong{font-family:Sora;font-size:26px}.hero-trust span{display:block;color:var(--muted);font-size:13px;font-weight:700}.hero-visual{min-height:570px;display:grid;place-items:center}.orbit-line{position:absolute;width:min(100%,560px);animation:spin 28s linear infinite}.main-card{position:relative;width:310px;min-height:300px;border-radius:42px;padding:32px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.54));backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.84);box-shadow:0 30px 90px rgba(82,36,151,.20);display:grid;place-content:center;z-index:2}.mini-logo{width:116px;margin:0 auto 16px}.main-card h2{font-size:34px}.main-card p{font-weight:800;color:var(--muted);line-height:1.55}.float-chip{position:absolute;z-index:3;border-radius:24px;background:#fff;padding:16px 20px;font-weight:900;box-shadow:0 20px 50px rgba(54,37,87,.12);border:1px solid var(--line);animation:float 4s ease-in-out infinite}.chip-ai{top:80px;left:80px;color:var(--purple)}.chip-mic{top:110px;right:74px;font-size:24px;animation-delay:.8s}.chip-rocket{bottom:110px;left:72px;font-size:24px;animation-delay:1.4s}.chip-puzzle{right:94px;bottom:84px;font-size:24px;animation-delay:2s}.path-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 12px rgba(77,215,255,.14)}.dot-1{top:45px;right:210px}.dot-2{bottom:54px;left:220px;background:var(--green)}.dot-3{top:260px;right:34px;background:var(--purple)}
.section-head{text-align:center;max-width:780px;margin:0 auto 46px}.section-head p,.solution-copy p,.book-card p{font-size:18px;color:var(--muted);line-height:1.75}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.problem-card,.path-card,.parent-point,.faq-list details{background:rgba(255,255,255,.86);border:1px solid rgba(141,82,217,.12);border-radius:var(--radius);box-shadow:0 16px 50px rgba(54,37,87,.08)}.problem-card{padding:28px;transition:.25s}.problem-card:hover,.path-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.problem-card span{font-size:34px}.problem-card p,.path-card p,.faq p{color:var(--muted);line-height:1.65}.solution{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.text-link{display:inline-flex;margin-top:10px;font-weight:900;color:var(--purple)}.skills-orbit{position:relative;min-height:520px;border-radius:44px;background:radial-gradient(circle at center,rgba(141,82,217,.12),transparent 45%),linear-gradient(145deg,#fff,#f8f3ff);border:1px solid rgba(141,82,217,.10);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden}.center-skill{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;display:grid;place-items:center;text-align:center;font-family:Sora;font-size:25px;line-height:1.08;box-shadow:0 20px 60px rgba(141,82,217,.25)}.skills-orbit span{position:absolute;left:50%;top:50%;transform:rotate(var(--a)) translate(185px) rotate(calc(-1 * var(--a)));background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(54,37,87,.10);border-radius:999px;padding:11px 15px;font-weight:900;font-size:13px}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.path-card{padding:34px;position:relative;overflow:hidden}.path-card:before{content:"";position:absolute;inset:-2px -2px auto auto;width:180px;height:180px;border-radius:0 0 0 100%;background:linear-gradient(135deg,rgba(141,82,217,.16),rgba(77,215,255,.18))}.path-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-weight:800;font-size:13px;margin-bottom:24px}.age-badge{background:var(--ink);color:#fff;border-radius:999px;padding:9px 13px}.skill-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.skill-tags span{background:var(--lav);color:var(--purple-2);border:1px solid rgba(141,82,217,.12);font-weight:900;padding:9px 12px;border-radius:999px;font-size:13px}.transform-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px}.panel{padding:36px;border-radius:34px;min-height:180px;display:grid;align-content:center}.before{background:#fff;border:1px solid var(--line)}.after{background:linear-gradient(135deg,var(--ink),#3e2177);color:#fff}.panel small{text-transform:uppercase;font-weight:900;letter-spacing:.08em;color:var(--purple)}.after small{color:var(--blue)}.arrow-flow{font-size:42px;font-weight:900;color:var(--purple)}.learn-card,.book-card{border-radius:44px;padding:48px;background:linear-gradient(135deg,#fff, #f7f2ff);border:1px solid rgba(141,82,217,.12);box-shadow:var(--shadow)}.learn-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.learn-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.learn-steps div{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px}.learn-steps span{font-weight:900;color:var(--purple)}.learn-steps strong{display:block;margin:12px 0 6px;font-family:Sora}.learn-steps p{color:var(--muted);font-size:14px}.parent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.parent-point{padding:24px;font-weight:900;font-size:18px}.parent-point b{color:var(--green);margin-right:10px}.faq-list{max-width:820px;margin:0 auto;display:grid;gap:12px}.faq-list details{padding:23px 26px}.faq-list summary{font-family:Sora;font-weight:800;cursor:pointer}.book-card{display:grid;grid-template-columns:1fr 420px;gap:44px;align-items:center;background:radial-gradient(circle at 12% 12%,rgba(77,215,255,.18),transparent 30%),linear-gradient(135deg,#1b1231,#5b2bbf);color:#fff}.book-card p{color:rgba(255,255,255,.78)}.book-card .label{color:var(--blue)}.lead-form{display:grid;gap:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:18px;backdrop-filter:blur(14px)}input,select{width:100%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.94);border-radius:16px;padding:16px;font:inherit;font-weight:700;outline:none}.footer{max-width:var(--max);margin:0 auto;padding:38px 20px 90px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-weight:800}.footer img{width:150px}.footer a{color:var(--purple)}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;background:#25D366;color:#fff;font-weight:900;border-radius:999px;padding:14px 18px;box-shadow:0 18px 40px rgba(37,211,102,.28)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.14s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media (max-width:980px){.site-header{margin:12px 12px 0}.nav-links,.nav-cta{display:none}.menu-toggle{display:block}.nav-links.open{position:absolute;display:grid;top:68px;left:0;right:0;margin:0;padding:18px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.hero,.solution,.learn-card,.book-card{grid-template-columns:1fr}.hero{padding-top:50px}.hero-visual{min-height:460px;order:-1}.problem-grid{grid-template-columns:1fr 1fr}.path-grid,.parent-grid{grid-template-columns:1fr}.learn-steps{grid-template-columns:1fr 1fr}.book-card{gap:22px}.transform-wrap{grid-template-columns:1fr}.arrow-flow{transform:rotate(90deg);justify-self:center}.footer{flex-direction:column;text-align:center}.section-pad{padding:76px 20px}.skills-orbit span{transform:rotate(var(--a)) translate(145px) rotate(calc(-1 * var(--a)))}}
@media (max-width:620px){.brand img{width:130px}.site-header{top:8px;border-radius:24px}.hero{min-height:auto}.hero-trust,.problem-grid,.learn-steps{grid-template-columns:1fr}.hero-actions{display:grid}.hero-visual{min-height:410px}.main-card{width:250px;min-height:250px;border-radius:34px}.float-chip{padding:12px 14px}.chip-ai{left:10px;top:76px}.chip-mic{right:6px;top:90px}.chip-rocket{left:16px;bottom:74px}.chip-puzzle{right:8px;bottom:68px}.orbit-line{width:410px}.skills-orbit{min-height:430px}.skills-orbit span{position:static;transform:none;margin:5px;display:inline-flex}.skills-orbit{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;padding:24px}.center-skill{width:130px;height:130px;font-size:21px;order:-1;flex:0 0 130px}.book-card,.learn-card{padding:28px;border-radius:30px}.lead-form{padding:14px}.whatsapp{left:18px;right:18px;text-align:center}.section-head{text-align:left}h1{font-size:44px}.hero-copy{font-size:17px}}

/* Responsive stability patch v1.1 */
html,body{width:100%;max-width:100%;overflow-x:clip;text-size-adjust:100%;-webkit-text-size-adjust:100%}
.site-shell,main,section{max-width:100%;overflow-x:clip}.cursor-glow{will-change:transform}.brand{display:inline-flex;align-items:center;flex:0 0 auto}.brand img{width:clamp(138px,14vw,174px);height:auto;aspect-ratio:812/149;object-fit:contain}.footer img{width:clamp(145px,16vw,180px);height:auto;aspect-ratio:812/149}.mini-logo{width:132px}.mini-logo img{height:auto;aspect-ratio:812/149;object-fit:contain}.site-header{min-height:68px}.hero,.hero-content,.hero-visual,.section-head,.solution-copy,.learn-card,.book-card,.path-card,.panel{contain:layout paint}.float-chip,.path-dot,.orbit-line,.hero-bg{will-change:transform}.hero-bg{max-width:90vw;max-height:90vw}.hero-visual{isolation:isolate;overflow:visible}.orbit-line{pointer-events:none}.problem-card,.path-card,.parent-point,.faq-list details,.learn-steps div{min-width:0}h1,h2,h3,p{overflow-wrap:break-word}.hero-copy,.section-head p,.solution-copy p,.book-card p{max-width:100%}
@media (min-width:981px) and (max-width:1180px){:root{--max:1040px}.section-pad{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr .86fr;gap:28px}.hero-visual{min-height:520px}.float-chip{font-size:16px}.chip-ai{left:36px}.chip-mic{right:26px}.chip-rocket{left:32px}.chip-puzzle{right:38px}.problem-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){.site-header{top:10px;margin:10px 14px 0;width:auto}.section-pad{padding:72px 24px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:auto;padding-top:54px}.hero-content{order:1;text-align:left}.hero-visual{order:2;min-height:430px;width:100%;overflow:hidden;border-radius:38px}.hero-bg{inset:70px auto auto 50%;transform:translateX(-50%);width:560px;height:560px}.hero-trust{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%}.hero-trust div{padding:14px}.hero-trust strong{font-size:22px}.hero-trust span{font-size:12px}.main-card{width:280px;min-height:270px}.orbit-line{width:460px}.chip-ai{left:12%;top:64px}.chip-mic{right:12%;top:84px}.chip-rocket{left:11%;bottom:84px}.chip-puzzle{right:12%;bottom:70px}.dot-1,.dot-2,.dot-3{display:none}.solution{gap:28px}.skills-orbit{min-height:460px}.skills-orbit span{transform:rotate(var(--a)) translate(155px) rotate(calc(-1 * var(--a)))}.learn-card,.book-card{gap:26px}.book-card{grid-template-columns:1fr}.lead-form{max-width:560px}.nav-links.open{left:14px;right:14px;top:76px}.whatsapp{bottom:16px}}
@media (max-width:760px){.section-pad{padding:64px 18px}.site-header{min-height:62px;padding:10px 12px}.menu-toggle{width:40px;height:40px}.hero{padding-top:42px}.eyebrow,.label{font-size:12px;line-height:1.4}.hero h1{font-size:clamp(38px,12vw,58px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 18px}.hero-copy{font-size:16px;line-height:1.65}.hero-actions{margin:26px 0;gap:10px}.btn{padding:14px 18px;font-size:14px}.problem-grid,.path-grid,.parent-grid,.learn-steps{grid-template-columns:1fr}.problem-card,.path-card{padding:24px;border-radius:24px}.path-card:before{width:130px;height:130px}.path-top{align-items:flex-start;flex-direction:column}.transform-wrap{gap:14px}.panel{padding:28px;min-height:auto}.panel h3{font-size:21px}.learn-card,.book-card{padding:28px;border-radius:28px}.faq-list details{padding:20px}.footer{padding-bottom:86px}.footer p{font-size:14px}}
@media (max-width:520px){.brand img{width:132px}.section-pad{padding-left:16px;padding-right:16px}.hero{gap:20px}.hero-visual{min-height:360px;border-radius:30px}.hero-bg{width:420px;height:420px}.main-card{width:230px;min-height:225px;padding:24px;border-radius:30px}.main-card h2{font-size:26px}.main-card p{font-size:13px}.mini-logo{width:108px}.orbit-line{width:350px}.float-chip{padding:10px 12px;border-radius:17px;font-size:14px}.chip-ai{left:4%;top:54px}.chip-mic{right:4%;top:68px}.chip-rocket{left:5%;bottom:60px}.chip-puzzle{right:5%;bottom:54px}.hero-trust{grid-template-columns:1fr;gap:10px}.hero-trust div{border-radius:18px}.skills-orbit{min-height:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:22px;border-radius:30px}.skills-orbit span{position:static;transform:none;margin:0;font-size:12px;padding:9px 11px}.center-skill{width:118px;height:118px;font-size:19px;order:-1;flex:0 0 118px;margin:4px 100% 10px}.parent-point{padding:20px;font-size:16px}.whatsapp{left:14px;right:14px;bottom:12px;padding:13px 16px;text-align:center}.book-card .label{color:#c8f4ff}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* QA fixes v1.2 — anchor offset, keyboard focus visibility, form note */
html{scroll-padding-top:104px}
@media (max-width:980px){html{scroll-padding-top:88px}}
@media (max-width:520px){html{scroll-padding-top:76px}}
:focus-visible{outline:3px solid var(--purple);outline-offset:2px;border-radius:8px}
.lead-form input:focus-visible,.lead-form select:focus-visible{outline:3px solid #fff;outline-offset:2px}
.menu-toggle:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:12px}
.form-note{margin:2px 2px 0;min-height:0;font-size:13px;font-weight:800;line-height:1.4;color:#fff}
.form-note:empty{display:none}
.form-note.is-error{color:#ffd9d9}

/* Age-path card CTAs (enrolment wiring) */
.path-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.path-cta .btn{padding:12px 20px}
.path-cta .text-link{white-space:nowrap}

/* ============================================================
   v1.3 — Conversion CTAs, tablet + device responsiveness,
   form/button enhancement, branded cursor.
   Appended layer: delete this whole block to roll back to v1.2.
   ============================================================ */

/* --- device-aware fluid type -------------------------------- */
:root{ --tap:48px; --cta-shadow:0 16px 34px rgba(141,82,217,.30); }
body{font-size:clamp(15px,1.05vw + 8px,17px)}
.btn,.nav-cta{font-size:clamp(14px,.4vw + 12px,15px)}
.hero-copy{font-size:clamp(16px,1.1vw + 8px,20px)}
.section-head p,.solution-copy p{font-size:clamp(16px,.7vw + 10px,18px)}

/* --- button + form enhancement ------------------------------ */
.btn,.nav-cta{min-height:var(--tap);line-height:1.1}
.btn:active,.nav-cta:active{transform:translateY(0) scale(.98)}
.btn.primary{box-shadow:var(--cta-shadow)}
.btn.primary:hover{box-shadow:0 20px 44px rgba(141,82,217,.40)}
.btn.primary:focus-visible{outline:3px solid var(--purple-2);outline-offset:3px}
.lead-form input,.lead-form select{min-height:var(--tap);font-size:16px;padding:15px 16px;transition:box-shadow .2s ease,background .2s ease}
.lead-form input:hover,.lead-form select:hover{background:#fff}
.lead-form input:focus,.lead-form select:focus{background:#fff;box-shadow:0 0 0 3px rgba(77,215,255,.55)}
.lead-form input::placeholder{color:#8b8598}
.lead-form select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B2BBF' stroke-width='3' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 15px center}
.lead-form button[type=submit]{min-height:var(--tap);font-size:16px}

/* --- recurring mid-page CTA band ---------------------------- */
.cta-band{max-width:var(--max);margin:0 auto;padding:0 20px}
.cta-band-inner{position:relative;overflow:hidden;border-radius:var(--radius);padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:radial-gradient(circle at 12% 15%,rgba(77,215,255,.20),transparent 42%),linear-gradient(135deg,#1b1231,#5b2bbf);color:#fff;box-shadow:var(--shadow)}
.cta-band-inner>div{flex:1 1 320px}
.cta-band-inner h2{font-size:clamp(24px,3vw,34px);max-width:24ch}
.cta-band-inner p{color:rgba(255,255,255,.8);margin:8px 0 0}
.cta-band .label{color:var(--blue)}
.cta-band .btn.primary{background:#fff;color:var(--purple-2);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.cta-band .btn.primary:hover{box-shadow:0 22px 46px rgba(0,0,0,.32)}

/* --- sticky mobile action bar (fills the mobile CTA gap) ----- */
.mobile-cta-bar{display:none}
@media (max-width:980px){
  .mobile-cta-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -12px 30px rgba(54,37,87,.12)}
  .mobile-cta-bar .btn{min-height:50px;padding:12px 14px}
  .mobile-cta-bar .btn.primary{flex:2 1 0}
  .mobile-cta-bar .btn.ghost-wa{flex:1 1 0;background:#25D366;color:#fff;border:0}
  .whatsapp{display:none}            /* folded into the bar on mobile */
  body{padding-bottom:74px}          /* reserve space so nothing hides behind the bar */
}
@media (min-width:981px){.mobile-cta-bar{display:none}}

/* --- tablet band (portrait ~768 + small laptops) ------------ */
@media (min-width:761px) and (max-width:1024px){
  .section-pad{padding:82px 28px}
  .problem-grid{grid-template-columns:repeat(2,1fr)}
  .path-grid{grid-template-columns:1fr 1fr;gap:20px}   /* side-by-side reads better than stacked */
  .learn-steps{grid-template-columns:repeat(2,1fr)}
  .parent-grid{grid-template-columns:repeat(2,1fr)}
  .cta-band-inner{padding:34px}
}
/* on the smallest phones the band + its button stack full-width */
@media (max-width:520px){
  .cta-band-inner{padding:26px;border-radius:26px}
  .cta-band .btn.primary{width:100%}
}

/* --- branded custom cursor (fine-pointer + motion-OK only) --- */
/* All three cursor layers are hidden by default. They are shown ONLY on real
   mouse pointers with motion allowed, and cursor.js drives all three together.
   Hiding the glow here (not in JS) prevents the old touch-device corner-blob. */
.cm-cursor-dot,.cm-cursor-ring,.cursor-glow{display:none}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .cm-cursor-dot,.cm-cursor-ring,.cursor-glow{display:block;position:fixed;top:0;left:0;right:auto;bottom:auto;z-index:9999;pointer-events:none;opacity:0}
  .cm-cursor-dot,.cm-cursor-ring{border-radius:50%;will-change:transform}
  .cm-cursor-dot{width:8px;height:8px;background:linear-gradient(135deg,var(--purple),var(--blue));box-shadow:0 0 12px rgba(141,82,217,.6);z-index:10000}
  .cm-cursor-ring{width:34px;height:34px;border:2px solid rgba(141,82,217,.55);transition:width .18s ease,height .18s ease,border-color .18s ease,background .18s ease}
  .cm-cursor-ring.is-hot{width:52px;height:52px;border-color:rgba(77,215,255,.9);background:rgba(141,82,217,.08)}
  /* glow becomes a faint ambient halo behind the dot/ring, sized + centered here */
  .cursor-glow{width:200px;height:200px;z-index:9998;background:radial-gradient(circle,rgba(141,82,217,.10),transparent 72%)}
  /* hide the native arrow only once cursor.js confirms it is running */
  html.cm-cursor-on,html.cm-cursor-on *{cursor:none !important}
}

/* ============================================================
   v1.4 — illustration icons in the problem cards
   ============================================================ */
.problem-card .problem-ico{
  display:grid;place-items:center;
  width:86px;height:86px;margin-bottom:16px;
  border-radius:22px;
  background:linear-gradient(150deg,var(--lav),#eef1ff);
  border:1px solid rgba(141,82,217,.10);
  overflow:hidden;font-size:0;line-height:0;
}
.problem-card .problem-ico img{
  width:100%;height:100%;object-fit:contain;display:block;padding:6px;
}
@media (max-width:520px){
  .problem-card .problem-ico{width:76px;height:76px;margin-bottom:12px}
}

/* ============================================================
   v1.4.1 — sticky CTA bar hardening (fixes the reported footer bug)
   Root cause of the report was a STALE CACHED STYLESHEET: with old CSS the
   bar fell back to position:static/display:block in page flow and the old
   floating WhatsApp button stayed visible, producing two overlapping CTAs.
   These rules make the failure mode impossible-to-miss-and-safe:
   ============================================================ */

/* 1. The old floating WhatsApp FAB must never coexist with the bar on mobile.
      !important so no later/legacy rule can resurrect it. */
@media (max-width:980px){
  .whatsapp{display:none !important}
}

/* 2. env() with an explicit fallback — some Android browsers drop the whole
      declaration if env() is unsupported, which killed the bottom padding. */
@media (max-width:980px){
  .mobile-cta-bar{
    position:fixed !important;
    padding-bottom:10px;                                  /* fallback first */
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  }
  body{padding-bottom:96px}     /* clears the bar + Android system nav */
}

/* 3. The bar must sit above the sticky header shadow and any card z-index. */
.mobile-cta-bar{z-index:80}

/* 4. Equal, readable buttons inside the bar; text can't collide at 320px. */
.mobile-cta-bar .btn{font-size:clamp(12px,3.4vw,15px);padding:12px 10px;white-space:nowrap}
@media (max-width:360px){
  .mobile-cta-bar .btn.primary{flex:1.6 1 0}
  .mobile-cta-bar .btn.ghost-wa{flex:1 1 0}
}

/* ============================================================
   v1.5 — full site footer (policies + contact)
   Uses .site-footer (new class) so the legacy .footer rules cannot
   interfere. Delete this block + restore the old <footer class="footer">
   markup to roll back.
   ============================================================ */
.site-footer{
  position:relative;
  margin-top:80px;
  background:#130D20;
  color:#B9B1C9;
  border-top:1px solid rgba(141,82,217,.55);
  padding:64px 20px 0;
  font-size:15px;line-height:1.7;
}
/* soft brand glow so the dark slab doesn't read as a hard cut */
.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 12% 0%,rgba(141,82,217,.22),transparent 42%),
             radial-gradient(circle at 88% 8%,rgba(77,215,255,.10),transparent 40%);
}
.site-footer>*{position:relative}

.footer-grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.5fr 1.6fr 1.1fr;gap:44px 40px;
  padding-bottom:44px;
}
.f-brand img{width:clamp(150px,15vw,186px);height:auto;aspect-ratio:812/149;margin-bottom:18px}
.f-brand p{margin:0;max-width:38ch;color:#A79FB8}

.site-footer h2{
  margin:0 0 18px;color:#fff;
  font-family:'Sora',system-ui,sans-serif;font-size:16px;font-weight:700;letter-spacing:.01em;
}
.f-links{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;
}
.f-contact-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.f-contact-list address{font-style:normal;color:#A79FB8;max-width:30ch}

.site-footer a{color:#CFC6DE;transition:color .18s ease}
.site-footer a:hover,.site-footer a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

.footer-bottom{
  max-width:var(--max);margin:0 auto;
  border-top:1px solid rgba(255,255,255,.10);
  padding:22px 0 30px;
  display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;
  font-size:13.5px;color:#8F87A2;
}
.footer-bottom p{margin:0}
.f-copy a{margin-left:14px;white-space:nowrap}

/* tablet: contact drops under, links stay 2-up */
@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:38px 32px}
  .f-brand{grid-column:1/-1}
  .f-brand p{max-width:60ch}
}
/* phone: single column, links single file, bar clearance */
@media (max-width:620px){
  .site-footer{margin-top:56px;padding-top:52px}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .f-links{grid-template-columns:1fr;gap:12px}
  .site-footer h2{margin-bottom:14px}
  .footer-bottom{
    flex-direction:column;align-items:flex-start;
    padding-bottom:26px;
  }
  .f-copy a{margin-left:0;display:block;margin-top:10px}
}
/* tap targets on touch devices */
@media (hover:none){
  .f-links a,.f-contact-list a{display:inline-block;padding:4px 0}
}

/* v2.1 — honeypot field: off-screen, never focusable, invisible to parents. */
.hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
