
:root{
  --orange:#FF9225; --orange-dark:#E77A0E; --purple:#351C77; --purple-soft:#4A2C99;
  --blue:#43B6FF; --green:#2AC52A; --yellow:#FFDB33; --lavender:#EDF1FD;
  --white:#FFFFFF; --text:#2B205D; --text-soft:#5F6475; --line:#E3E1F5;
  --shadow: 0 16px 40px -18px rgba(53,28,119,.28);
  --radius-lg:28px; --radius-md:18px; --radius-sm:12px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --lavender:#171233; --white:#1C1640; --text:#F1EFFC; --text-soft:#C7C2E6; --line:#372E66; }
}
:root[data-theme="dark"]{ --lavender:#171233; --white:#1C1640; --text:#F1EFFC; --text-soft:#C7C2E6; --line:#372E66; }
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif; color:var(--text); background:var(--lavender); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--purple); line-height:1.15; letter-spacing:-.01em;}
:root[data-theme="dark"] h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3,:root[data-theme="dark"] h4{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) h1,:root:not([data-theme="light"]) h2,:root:not([data-theme="light"]) h3,:root:not([data-theme="light"]) h4{color:#fff;}}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
section{position:relative;}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:'Baloo 2'; font-weight:600; font-size:15px; color:var(--orange-dark); margin-bottom:14px;}
.eyebrow::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--orange); display:inline-block;}
p.lead{color:var(--text-soft); font-size:17px; max-width:60ch;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:'Baloo 2'; font-weight:600; font-size:16px; padding:15px 30px; border-radius:999px; border:none; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease;}
.btn:focus-visible{outline:3px solid var(--blue); outline-offset:3px;}
.btn-primary{background:var(--orange); color:#fff; box-shadow:0 14px 28px -10px rgba(255,146,37,.55); position:relative; z-index:0;}
.btn-primary::after{content:""; position:absolute; inset:-6px; border-radius:inherit; box-shadow:0 0 22px 6px rgba(255,146,37,.7); z-index:-1; pointer-events:none; opacity:.5; animation:ctaGlow 2.6s ease-in-out infinite; will-change:opacity, transform;}
@keyframes ctaGlow{
  0%,100%{ opacity:.35; transform:scale(.94); }
  50%{ opacity:.85; transform:scale(1.05); }
}
@media (prefers-reduced-motion:reduce){ .btn-primary::after{animation:none; opacity:.55;} }
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 32px -10px rgba(255,146,37,.6);}
.btn-ghost{background:transparent; color:var(--purple); border:2px solid var(--purple);}
:root[data-theme="dark"] .btn-ghost{color:#fff; border-color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn-ghost{color:#fff; border-color:#fff;}}
.btn-ghost:hover{background:var(--purple); color:#fff;}
.btn-outline-light{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.6);}
.btn-outline-light:hover{background:rgba(255,255,255,.14);}

/* header */
header{position:sticky; top:0; z-index:100; background:color-mix(in srgb, var(--white) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:1180px; margin:0 auto; gap:18px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Baloo 2'; font-weight:700; font-size:21px; color:var(--purple);}
:root[data-theme="dark"] .brand{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brand{color:#fff;}}
.brand img{width:38px; height:38px;}
.brand span em{font-style:normal; color:var(--orange);}
.navlinks{display:flex; align-items:center; gap:2px; list-style:none;}
.navlinks > li{position:relative;}
.navlinks > li > a{display:block; padding:10px 14px; font-weight:600; font-size:15px; border-radius:10px; color:var(--text);}
.navlinks > li > a:hover, .navlinks > li > a.active{background:var(--lavender); color:var(--purple);}
:root[data-theme="dark"] .navlinks > li > a:hover, :root[data-theme="dark"] .navlinks > li > a.active{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .navlinks > li > a:hover, :root:not([data-theme="light"]) .navlinks > li > a.active{color:#fff;}}
.navlinks .dropdown{position:absolute; top:100%; left:0; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:8px; min-width:240px; opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease;}
.navlinks > li:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown a{display:block; padding:10px 12px; border-radius:9px; font-size:14.5px; font-weight:600;}
.dropdown a:hover{background:var(--lavender); color:var(--orange-dark);}
.navcta{display:flex; align-items:center; gap:10px;}
.call-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--green); color:#fff; padding:10px 18px; border-radius:999px; font-family:'Baloo 2'; font-weight:700; font-size:14px; box-shadow:0 0 14px 2px rgba(42,197,42,.45); flex:none; white-space:nowrap; position:relative; z-index:0;}
.call-btn::after{content:""; position:absolute; inset:-5px; border-radius:inherit; box-shadow:0 0 18px 5px rgba(42,197,42,.7); z-index:-1; pointer-events:none; opacity:.45; animation:ctaGlowGreen 2.6s ease-in-out infinite; will-change:opacity, transform;}
.call-btn:hover{transform:translateY(-1px);}
.call-btn svg{width:16px; height:16px; flex:none; fill:#fff;}
@keyframes ctaGlowGreen{
  0%,100%{ opacity:.3; transform:scale(.92); }
  50%{ opacity:.8; transform:scale(1.06); }
}
@media (prefers-reduced-motion:reduce){ .call-btn::after{animation:none; opacity:.5;} }
.call-btn-mobile{display:none; width:40px; height:40px; padding:0;}
.call-btn-mobile span{display:none;}
.float-contact{position:fixed; right:18px; bottom:24px; z-index:95; display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
@media (max-width:960px){ .float-contact{bottom:84px; right:14px;} }
.float-contact .row{display:flex; align-items:flex-end; gap:10px;}
.float-contact .icons{display:flex; flex-direction:column; gap:12px;}
.float-contact .fab{width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); flex:none; transition:transform .15s ease;}
.float-contact .fab:hover{transform:scale(1.07);}
.float-contact .fab svg{width:17px; height:17px; fill:#fff;}
.float-contact .fab-call{background:#3B82F6; box-shadow:0 0 14px 2px rgba(59,130,246,.5);}
.float-contact .fab-whatsapp{background:#25D366; box-shadow:0 0 14px 2px rgba(37,211,102,.5);}
.float-contact .fab-book{background:var(--orange); box-shadow:0 0 14px 2px rgba(255,146,37,.5);}
.float-contact .fab-toggle{background:var(--purple); box-shadow:0 0 14px 2px rgba(53,28,119,.5); border:none; cursor:pointer;}
.float-contact .fab-hide{background:var(--white); color:var(--purple); border:1px solid var(--line); border-radius:999px; width:auto; height:28px; padding:0 11px; font-family:'Baloo 2'; font-weight:700; font-size:11px; box-shadow:var(--shadow); cursor:pointer; align-self:flex-end; margin-bottom:5px;}
:root[data-theme="dark"] .float-contact .fab-hide{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .float-contact .fab-hide{color:#fff;}}
.scroll-top-btn{width:38px; height:38px; border-radius:50%; background:var(--purple); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); border:2px solid #fff; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s;}
.scroll-top-btn.visible{opacity:1; visibility:visible; transform:translateY(0);}
.scroll-top-btn svg{width:17px; height:17px; fill:#fff;}
@media (prefers-reduced-motion:reduce){ .float-contact .fab, .scroll-top-btn{transition:none;} }
.navcta .btn{padding:9px 16px; font-size:13px;}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.hamburger span{width:26px; height:3px; background:var(--orange); border-radius:3px; box-shadow:0 0 6px 1px rgba(255,146,37,.6);}
.mobile-panel{display:none; flex-direction:column; gap:4px; padding:10px 28px 22px; border-top:1px solid var(--line);}
.mobile-panel a{padding:12px 6px; font-weight:600; border-bottom:1px solid var(--line); font-size:15px;}
.mobile-panel .btn{margin-top:12px;}
@media (max-width:960px){ .navlinks,.navcta{display:none;} .call-btn-mobile{display:inline-flex;} .hamburger{display:flex;} header.open .mobile-panel{display:flex;} }

/* sticky mobile CTA bar */
.sticky-cta{display:none;}
@media (max-width:960px){
  .sticky-cta{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:90;
    background:color-mix(in srgb, var(--white) 92%, transparent); backdrop-filter:blur(10px);
    border-top:1px solid var(--line); padding:10px 16px; padding-bottom:calc(10px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 24px -14px rgba(53,28,119,.3);
  }
  .sticky-cta .btn{width:100%; padding:13px 20px; font-size:15px;}
  body{padding-bottom:64px;}
}

/* breadcrumb */
.breadcrumb{display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:13.5px; font-weight:700; font-family:'Baloo 2'; color:var(--text-soft); padding:18px 0 0;}
.breadcrumb a{color:var(--text-soft);}
.breadcrumb a:hover{color:var(--orange-dark);}
.breadcrumb .sep{opacity:.5;}
.breadcrumb .cur{color:var(--purple);}
:root[data-theme="dark"] .breadcrumb .cur{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .breadcrumb .cur{color:#fff;}}

/* decorative layer */
.decor{position:absolute; pointer-events:none; z-index:0;}
.decor-star{position:absolute; color:var(--yellow); opacity:.9;}
.decor-dot{position:absolute; border-radius:50%;}
@media (prefers-reduced-motion:no-preference){
  .floaty{animation:floaty 5.5s ease-in-out infinite;}
  .floaty-slow{animation:floaty 7.5s ease-in-out infinite;}
  .spin-slow{animation:spinSlow 22s linear infinite;}
}
@keyframes floaty{0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}}
@keyframes spinSlow{from{transform:rotate(0);} to{transform:rotate(360deg);}}
.blob{position:absolute; z-index:0; filter:blur(0px); opacity:.5;}

/* hero */
.hero{padding:70px 0 40px; position:relative; overflow:hidden;
  background:radial-gradient(720px 420px at 88% -8%, rgba(67,182,255,.18), transparent 60%),
             radial-gradient(600px 380px at -6% 18%, rgba(42,197,42,.14), transparent 60%),
             var(--lavender);}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; position:relative; z-index:2;}
.hero h1{font-size:clamp(32px,4.4vw,52px); margin-bottom:18px;}
.hero .sound-line{display:inline-flex; flex-wrap:wrap; gap:8px; margin:6px 0 22px;}
.sound-block{display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; font-family:'Baloo 2'; font-weight:700; font-size:22px; color:#fff; box-shadow:0 8px 18px -8px rgba(0,0,0,.35);}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:26px;}
.hero-meta{display:flex; gap:26px; margin-top:34px; flex-wrap:wrap;}
.hero-meta div{display:flex; align-items:center; gap:10px; font-weight:700; font-family:'Baloo 2'; font-size:14.5px; color:var(--purple);}
:root[data-theme="dark"] .hero-meta div{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hero-meta div{color:#fff;}}
.hero-meta .dot{width:9px; height:9px; border-radius:50%; flex:none;}
.hero-art{position:relative; display:flex; align-items:center; justify-content:center;}
.hero-art .stage{position:relative; width:100%; max-width:430px; aspect-ratio:1/1; border-radius:44px; background:linear-gradient(155deg,var(--purple),#4B2C9E 60%,var(--purple-soft)); box-shadow:var(--shadow); overflow:visible; display:flex; align-items:flex-end; justify-content:center;}
.hero-art .stage::before{content:""; position:absolute; inset:14px; border-radius:34px; border:2px dashed rgba(255,255,255,.22);}
.hero-art img.hero-char{width:64%; position:relative; z-index:2; filter:drop-shadow(0 18px 24px rgba(0,0,0,.35));}
.float-badge{position:absolute; background:#fff; border-radius:16px; padding:10px 14px; box-shadow:var(--shadow); font-family:'Baloo 2'; font-weight:700; font-size:13.5px; color:var(--purple); display:flex; align-items:center; gap:8px;}
.float-badge .dot{width:9px; height:9px; border-radius:50%;}
.badge-1{top:6%; left:-6%;} .badge-2{bottom:10%; right:-8%;}
.hero-ring{position:absolute; border:2px dashed rgba(53,28,119,.18); border-radius:50%;}

/* wave dividers */
.wave{display:block; width:100%; height:70px; margin-top:-2px; position:relative; z-index:1;}

/* section shells */
.section{padding:88px 0; position:relative; background:linear-gradient(180deg, var(--lavender) 0%, var(--white) 100%);}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(28px,3.4vw,38px); margin-bottom:14px;}
.on-purple{background:var(--purple); color:#EFE9FF;}
.on-purple .eyebrow{color:var(--yellow);}
.on-purple p{color:#C9BFEE;}

/* generic page hero (inner pages) */
.page-hero{padding:26px 0 64px; position:relative; overflow:hidden;
  background:radial-gradient(640px 360px at 90% 0%, rgba(67,182,255,.16), transparent 60%), var(--lavender);}
.page-hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; position:relative; z-index:2;}
.page-hero h1{font-size:clamp(28px,3.8vw,44px); margin:12px 0 16px;}
.page-hero-art{position:relative; display:flex; align-items:center; justify-content:center;}
.page-hero-art .stage{width:100%; max-width:320px; aspect-ratio:1/1; border-radius:36px; background:linear-gradient(155deg,var(--blue),var(--purple)); box-shadow:var(--shadow); display:flex; align-items:flex-end; justify-content:center; position:relative;}
.page-hero-art img{width:66%; filter:drop-shadow(0 16px 20px rgba(0,0,0,.3));}

/* path cards / grid (flex+grid mix, mobile-first) */
.path-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative; z-index:1;}
.path-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px 22px 28px; text-align:center; transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-direction:column; align-items:center; position:relative;}
.path-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.path-card .char-frame{width:118px; height:118px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:16px; position:relative;}
.path-card .char-frame img{width:84px; height:84px; object-fit:contain;}
.path-card .tag{font-family:'Baloo 2'; font-weight:700; font-size:12.5px; letter-spacing:.02em; color:#fff; padding:5px 13px; border-radius:999px; margin-bottom:10px;}
.path-card h3{font-size:19px; margin-bottom:8px;}
.path-card p{font-size:14.5px; color:var(--text-soft); margin-bottom:18px; flex:1;}
.path-card a.mini{font-family:'Baloo 2'; font-weight:700; font-size:14px; color:var(--orange-dark);}
.path-card a.mini:hover{text-decoration:underline;}
.path-grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:760px; margin:0 auto;}
@media (max-width:600px){ .path-grid-2{grid-template-columns:1fr;} }

/* blend diagram */
.blend-row{display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:30px 0 8px;}
.blend-letter{width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-family:'Baloo 2'; font-weight:700; font-size:28px; color:#fff; box-shadow:0 10px 20px -10px rgba(0,0,0,.35);}
.blend-arrow{color:var(--text-soft); font-size:22px;}
.blend-word{font-family:'Baloo 2'; font-weight:700; font-size:30px; color:var(--purple);}
:root[data-theme="dark"] .blend-word{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .blend-word{color:#fff;}}

/* two col feature (flexible grid) */
.feature-row{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.feature-row.reverse .feature-visual{order:2;}
.feature-visual{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:34px; box-shadow:var(--shadow);}
.feature-visual .step{display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px dashed var(--line);}
.feature-visual .step:last-child{border-bottom:none;}
.feature-visual .step .ico{width:38px; height:38px; border-radius:11px; flex:none; display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Baloo 2'; font-weight:700;}
.feature-visual .step h4{font-size:15.5px; margin-bottom:3px;}
.feature-visual .step p{font-size:13.5px; color:var(--text-soft); margin:0;}
ul.check{list-style:none; margin:22px 0 26px;}
ul.check li{display:flex; gap:10px; padding:7px 0; font-size:15px; color:var(--text-soft);}
ul.check li::before{content:"✓"; color:var(--green); font-weight:800; flex:none;}
ul.cross{list-style:none; margin:22px 0 26px;}
ul.cross li{display:flex; gap:10px; padding:7px 0; font-size:15px; color:var(--text-soft);}
ul.cross li::before{content:"✕"; color:var(--text-soft); font-weight:800; flex:none; opacity:.55;}
.callout{background:var(--lavender); border-left:4px solid var(--orange); border-radius:12px; padding:16px 20px; font-size:14px; color:var(--text-soft); max-width:70ch;}
.transform-arrow{display:flex; align-items:center; justify-content:center; font-size:28px; color:var(--orange); font-weight:800;}
.quote-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px; box-shadow:var(--shadow);}
.quote-card p{font-size:15px; color:var(--text-soft); font-style:italic; margin-bottom:14px;}
.quote-card .who{font-family:'Baloo 2'; font-weight:700; font-size:14px; color:var(--purple);}
:root[data-theme="dark"] .quote-card .who{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .quote-card .who{color:#fff;}}
.mini-table{display:grid; grid-template-columns:1fr; gap:14px;}
.mini-row{display:grid; grid-template-columns:1fr 1.4fr 1.4fr; gap:16px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:18px 20px; align-items:start;}
.mini-row.highlight{background:#FFF3E6; border:2px solid var(--orange);}
:root[data-theme="dark"] .mini-row.highlight{background:rgba(255,146,37,.12);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mini-row.highlight{background:rgba(255,146,37,.12);}}
.spotlight-card{position:relative; background:linear-gradient(155deg,var(--purple),#4B2C9E 60%,var(--purple-soft)); border-radius:var(--radius-lg); padding:44px 40px; overflow:hidden; border:3px solid var(--orange); box-shadow:0 0 30px 6px rgba(255,146,37,.45), var(--shadow);}
.spotlight-badge{display:inline-block; background:var(--orange); color:#fff; font-family:'Baloo 2'; font-weight:800; font-size:12.5px; letter-spacing:.03em; padding:7px 16px; border-radius:999px; margin-bottom:16px;}
.spotlight-card h2{color:#fff; font-size:clamp(24px,3vw,32px); margin-bottom:10px;}
.spotlight-intro{color:var(--yellow); font-family:'Baloo 2'; font-weight:700; font-size:16px; margin-bottom:26px;}
.spotlight-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; position:relative;}
.spotlight-label{display:block; font-family:'Baloo 2'; font-weight:800; color:var(--yellow); font-size:13px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:8px;}
.spotlight-grid p{color:#EFE9FF; font-size:15.5px; line-height:1.7; margin:0;}
.spotlight-grid strong{color:#fff;}
@media (max-width:700px){ .spotlight-grid{grid-template-columns:1fr;} }
.chunk-row{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:16px 0 6px;}
.chunk{display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:14px; font-family:'Baloo 2'; font-weight:700; font-size:19px; color:#fff; box-shadow:0 8px 16px -8px rgba(0,0,0,.3);}
.chunk-word{font-family:'Baloo 2'; font-weight:800; font-size:24px; color:var(--purple);}
:root[data-theme="dark"] .chunk-word{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .chunk-word{color:#fff;}}
.chunk-note{color:var(--text-soft); font-size:13.5px; margin-bottom:26px;}
@media (max-width:600px){ .chunk{font-size:16px; padding:8px 12px;} .chunk-word{font-size:20px;} }
.mini-row .lbl{font-family:'Baloo 2'; font-weight:800; color:var(--orange-dark); font-size:14.5px;}
.mini-row .k{font-size:13px; text-transform:uppercase; letter-spacing:.03em; color:var(--text-soft); font-weight:700; display:block; margin-bottom:4px;}
.mini-row p{font-size:14px; color:var(--text-soft); margin:0;}
@media (max-width:700px){ .mini-row{grid-template-columns:1fr;} }
.trust-strip{display:flex; flex-wrap:wrap; gap:14px 30px; justify-content:center; align-items:center; padding:22px 26px; background:var(--white); border:1px solid var(--line); border-radius:999px; box-shadow:var(--shadow);}
.trust-strip .item{font-family:'Baloo 2'; font-weight:700; font-size:14px; color:var(--purple);}
:root[data-theme="dark"] .trust-strip .item{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .trust-strip .item{color:#fff;}}
.trust-strip .sep{color:var(--line);}

/* training compare */
.compare{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.compare-card{border-radius:var(--radius-lg); padding:32px; position:relative; overflow:hidden;}
.compare-card.l1{background:var(--white); border:2px solid var(--line);}
.compare-card.l2{background:var(--purple); color:#EFE9FF; box-shadow:var(--shadow);}
.compare-card .lvl{font-family:'Baloo 2'; font-weight:800; font-size:14px; display:inline-block; padding:5px 14px; border-radius:999px; margin-bottom:16px;}
.compare-card.l1 .lvl{background:var(--lavender); color:var(--purple);}
:root[data-theme="dark"] .compare-card.l1 .lvl{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .compare-card.l1 .lvl{color:#fff;}}
.compare-card.l2 .lvl{background:rgba(255,255,255,.14); color:var(--yellow);}
.compare-card h3{font-size:24px; margin-bottom:6px;}
.compare-card.l2 h3{color:#fff;}
.compare-card .age{font-size:14px; color:var(--text-soft); margin-bottom:18px; font-weight:700;}
.compare-card.l2 .age{color:#C9BFEE;}
.compare-card ul{list-style:none; margin-bottom:24px;}
.compare-card li{display:flex; gap:9px; padding:6px 0; font-size:14.5px;}
.compare-card.l2 li{color:#DCD4F4;}
.compare-card.l1 li{color:var(--text-soft);}
.compare-card li::before{content:"•"; color:var(--orange); font-weight:800;}

/* who we help / why / resources (flex-wrap grids) */
.help-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.help-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; display:flex; gap:14px; align-items:flex-start;}
.help-card .ico{width:44px; height:44px; border-radius:12px; flex:none; display:flex; align-items:center; justify-content:center; color:#fff;}
.help-card h4{font-size:16.5px; margin-bottom:4px;}
.help-card p{font-size:13.5px; color:var(--text-soft); margin:0;}
.help-grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
@media (max-width:600px){ .help-grid-2{grid-template-columns:1fr;} }

.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.why-card{padding:8px 4px;}
.why-card .ico{width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom:16px;}
.why-card h4{font-size:17.5px; margin-bottom:8px;}
.why-card p{font-size:14.5px; color:var(--text-soft); margin:0;}

.trainer{display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center;}
.trainer-photo{aspect-ratio:4/5; border-radius:var(--radius-lg); background:linear-gradient(155deg,var(--blue),var(--purple)); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Baloo 2'; font-weight:700; text-align:center; padding:20px; overflow:hidden;}
.trainer-photo img{width:100%; height:100%; object-fit:cover; border-radius:var(--radius-lg);}
.trainer-quals{display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 24px;}
.trainer-quals span{background:var(--purple); color:#fff; font-weight:700; font-family:'Baloo 2'; font-size:13px; padding:8px 14px; border-radius:999px; border:1.5px solid var(--orange);}

.res-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.res-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:22px; transition:.2s;}
.res-card:hover{border-color:var(--orange); transform:translateY(-4px);}
.res-card .ico{width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom:14px;}
.res-card h4{font-size:15.5px; margin-bottom:4px;}
.res-card p{font-size:13px; color:var(--text-soft); margin:0;}

/* signs / gap grid for advanced phonics */
.sign-grid{display:flex; flex-wrap:wrap; gap:14px;}
.sign-chip{background:var(--white); border:1px solid var(--line); border-radius:999px; padding:12px 20px; font-weight:700; font-family:'Baloo 2'; font-size:14px; color:var(--text); display:flex; align-items:center; gap:8px;}
.sign-chip .dot{width:8px; height:8px; border-radius:50%; background:var(--orange);}

/* stat/curriculum list */
.curr-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.curr-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.curr-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.curr-item{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; display:flex; gap:12px; align-items:flex-start;}
.curr-item .n{font-family:'Baloo 2'; font-weight:800; font-size:20px; color:var(--orange); flex:none;}
.curr-item h4{font-size:15px; margin-bottom:3px;}
.curr-item p{font-size:13.5px; color:var(--text-soft); margin:0;}

/* faq */
.faq{max-width:800px; margin:0 auto; position:relative; z-index:1;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{list-style:none; cursor:pointer; padding:20px 4px; display:flex; justify-content:space-between; align-items:center; font-family:'Baloo 2'; font-weight:600; font-size:16.5px; color:var(--purple);}
:root[data-theme="dark"] .faq-item summary{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .faq-item summary{color:#fff;}}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-size:22px; color:var(--orange); transition:transform .2s; flex:none; margin-left:14px;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item p{padding:0 4px 22px; color:var(--text-soft); font-size:15px; max-width:70ch;}

/* final cta */
.final-cta{background:linear-gradient(135deg,var(--purple) 0%,#4B2C9E 60%,var(--purple-soft) 100%); border-radius:36px; padding:64px 48px; text-align:center; position:relative; overflow:hidden; color:#fff;}
.final-cta::before{content:""; position:absolute; width:280px; height:280px; background:var(--orange); opacity:.18; border-radius:50%; top:-120px; right:-80px;}
.final-cta::after{content:""; position:absolute; width:220px; height:220px; background:var(--blue); opacity:.18; border-radius:50%; bottom:-100px; left:-60px;}
.final-cta h2{color:#fff; font-size:clamp(26px,3.6vw,38px); margin-bottom:14px; position:relative;}
.final-cta p{color:#D8D0F4; max-width:520px; margin:0 auto 30px; position:relative;}
.final-cta .hero-cta{justify-content:center; position:relative;}

/* contact form */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-start;}
.contact-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow);}
.form-row{display:flex; flex-direction:column; gap:6px; margin-bottom:18px;}
.form-row label{font-family:'Baloo 2'; font-weight:600; font-size:14px; color:var(--purple);}
:root[data-theme="dark"] .form-row label{color:#fff;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .form-row label{color:#fff;}}
.form-row input, .form-row select, .form-row textarea{
  font-family:'Nunito'; font-size:15px; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line);
  background:var(--lavender); color:var(--text);
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:2px solid var(--blue); border-color:var(--blue);}
.contact-info-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px; display:flex; gap:14px; align-items:flex-start; margin-bottom:16px;}
.contact-info-card .ico{width:40px; height:40px; border-radius:11px; flex:none; display:flex; align-items:center; justify-content:center; color:#fff;}
.contact-info-card h4{font-size:15.5px; margin-bottom:3px;}
.contact-info-card p{font-size:13.5px; color:var(--text-soft); margin:0;}

/* footer */
footer{background:var(--purple); color:#C9BFEE; padding:0;}
:root[data-theme="dark"] footer{background:#120C2E;}
.sitemap-toggle summary{list-style:none; cursor:pointer; display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; padding:13px 0; justify-content:space-between;}
.sitemap-toggle summary::-webkit-details-marker{display:none;}
.sitemap-toggle summary::marker{content:"";}
.foot-brand-mini{display:flex; align-items:center; gap:8px; font-family:'Baloo 2'; font-weight:700; font-size:15px; color:#fff;}
.foot-brand-mini img{width:26px; height:26px;}
.foot-copy{font-size:12.5px; color:#A99CDC;}
.foot-credit{font-size:12.5px; color:#A99CDC;}
.foot-credit a{color:var(--yellow); font-weight:700;}
.foot-credit a:hover{text-decoration:underline;}
.sitemap-label{display:inline-flex; align-items:center; gap:6px; font-family:'Baloo 2'; font-weight:700; font-size:13px; color:#fff; margin-left:auto; text-decoration:underline; text-underline-offset:2px; transition:opacity .18s ease;}
.sitemap-toggle summary:hover .sitemap-label{opacity:.8;}
.sitemap-label .chev{font-size:11px; color:var(--yellow); transition:transform .2s ease; display:inline-block;}
.sitemap-toggle[open] .sitemap-label .chev{transform:rotate(180deg);}
.sitemap-toggle .foot-grid{padding:6px 0 26px; border-top:1px solid rgba(255,255,255,.12); border-bottom:none; margin-top:2px;}
.foot-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.foot-grid h5{font-family:'Baloo 2'; color:#fff; font-size:15px; margin-bottom:16px;}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:10px;}
.foot-grid a{font-size:14px; color:#C9BFEE;}
.foot-grid a:hover{color:var(--orange);}
.foot-note{font-size:12px; color:#8B7FC2; padding-bottom:14px; max-width:800px;}
@media (max-width:600px){
  .sitemap-toggle summary{gap:10px 16px;}
  .sitemap-label{margin-left:0;}
}

/* responsive - mobile-first flex/grid collapse */
@media (max-width:980px){
  .hero-grid, .page-hero-grid{grid-template-columns:1fr; gap:40px;}
  .hero-art, .page-hero-art{order:-1;}
  .path-grid{grid-template-columns:repeat(2,1fr);}
  .feature-row, .feature-row.reverse{grid-template-columns:1fr;}
  .feature-row.reverse .feature-visual{order:0;}
  .compare{grid-template-columns:1fr;}
  .help-grid, .why-grid{grid-template-columns:repeat(2,1fr);}
  .res-grid{grid-template-columns:repeat(2,1fr);}
  .trainer{grid-template-columns:1fr;}
  .curr-grid{grid-template-columns:1fr;}
  .curr-grid.cols-3, .curr-grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  .section{padding:64px 0;}
  .path-grid, .help-grid, .why-grid, .res-grid{grid-template-columns:1fr;}
  .curr-grid.cols-3, .curr-grid.cols-4{grid-template-columns:1fr;}
  .final-cta{padding:44px 24px;}
  .foot-grid{grid-template-columns:1fr;}
  .badge-1, .badge-2{display:none;}
}
::selection{background:var(--orange); color:#fff;}
:focus-visible{outline:3px solid var(--blue); outline-offset:2px;}

/* live LED indicator */
.led-dot{
  display:inline-block; width:9px; height:9px; border-radius:50%;
  background:var(--green); margin-right:8px; position:relative; top:-1px;
  box-shadow:0 0 6px 1px rgba(42,197,42,.8);
}
.led-dot::after{
  content:""; position:absolute; inset:-5px; border-radius:50%;
  background:rgba(42,197,42,.55); z-index:-1; pointer-events:none;
  opacity:.6; will-change:opacity, transform;
}
@media (prefers-reduced-motion:no-preference){
  .led-dot::after{ animation:ledPulse 1.8s ease-out infinite; }
}
@keyframes ledPulse{
  0%{ opacity:.6; transform:scale(.4); }
  70%{ opacity:0; transform:scale(1.8); }
  100%{ opacity:0; transform:scale(1.8); }
}
.hero-meta .led-dot, .float-badge .led-dot{ margin-right:6px; }
