/* ColorBloom Kindergarten — one-page site */

:root {--teal: #56c6d1;--teal-dk: #3aa9b4;--orange: #ff5b28;--yellow: #ffc134;--pink: #e073d2;--ink: #444444;--ink-soft: #666666;--cream: #fff8ef;--paper: #f9f9f9;--radius: 20px;--wrap: 1216px;--fh: 'Lilita One', cursive;--fb: 'Lato', sans-serif;}

* {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body {margin: 0;font-family: var(--fb);color: var(--ink-soft);background: #fff;line-height: 1.6;overflow-x: hidden;}
img {max-width: 100%;display: block;}
.wrap {max-width: var(--wrap);margin: 0 auto;padding: 0 24px;position: relative;}
a {text-decoration: none;color: inherit;}
h1, h2, h3 {font-family: var(--fh);color: var(--ink);margin: 0 0 16px;line-height: 1.05;}
p {margin: 0 0 16px;}

/* BUTTONS */
.btn {display: inline-flex;align-items: center;gap: 6px;font-family: var(--fh);font-size: 16px;color: #fff;padding: 14px 22px;border-radius: 52px;white-space: nowrap;box-shadow: 0 6px 16px rgba(0,0,0,0.12);transition: transform 0.15s ease, box-shadow 0.15s ease;border: none;cursor: pointer;}
.btn:hover {transform: translateY(-2px);box-shadow: 0 10px 20px rgba(0,0,0,0.16);}
.btn .chevron {font-size: 20px;line-height: 1;}
.btn-orange {background: var(--orange);}
.btn-yellow {background: var(--yellow);}
.btn-teal {background: var(--teal);}
.btn-pink {background: var(--pink);}
.btn-sm {padding: 10px 18px;font-size: 14px;}

/* HEADER */
.site-header {position: sticky;top: 0;z-index: 100;background: #fff;box-shadow: 0 5px 12px rgba(0,0,0,0.08);}
.header-inner {max-width: var(--wrap);margin: 0 auto;padding: 16px 24px;display: flex;align-items: center;justify-content: space-between;gap: 24px;}
.logo-img {height: 44px;width: auto;}
.nav {display: flex;gap: 28px;flex: 1;justify-content: center;}
.nav a {font-weight: 700;font-size: 15px;color: var(--ink-soft);transition: color 0.15s;}
.nav a:hover {color: var(--orange);}
.header-cta {flex-shrink: 0;}
.mob-toggle {display: none;flex-direction: column;gap: 5px;background: none;border: none;cursor: pointer;padding: 8px;}
.mob-toggle span {width: 26px;height: 3px;background: var(--ink);border-radius: 2px;}
.mob-nav {display: none;flex-direction: column;gap: 4px;padding: 8px 24px 20px;}
.mob-nav a {padding: 12px 0;font-weight: 700;color: var(--ink-soft);border-bottom: 1px solid #eee;}
.mob-nav .btn {margin-top: 12px;justify-content: center;}

/* HERO */
.hero {position: relative;background: linear-gradient(180deg, var(--teal) 0%, var(--teal-dk) 100%);overflow: hidden;padding: 72px 0 130px;}
.hero-splatter {position: absolute;top: -6%;right: -18%;width: 900px;max-width: none;opacity: 0.9;pointer-events: none;}
.hero-inner {max-width: var(--wrap);margin: 0 auto;padding: 0 24px;display: flex;align-items: center;gap: 40px;position: relative;z-index: 2;}
.hero-copy {flex: 1;min-width: 280px;}
.hero-copy h1 {color: #fff;font-size: clamp(32px, 4.4vw, 56px);text-shadow: 0 4px 4px rgba(0,0,0,0.25);margin-bottom: 28px;}
.hero-copy h1 span {display: block;font-size: clamp(44px, 7vw, 84px);}
.hero-media {flex: 1;min-width: 260px;max-width: 440px;position: relative;text-align: center;}
.hero-photo {border-radius: 50%;border: 8px solid rgba(255,255,255,0.5);box-shadow: 0 20px 40px rgba(0,0,0,0.25);margin: 0 auto;max-width: 380px;}
.doodle {position: absolute;pointer-events: none;}
.doodle-a {width: 50px;top: -10px;left: -10px;}
.doodle-b {width: 70px;bottom: -20px;right: 10px;}
.doodle-c {width: 60px;top: -30px;left: 6%;opacity: 0.9;}

/* WAVE DIVIDERS */
.wave-cap {position: absolute;left: 0;right: 0;bottom: -1px;line-height: 0;pointer-events: none;z-index: 3;}
.wave-cap img {width: 100%;height: 90px;display: block;}
.wave-cap--flip img {transform: scaleY(-1);}
@media (max-width: 560px) {.wave-cap img {height: 50px;}}

/* INTRO / SECTION TITLES */
.intro {padding: 72px 0 24px;text-align: center;}
.section-title {color: var(--orange);font-size: clamp(28px, 4vw, 48px);text-align: center;}
.section-lead {max-width: 760px;margin: 0 auto 40px;text-align: center;font-size: 18px;}

/* PROGRAM CARDS */
.programs {position: relative;padding: 24px 0 110px;}
.program-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 28px;}
.program-card {background: var(--paper);border: 1px solid #e2e2e2;border-radius: var(--radius);overflow: hidden;display: flex;flex-direction: column;transition: transform 0.2s ease, box-shadow 0.2s ease;}
.program-card:hover {transform: translateY(-6px);box-shadow: 0 16px 30px rgba(0,0,0,0.1);}
.program-img {height: 215px;overflow: hidden;}
.program-img img {width: 100%;height: 100%;object-fit: cover;}
.program-body {padding: 28px;display: flex;flex-direction: column;gap: 14px;flex: 1;}
.program-body h3 {font-size: 26px;margin: 0;color: var(--ink);}
.program-body p {font-size: 15px;flex: 1;margin: 0;}
.program-body .btn {align-self: flex-start;}

/* WHY / FEATURES */
.why-block {background: var(--cream);}
.why {padding: 80px 0;}
.feature-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 40px 32px;margin-top: 48px;}
.feature-icon {width: 56px;height: 56px;border-radius: 14px;display: flex;align-items: center;justify-content: center;margin-bottom: 16px;}
.feature-icon svg {width: 28px;height: 28px;}
.feature-icon--orange {background: #ffe4d9;color: var(--orange);}
.feature-icon--yellow {background: #fff2cf;color: #d99a12;}
.feature-icon--teal {background: #d9f3f5;color: var(--teal-dk);}
.feature-icon--pink {background: #fbe1f7;color: var(--pink);}
.feature h3 {font-size: 19px;margin-bottom: 8px;}
.feature p {font-size: 15px;margin: 0;}

/* TESTIMONIALS */
.testimonials {padding: 80px 0;}
.testimonial-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap: 20px;margin-top: 40px;}
.review-card {background: var(--paper);border: 1px solid #eaeaea;border-radius: 14px;padding: 20px;}
.review-head {display: flex;align-items: center;gap: 10px;margin-bottom: 10px;}
.review-head strong {display: block;font-size: 14px;color: var(--ink);}
.review-date {font-size: 12px;color: #999;}
.avatar {width: 34px;height: 34px;border-radius: 50%;display: flex;align-items: center;justify-content: center;color: #fff;font-weight: 700;font-size: 14px;flex-shrink: 0;}
.avatar--purple {background: #8b5fbf;}
.avatar--rose {background: #e07a9e;}
.avatar--green {background: #3fa66a;}
.avatar--orange {background: var(--orange);}
.stars {color: #f6ba33;letter-spacing: 2px;margin-bottom: 8px;}
.review-card p {font-size: 14px;margin: 0;}

/* FINAL CTA */
.final-cta {position: relative;padding: 90px 0 100px;text-align: center;overflow: hidden;}
.cta-buttons {display: flex;flex-wrap: wrap;gap: 16px;justify-content: center;margin-top: 8px;}

/* FOOTER */
.site-footer {background: var(--paper);padding: 56px 0 0;}
.footer-inner {display: grid;grid-template-columns: 1.6fr 1fr 1fr 1fr;gap: 32px;padding-bottom: 32px;}
.footer-logo {height: 40px;margin-bottom: 12px;}
.footer-brand p {font-size: 14px;max-width: 240px;}
.footer-col h4 {font-family: var(--fb);font-size: 12px;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: #999;margin-bottom: 14px;}
.footer-col a {display: block;font-size: 14px;color: var(--ink);margin-bottom: 10px;transition: color 0.15s;}
.footer-col a:hover {color: var(--orange);}
.social-link {display: flex;align-items: center;gap: 8px;}
.social-link img {width: 18px;height: 18px;}
.footer-bottom {background: var(--teal);padding: 14px 24px;text-align: center;}
.footer-bottom p {margin: 0;color: #fff;font-size: 12px;}
.footer-bottom a {color: #fff;font-weight: 700;text-decoration: underline;}

/* SCROLL REVEAL */
.rv {opacity: 0;transform: translateY(20px);transition: opacity 0.6s ease, transform 0.6s ease;}
.rv.in {opacity: 1;transform: translateY(0);}

/* RESPONSIVE */
@media (max-width: 900px) {
  .nav {display: none;}
  .mob-toggle {display: flex;}
  .header-cta {display: none;}
  .hero-inner {flex-direction: column;text-align: center;}
  .hero-copy h1 span {font-size: clamp(38px, 12vw, 60px);}
  .program-grid {grid-template-columns: 1fr;}
  .feature-grid {grid-template-columns: 1fr 1fr;}
  .footer-inner {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 560px) {
  .feature-grid {grid-template-columns: 1fr;}
  .footer-inner {grid-template-columns: 1fr;}
  .hero {padding: 56px 0 72px;}
  .hero-splatter {display: none;}
}
