:root {
  --purple:    #6C35DE;
  --purple-dk: #4A1FA8;
  --purple-lt: #EDE8FF;
  --yellow:    #FFD234;
  --yellow-dk: #E6B800;
  --orange:    #FF7A30;
  --green:     #32C97E;
  --pink:      #FF4D8D;
  --sky:       #3BBFFF;
  --white:     #FFFFFF;
  --off-white: #F7F5FF;
  --dark:      #1A1035;
  --text:      #3A3050;
  --text-lt:   #7065A0;
  --radius:    20px;
  --radius-lg: 32px;
  --shadow:    0 8px 40px rgba(108,53,222,.15);
  --shadow-y:  0 6px 30px rgba(255,210,52,.35);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Nunito', sans-serif; color: var(--text); background: var(--white); overflow-x: hidden; }
h1,h2,h3,h4 { font-family: 'Baloo 2', cursive; line-height: 1.2; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
.container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.section-pad { padding: 80px 0; }

.blob {
  position: absolute; border-radius: 50%; filter: blur(60px);
  opacity: .18; animation: float 8s ease-in-out infinite; pointer-events: none;
}
@keyframes float { 0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-24px) scale(1.05);} }

/* ── NAVBAR ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 999;
  background: rgba(255,255,255,.93); backdrop-filter: blur(12px);
  border-bottom: 2px solid var(--purple-lt);
  padding: 0 28px; display: flex; align-items: center; justify-content: space-between;
  height: 68px; transition: box-shadow .3s;
}
nav.scrolled { box-shadow: 0 4px 24px rgba(108,53,222,.12); }

.nav-logo {
  font-family: 'Baloo 2', cursive; font-weight: 800; color: var(--purple);
  display: flex; align-items: center; gap: 2px; line-height: 1;
}
.nav-logo .logo-main { font-size: 1.25rem; }
.nav-logo .logo-amp  { color: var(--yellow-dk); font-size: 1rem; padding: 0 3px; }
.nav-logo .logo-sub  { font-size: .82rem; color: var(--purple-dk); font-weight: 700; letter-spacing: .5px; }

.nav-links { display: flex; gap: 28px; list-style: none; }
.nav-links a { font-weight: 700; font-size: .93rem; color: var(--text); transition: color .2s; }
.nav-links a:hover { color: var(--purple); }

.nav-cta {
  background: var(--yellow); color: var(--dark);
  font-weight: 800; font-size: .88rem;
  padding: 10px 20px; border-radius: 50px;
  border: 2px solid var(--yellow-dk); cursor: pointer;
  transition: transform .2s, box-shadow .2s; box-shadow: var(--shadow-y);
}
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 36px rgba(255,210,52,.5); }

/* ── HERO ── */
#hero {
  position: relative;
  background: linear-gradient(135deg, var(--purple-dk) 0%, var(--purple) 55%, #9B59E8 100%);
  color: var(--white); padding: 140px 0 80px; overflow: hidden; min-height: 620px;
}
#hero .blob:nth-child(1){width:420px;height:420px;background:var(--yellow);top:-120px;right:-80px;}
#hero .blob:nth-child(2){width:300px;height:300px;background:var(--pink);bottom:-80px;left:-60px;animation-delay:3s;}
#hero .blob:nth-child(3){width:220px;height:220px;background:var(--sky);top:30%;right:20%;animation-delay:1.5s;}

.hero-grid { display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;z-index:2; }

.hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.18); border: 1.5px solid rgba(255,255,255,.35);
  border-radius: 50px; padding: 6px 16px;
  font-size: .82rem; font-weight: 700; margin-bottom: 20px; backdrop-filter: blur(8px);
}
.hero-tag .dot { width:8px;height:8px;background:var(--yellow);border-radius:50%; }

#hero h1 { font-size: clamp(2rem,4vw,3.2rem); line-height: 1.15; margin-bottom: 18px; }
#hero h1 em { font-style:normal;color:var(--yellow);-webkit-text-stroke:1px var(--yellow-dk); }
#hero p { font-size:1.05rem;line-height:1.7;opacity:.9;margin-bottom:32px; }

.hero-btns { display:flex;gap:14px;flex-wrap:wrap; }
.btn-primary {
  background:var(--yellow);color:var(--dark);font-weight:800;font-size:1rem;
  padding:14px 30px;border-radius:50px;border:2px solid var(--yellow-dk);cursor:pointer;
  box-shadow:var(--shadow-y);transition:transform .2s,box-shadow .2s;display:inline-block;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(255,210,52,.5);}
.btn-ghost {
  background:rgba(255,255,255,.15);color:var(--white);font-weight:700;font-size:1rem;
  padding:14px 28px;border-radius:50px;border:2px solid rgba(255,255,255,.4);cursor:pointer;
  backdrop-filter:blur(6px);transition:background .2s;display:inline-block;
}
.btn-ghost:hover{background:rgba(255,255,255,.25);}

.hero-stats { display:flex;gap:28px;margin-top:36px;flex-wrap:wrap; }
.stat-num { font-family:'Baloo 2',cursive;font-size:2.2rem;font-weight:800;color:var(--yellow);line-height:1; }
.stat-label { font-size:.8rem;opacity:.8;margin-top:2px; }

.hero-visual { position:relative;display:flex;justify-content:center;align-items:center; }
.hero-main-img {
  width:360px;height:360px;border-radius:50%;
  background:linear-gradient(135deg,#FFD234,#FF7A30);
  display:flex;align-items:center;justify-content:center;font-size:11rem;
  box-shadow:0 20px 60px rgba(255,210,52,.4);position:relative;z-index:2;
  animation:pulse-hero 4s ease-in-out infinite;
}
@keyframes pulse-hero{0%,100%{transform:scale(1);}50%{transform:scale(1.04);}}

.letter-bubble {
  position:absolute;width:68px;height:68px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Baloo 2',cursive;font-size:1.7rem;font-weight:800;color:var(--white);
  box-shadow:0 6px 20px rgba(0,0,0,.15);animation:orbit 6s ease-in-out infinite;z-index:3;
}
.lb-a{background:var(--pink);top:10%;left:5%;}
.lb-b{background:var(--green);top:5%;right:10%;animation-delay:1s;}
.lb-c{background:var(--sky);bottom:10%;left:0;animation-delay:2s;}
.lb-d{background:var(--orange);bottom:12%;right:5%;animation-delay:.5s;}
@keyframes orbit{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-14px) rotate(8deg);}}

/* ── ABOUT ── */
#about { background:var(--white); }
.about-top { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center; }
#about h2 { font-size:clamp(1.8rem,3vw,2.6rem);color:var(--dark);margin-bottom:14px; }
#about > .container > .about-top p { color:var(--text-lt);line-height:1.8; }

.about-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px; }
.about-card { border-radius:var(--radius);padding:28px 22px;position:relative;overflow:hidden; }
.about-card:nth-child(1){ background:var(--purple); color:var(--white); }
.about-card:nth-child(2){ background:var(--yellow); color:var(--dark); }
.about-card:nth-child(3){ background:var(--green);  color:var(--white); }

.about-card h4 { font-size:1.15rem;margin-bottom:8px; color:inherit; }
.about-card p  { font-size:.88rem;line-height:1.7;color:var(--white); }
.about-card:nth-child(2) p { color:var(--dark); }
.about-card-icon { font-size:2.4rem;margin-bottom:14px; }

.about-illustration {
  background:linear-gradient(135deg,var(--purple-lt),#FFE8F4);
  border-radius:var(--radius-lg);
  display:flex;align-items:center;justify-content:center;
  min-height:340px;font-size:9rem;position:relative;overflow:hidden;
}
.about-illustration::after {
  content:'A B C';position:absolute;bottom:18px;left:22px;
  font-family:'Baloo 2',cursive;font-size:1.6rem;font-weight:800;
  color:var(--purple);opacity:.25;letter-spacing:4px;
}

/* ── HOW IT WORKS ── */
#how {
  background:linear-gradient(135deg,var(--purple-dk) 0%,var(--purple) 100%);
  color:var(--white);position:relative;overflow:hidden;
}
#how .blob:nth-child(1){width:350px;height:350px;background:var(--sky);top:-80px;right:-60px;}
#how .blob:nth-child(2){width:280px;height:280px;background:var(--pink);bottom:-60px;left:-40px;animation-delay:2s;}
#how h2{text-align:center;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:10px;}
#how .sub{text-align:center;opacity:.8;margin-bottom:60px;}

.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;position:relative;z-index:2;}
.steps-list{display:flex;flex-direction:column;gap:24px;}
.step-item {
  display:flex;gap:18px;align-items:flex-start;
  background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);
  border-radius:var(--radius);padding:20px 22px;
  backdrop-filter:blur(6px);transition:background .3s,transform .3s;cursor:default;
}
.step-item:hover{background:rgba(255,255,255,.18);transform:translateX(6px);}
.step-num {
  min-width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--dark);
  font-family:'Baloo 2',cursive;font-weight:800;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-y);
}
.step-text h4{font-size:1.05rem;margin-bottom:4px;}
.step-text p{font-size:.87rem;opacity:.8;line-height:1.6;}

.steps-visual {
  background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);
  border-radius:var(--radius-lg);min-height:380px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;backdrop-filter:blur(8px);position:relative;overflow:hidden;
}
.phonic-display {
  font-family:'Baloo 2',cursive;font-size:5.5rem;font-weight:800;
  color:var(--yellow);text-shadow:0 4px 20px rgba(255,210,52,.4);
  animation:bounce-letter 2s ease-in-out infinite;
}
@keyframes bounce-letter{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.phonic-sub{font-size:1.1rem;opacity:.7;}
.phonic-sound{background:var(--yellow);color:var(--dark);font-weight:800;font-size:.95rem;padding:8px 22px;border-radius:50px;}
#how .wm{position:absolute;bottom:-30px;left:20px;font-family:'Baloo 2',cursive;font-size:9rem;font-weight:800;opacity:.08;letter-spacing:8px;pointer-events:none;}

/* ── PROGRAMS ── */
#programs{background:var(--off-white);}
#programs h2{text-align:center;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--dark);margin-bottom:8px;}
#programs .sub{text-align:center;color:var(--text-lt);margin-bottom:48px;}

.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.prog-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;cursor:pointer;}
.prog-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(108,53,222,.22);}
.prog-header{padding:32px 26px 22px;font-family:'Baloo 2',cursive;font-size:1.25rem;font-weight:800;}
.prog-header .age-badge{display:inline-block;background:rgba(255,255,255,.25);border-radius:50px;padding:4px 14px;font-size:.78rem;font-weight:700;margin-bottom:10px;}
.prog-card:nth-child(1) .prog-header{background:var(--yellow);color:var(--dark);}
.prog-card:nth-child(2) .prog-header{background:var(--purple);color:var(--white);}
.prog-card:nth-child(3) .prog-header{background:var(--orange);color:var(--white);}
.prog-body{background:var(--white);padding:22px 26px;}
.prog-body p{color:var(--text-lt);font-size:.9rem;line-height:1.7;margin-bottom:16px;}
.prog-features{list-style:none;display:flex;flex-direction:column;gap:8px;}
.prog-features li{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;}
.prog-features li::before{content:'\2713';color:var(--green);font-weight:800;font-size:1rem;}
.prog-cta{display:block;margin-top:18px;text-align:center;background:var(--purple-lt);color:var(--purple);font-weight:800;font-size:.9rem;padding:11px;border-radius:50px;transition:background .2s,color .2s;}
.prog-cta:hover{background:var(--purple);color:var(--white);}

/* ── INSTRUCTOR ── */
#instructor{background:var(--white);}
#instructor h2{font-size:clamp(1.8rem,3vw,2.6rem);text-align:center; color:var(--dark);margin-bottom:8px;}
#instructor .sub{text-align:center;color:var(--text-lt);margin-bottom:48px;}

.instructor-profile {
  display: flex; gap: 48px; align-items: center; background: var(--off-white);
  border-radius: var(--radius-lg); padding: 48px; border: 2px solid var(--purple-lt);
  max-width: 900px; margin: 0 auto; box-shadow: var(--shadow);
}
.instructor-image {
  flex-shrink: 0; width: 220px; height: 220px; border-radius: 50%;
  background: linear-gradient(135deg, var(--yellow), var(--orange));
  display: flex; align-items: center; justify-content: center; font-size: 6rem;
  box-shadow: 0 10px 30px rgba(255,210,52,.4); overflow: hidden; border: 6px solid var(--white);
}
.instructor-image img { width: 100%; height: 100%; object-fit: cover; }

.instructor-details h3 { font-size: 2.2rem; color: var(--dark); margin-bottom: 6px; }
.instructor-details .badge {
  display: inline-block; background: var(--purple-lt); color: var(--purple);
  font-weight: 700; font-size: .9rem; padding: 6px 16px; border-radius: 50px; margin-bottom: 20px;
}
.instructor-details p { color: var(--text-lt); line-height: 1.8; margin-bottom: 24px; font-size: 1rem;}

.instructor-highlights { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.instructor-highlights li { display: flex; align-items: center; gap: 12px; font-weight: 700; color: var(--dark); font-size: .95rem; }
.instructor-highlights li::before {
  content: '\2713'; display: flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; background: var(--green); color: var(--white);
  border-radius: 50%; font-size: .8rem; font-weight: 800;
}

/* ── TRIAL ── */
#trial{background:linear-gradient(135deg,var(--yellow) 0%,#FFB830 100%);position:relative;overflow:hidden;}
#trial .blob:nth-child(1){width:300px;height:300px;background:var(--purple);top:-80px;right:-40px;opacity:.12;}
#trial .blob:nth-child(2){width:200px;height:200px;background:var(--pink);bottom:-50px;left:-30px;opacity:.15;animation-delay:2s;}

.trial-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;}
#trial h2{font-size:clamp(1.8rem,3vw,2.8rem);color:var(--dark);}
#trial p{color:rgba(26,16,53,.78);margin-top:12px;line-height:1.7;}

.price-badge {
  display:inline-flex;align-items:center;gap:10px;
  background:var(--purple);color:var(--white);
  border-radius:var(--radius);padding:14px 22px;margin-top:20px;
  box-shadow:0 8px 30px rgba(108,53,222,.35);
}
.price-badge .price-num{font-family:'Baloo 2',cursive;font-size:2.2rem;font-weight:800;color:var(--yellow);line-height:1;}
.price-badge .price-label{font-size:.88rem;line-height:1.4;}
.price-badge .price-label strong{display:block;font-size:1rem;}

.trial-form{background:var(--white);border-radius:var(--radius-lg);padding:32px 28px;box-shadow:0 20px 60px rgba(26,16,53,.12);}
.trial-form h3{font-size:1.3rem;color:var(--dark);margin-bottom:6px;}
.trial-form > p{color:var(--text-lt);font-size:.88rem;margin-bottom:24px;}

.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.form-group label{font-weight:700;font-size:.85rem;color:var(--text);}
.form-group input,.form-group select{
  padding:12px 16px;border:2px solid var(--purple-lt);border-radius:12px;
  font-family:'Nunito',sans-serif;font-size:.95rem;color:var(--dark);
  outline:none;transition:border-color .2s;
}
.form-group input:focus,.form-group select:focus{border-color:var(--purple);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.btn-submit{
  width:100%;padding:14px;background:var(--purple);color:var(--white);
  font-family:'Baloo 2',cursive;font-size:1.1rem;font-weight:700;
  border:none;border-radius:50px;cursor:pointer;
  transition:background .2s,transform .2s;margin-top:8px;
}
.btn-submit:hover{background:var(--purple-dk);transform:translateY(-2px);}

/* ── TESTIMONIALS ── */
#testimonials{background:var(--off-white);}
#testimonials h2{text-align:center;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--dark);margin-bottom:48px;}
.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.testi-card{background:var(--white);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border-left:5px solid var(--purple);transition:transform .3s;}
.testi-card:hover{transform:translateY(-4px);}
.testi-stars{color:var(--yellow-dk);font-size:1.1rem;margin-bottom:12px;}
.testi-text{color:var(--text);line-height:1.75;font-size:.95rem;margin-bottom:18px;}
.testi-author{display:flex;gap:12px;align-items:center;}
.testi-avatar{width:46px;height:46px;border-radius:50%;font-size:1.6rem;display:flex;align-items:center;justify-content:center;}
.ta-1{background:#FFE0EC;}.ta-2{background:#E0F0FF;}.ta-3{background:#E8FFE8;}.ta-4{background:#FFF3D0;}
.testi-name strong{display:block;font-size:.95rem;color:var(--dark);}
.testi-name span{font-size:.8rem;color:var(--text-lt);}

/* ── FAQ ── */
#faq{background:var(--white);}
#faq h2{text-align:center;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--dark);margin-bottom:48px;}
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{border:2px solid var(--purple-lt);border-radius:var(--radius);overflow:hidden;}
.faq-q{
  padding:18px 22px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;font-weight:700;font-size:.97rem;color:var(--dark);
  background:var(--white);transition:background .2s;
}
.faq-q:hover{background:var(--purple-lt);}
.faq-icon{
  width:28px;height:28px;border-radius:50%;background:var(--purple-lt);color:var(--purple);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;
  transition:transform .3s,background .2s;flex-shrink:0;
}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--purple);color:var(--white);}
.faq-a{
  max-height:0;overflow:hidden;padding:0 22px;
  color:var(--text-lt);font-size:.93rem;line-height:1.75;
  transition:max-height .4s ease,padding .4s;
}
.faq-item.open .faq-a{max-height:200px;padding:4px 22px 20px;}

/* ── POLICY PAGE ── */
.policy-container {
  max-width: 860px;
  margin: 0 auto;
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 60px;
  box-shadow: 0 20px 60px rgba(26,16,53,.05);
  border: 2px solid var(--purple-lt);
  transform: translateY(-40px);
  position: relative;
  z-index: 5;
}
.policy-content h2 { font-size: 1.8rem; color: var(--dark); margin: 40px 0 16px; }
.policy-content p { font-size: 1.05rem; line-height: 1.8; margin-bottom: 20px; color: var(--text-lt); }
.policy-content ul { margin-bottom: 24px; padding-left: 24px; color: var(--text-lt); }
.policy-content li { margin-bottom: 10px; line-height: 1.7; font-size: 1.05rem; }
.policy-content strong { color: var(--dark); }
.policy-content a { color: var(--purple); font-weight: 700; text-decoration: underline; }
.policy-content a:hover { color: var(--yellow-dk); }
.last-updated {
  display: inline-block;
  background: var(--off-white);
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--purple);
  margin-bottom: 32px;
}

/* ── BRAND STRIP ── */
.brand-strip{background:var(--purple-dk);padding:36px 0;text-align:center;overflow:hidden;}
.brand-strip h1{
  font-family:'Baloo 2',cursive;font-size:clamp(2rem,6vw,5rem);font-weight:800;
  color:transparent;-webkit-text-stroke:3px rgba(255,255,255,.2);
  letter-spacing:6px;line-height:1;user-select:none;
}

/* ── FOOTER ── */
footer{background:var(--dark);color:rgba(255,255,255,.75);padding:48px 0 28px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-brand{font-family:'Baloo 2',cursive;font-size:1.15rem;font-weight:800;color:var(--white);margin-bottom:10px;line-height:1.3;}
.footer-brand span{color:var(--yellow);}
footer p{font-size:.88rem;line-height:1.7;}
.footer-col h5{font-size:.95rem;font-weight:800;color:var(--white);margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-col li a{font-size:.88rem;transition:color .2s;}
.footer-col li a:hover{color:var(--yellow);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.82rem;
}
.social-links{display:flex;gap:12px;}
.social-btn{
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .2s;
}
.social-btn:hover{background:var(--purple);}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero-grid,.about-top,.steps-grid,.trial-inner {grid-template-columns:1fr;}
  .programs-grid,.testi-grid{grid-template-columns:1fr 1fr;}
  .about-cards{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero-visual{display:none;}
}
@media(max-width:768px){
  .instructor-profile {flex-direction: column; text-align: center; padding: 32px 24px;}
  .instructor-highlights {align-items: center;}
}
@media(max-width:600px){
  .nav-links{display:none;}
  .programs-grid,.testi-grid,.about-cards{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}
