@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;700;800;900&display=swap');

:root{
  --navy:#15345f;
  --navy-deep:#0d2851;
  --cream:#fff8e8;
  --white:#ffffff;
  --sky:#34c2f3;
  --sky-2:#72d8f7;
  --pink:#f244a4;
  --pink-2:#ff82bf;
  --yellow:#ffd338;
  --yellow-2:#ffe778;
  --green:#7ccc3f;
  --lime:#a9df4d;
  --purple:#9350e8;
  --orange:#ff873d;
  --coral:#ff6f73;
  --red:#ff5353;
  --ink:#15345f;
  --text:#405371;
  --line:rgba(21,52,95,.15);
  --shadow:0 20px 45px rgba(21,52,95,.16);
  --shadow-sm:0 10px 24px rgba(21,52,95,.13);
  --container:min(1180px,calc(100% - 42px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}
img{display:block;max-width:100%} a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer}
.container{width:var(--container);margin-inline:auto}.section{padding:92px 0;position:relative}.section>*{position:relative;z-index:2}
.eyebrow{font-size:.77rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--pink);margin:0 0 12px}.section-title{font-family:'Fredoka','Arial Rounded MT Bold',sans-serif;font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.02;margin:0 0 18px;letter-spacing:-.025em}.section-copy{font-size:1.08rem;color:var(--text);max-width:720px;margin:0}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 25px;font-weight:900;transition:.2s ease;min-height:50px;box-shadow:none}.btn:hover{transform:translateY(-3px) rotate(-.4deg);box-shadow:0 12px 20px rgba(21,52,95,.18)}.btn-primary{background:var(--pink);color:#fff;box-shadow:0 10px 0 rgba(190,39,123,.14)}.btn-secondary{background:#fff;color:var(--navy);border:2px solid var(--navy)}.btn-yellow{background:var(--yellow);color:var(--navy)}.btn-white{background:#fff;color:var(--navy)}.btn-purple{background:var(--purple);color:#fff}

/* GLOBAL CRAFT LANGUAGE */
.section::before,.page-hero::before{pointer-events:none}.paper-dots{background-image:none!important}
.torn-top::after,.torn-bottom::before{content:"";position:absolute;left:-1%;width:102%;height:30px;background:inherit;z-index:3}.torn-top::after{top:-15px;clip-path:polygon(0 52%,3% 72%,7% 38%,11% 65%,15% 34%,19% 70%,23% 41%,28% 69%,32% 31%,37% 61%,42% 39%,47% 68%,52% 30%,57% 65%,62% 35%,67% 70%,72% 42%,77% 64%,82% 34%,87% 70%,92% 39%,96% 62%,100% 47%,100% 100%,0 100%)}.torn-bottom::before{bottom:-15px;clip-path:polygon(0 0,100% 0,100% 52%,96% 70%,92% 38%,87% 65%,82% 34%,77% 70%,72% 42%,67% 64%,62% 32%,57% 69%,52% 39%,47% 66%,42% 31%,37% 70%,32% 39%,28% 64%,23% 36%,19% 69%,15% 41%,11% 64%,7% 35%,3% 68%,0 48%)}
.doodle{position:absolute;pointer-events:none;z-index:1}.doodle.star{width:34px;height:34px;background:var(--pink);clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%)}.doodle.dot{border-radius:50%}

/* HEADER — BRIGHT LIKE PROTOTYPE 1 */
.announcement{background:linear-gradient(90deg,var(--purple),#5b6ff5,var(--sky));color:#fff;font-size:.88rem;font-weight:900;text-align:center;padding:8px 16px}.announcement a{text-decoration:underline;margin-left:10px}.info-bar{background:var(--navy);color:#fff;font-size:.78rem;font-weight:900;padding:7px 0}.info-inner{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}#siteHeader{display:contents}.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:3px solid var(--yellow);box-shadow:0 4px 0 rgba(242,68,164,.11)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand img{width:88px;height:62px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:25px;font-weight:900;font-size:.95rem}.nav-links a{position:relative}.nav-links a::after{content:"";position:absolute;left:50%;bottom:-10px;width:0;height:5px;border-radius:5px;background:var(--pink);transform:translateX(-50%);transition:.18s}.nav-links a:hover::after,.nav-links a.active::after{width:105%}.nav-actions{display:flex;align-items:center;gap:16px;font-weight:900;white-space:nowrap}.menu-btn{display:none;border:0;background:var(--yellow);width:46px;height:46px;border-radius:15px;font-size:1.35rem;color:var(--navy)}

/* HOME HERO — DIRECTLY ALIGNED TO APPROVED #1 */
.hero{min-height:650px;background:var(--cream);position:relative;overflow:hidden;display:flex;align-items:center}.hero::before{content:"";position:absolute;right:-70px;top:40px;width:660px;height:560px;background:var(--sky-2);border-radius:42% 0 0 48% / 40% 0 0 58%;opacity:.55;transform:rotate(-3deg)}.hero::after{content:"";position:absolute;left:-80px;bottom:-120px;width:340px;height:300px;background:var(--pink-2);border-radius:50%;opacity:.25}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:65px;align-items:center;padding:78px 0 96px}.hero-kicker{display:inline-flex;align-items:center;gap:8px;border:2px dashed rgba(21,52,95,.24);background:#fff;border-radius:999px;padding:8px 14px;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900}.hero h1{font-family:'Fredoka','Arial Rounded MT Bold',sans-serif;font-size:clamp(3.4rem,5.4vw,5.6rem);line-height:.93;margin:22px 0;letter-spacing:-.035em;max-width:650px}.hero h1 .blue{color:#3272ef}.hero h1 .pink{color:var(--pink)}.hero p{font-size:1.13rem;color:var(--text);max-width:610px}.hero-media{position:relative;min-height:500px}.hero-photo{position:absolute;right:10px;top:20px;width:480px;height:470px;object-fit:contain;object-position:center;border-radius:44% 44% 48% 48% / 40% 42% 54% 56%;border:11px solid #fff;box-shadow:var(--shadow);z-index:3}.hero-blob{position:absolute;right:-25px;top:-5px;width:510px;height:495px;background:var(--yellow);border-radius:55% 45% 62% 38% / 42% 54% 46% 58%;transform:rotate(8deg);opacity:.95}.hero-note{position:absolute;z-index:5;left:8px;bottom:28px;background:#fff;border-radius:23px;padding:16px 20px;box-shadow:0 14px 0 rgba(21,52,95,.10),var(--shadow-sm);font-family:'Fredoka',sans-serif;font-size:1.1rem;max-width:235px;text-align:center;border:3px solid #fff}.hero-note span:nth-child(1){color:#3272ef}.hero-note span:nth-child(2){color:var(--pink)}.hero-note span:nth-child(3){color:var(--green)}.hero-airplane{position:absolute;left:45px;top:25px;font-size:3rem;transform:rotate(12deg)}
.trust-strip{background:#fff;border:0;position:relative}.trust-strip::before{content:"";position:absolute;top:-14px;left:0;width:100%;height:28px;background:#fff;clip-path:polygon(0 48%,4% 68%,8% 40%,12% 64%,16% 33%,20% 68%,24% 39%,28% 66%,32% 35%,36% 65%,40% 41%,44% 69%,48% 33%,52% 67%,56% 38%,60% 65%,64% 31%,68% 68%,72% 39%,76% 66%,80% 34%,84% 69%,88% 38%,92% 64%,96% 39%,100% 56%,100% 100%,0 100%)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:30px 0 26px}.trust-item{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start}.trust-dot{width:16px;height:16px;border-radius:50%;margin-top:6px}.trust-item strong{display:block;font-size:1rem;margin-bottom:2px}.trust-item p{margin:0;color:var(--text);font-size:.9rem}.microbar{display:flex;justify-content:space-between;gap:20px;padding:12px 0 15px;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--navy)}

/* PROGRAMS — BIG YELLOW WORLD */
.programs{background:var(--yellow);position:relative;overflow:hidden}.programs::before{content:"";position:absolute;inset:0;background-image:none}.programs::after{content:"★";position:absolute;font-size:130px;color:rgba(255,255,255,.38);right:3%;top:7%;transform:rotate(18deg)}.programs .container{position:relative;z-index:2}.programs-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.programs-head .section-copy{color:#34445f}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.program-card{position:relative;border-radius:31px;padding:13px 13px 24px;color:var(--navy);box-shadow:0 12px 0 rgba(21,52,95,.12),0 20px 34px rgba(21,52,95,.12);overflow:hidden;transition:.2s ease;min-height:390px;border:5px solid rgba(255,255,255,.7)}.program-card::before{content:"";position:absolute;left:-15px;right:-15px;top:205px;height:26px;background:rgba(255,255,255,.27);transform:rotate(-2deg)}.program-card:hover{transform:translateY(-7px) rotate(-.8deg)}.program-card:nth-child(even):hover{transform:translateY(-7px) rotate(.8deg)}.program-card img{width:100%;height:210px;object-fit:cover;border-radius:22px;border:5px solid #fff}.program-card h3{font-family:'Fredoka',sans-serif;font-size:1.75rem;margin:18px 8px 4px}.program-card p{margin:0 8px;font-weight:800;font-size:.93rem}.program-card .arrow{position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900;border:2px solid rgba(21,52,95,.12)}.program-card.blue{background:var(--sky)}.program-card.gold{background:#ffc451}.program-card.green{background:#89d64f}.program-card.pink{background:#ff8ec0}.program-card.purple{background:#aa74ef}.program-card.orange{background:#ff9556}

/* FAMILY — HIGH ENERGY BLUE */
.family{background:#266fe6;color:#fff;overflow:hidden}.family::before{content:"";position:absolute;width:330px;height:330px;background:var(--pink);border-radius:50%;left:-150px;bottom:-145px;opacity:.5}.family::after{content:"";position:absolute;width:270px;height:270px;background:var(--yellow);right:-90px;top:-100px;transform:rotate(22deg);border-radius:60px;opacity:.88}.family .eyebrow{color:var(--yellow)}.family .section-copy{color:#fff}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.photo-stack{position:relative;min-height:500px}.photo-stack .main{position:absolute;left:0;top:10px;width:78%;height:430px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow);border:9px solid #fff;transform:rotate(-2deg)}.photo-stack .mini{position:absolute;right:0;bottom:0;width:48%;height:240px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow);border:8px solid #fff;transform:rotate(5deg)}.photo-stack .placeholder{display:flex;align-items:center;justify-content:center}
.photo-stack .main.placeholder{background:radial-gradient(circle at 22% 24%, rgba(255,255,255,.3) 0 9px, transparent 10px) 0 0/50px 50px, linear-gradient(135deg, var(--pink), var(--yellow))}
.photo-stack .mini.placeholder{background:radial-gradient(circle at 32% 68%, rgba(255,255,255,.3) 0 7px, transparent 8px) 0 0/38px 38px, linear-gradient(135deg, var(--sky), #2f7af8)}
.photo-stack .placeholder .placeholder-icon{font-size:4rem;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}
.photo-stack .mini.placeholder .placeholder-icon{font-size:2.4rem}
.family-bullets{display:grid;gap:18px;margin-top:30px}.family-bullet{display:flex;gap:14px;align-items:flex-start}.family-bullet .icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;font-size:1.25rem;background:rgba(255,255,255,.18)!important}.family-bullet p{margin:1px 0 0;color:#edf5ff}

/* SERVICES — PINK PAPER + STICKER CARDS */
.features{background:#ff89c2;overflow:hidden}.features::before{content:"";position:absolute;inset:0;background-image:none}.feature-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}.features .section-copy{color:#553653}.feature-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-card{border-radius:24px;padding:23px;min-height:155px;box-shadow:0 10px 0 rgba(21,52,95,.11),var(--shadow-sm);border:4px solid #fff;transition:.2s}.feature-card:hover{transform:rotate(-1deg) translateY(-3px)}.feature-card:nth-child(even):hover{transform:rotate(1deg) translateY(-3px)}.feature-card .badge{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1.5rem;margin-bottom:14px;box-shadow:0 4px 0 rgba(21,52,95,.08)}.feature-card h3{font-family:'Fredoka',sans-serif;margin:0 0 5px;font-size:1.25rem}.feature-card p{margin:0;font-size:.92rem;color:#314663;font-weight:700}.feature-card:nth-child(1){background:#7bd8f7}.feature-card:nth-child(2){background:#ffe268}.feature-card:nth-child(3){background:#99de62}.feature-card:nth-child(4){background:#ffa267}.feature-card:nth-child(5){background:#b888ef}.feature-card:nth-child(6){background:#ffd1e5}.feature-card:nth-child(7){background:#69c8ff}.feature-card:nth-child(8){background:#fff4ae}

/* LEARNING — ORANGE / ART TABLE */
.learning{background:var(--orange);overflow:hidden}.learning::before{content:"";position:absolute;left:-80px;top:60px;width:270px;height:270px;background:var(--yellow);border-radius:50%;opacity:.85}.learning::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:#fff;opacity:.14;right:-120px;top:60px}.learning-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;position:relative;z-index:2}.learning .section-copy{color:#442c25}.learning-collage{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}.learning-collage img{object-fit:cover;border:9px solid #fff;box-shadow:var(--shadow);border-radius:28px}.learning-collage img:first-child{height:460px;transform:rotate(-3deg)}.learning-collage img:last-child{height:350px;transform:rotate(3deg)}

/* DIRECTOR — SKY BLUE + PINK */
.director{background:#aee7fa;overflow:hidden}.director::before{content:"";position:absolute;left:-100px;bottom:-100px;width:280px;height:280px;border-radius:50%;background:var(--yellow)}.director::after{content:"★";position:absolute;right:7%;top:10%;font-size:110px;color:var(--pink);transform:rotate(12deg);opacity:.55}.director-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.director-photo-wrap{position:relative}.director-photo-wrap::before{content:"";position:absolute;inset:25px -28px -25px 28px;background:var(--pink);border-radius:42% 58% 43% 57% / 54% 42% 58% 46%}.director-photo{position:relative;width:100%;max-height:570px;object-fit:cover;border-radius:34% 34% 22% 22% / 28% 28% 18% 18%;box-shadow:var(--shadow);border:10px solid #fff}.director-letter{background:#fffdf4;border-radius:28px;padding:32px;box-shadow:0 12px 0 rgba(21,52,95,.10),var(--shadow-sm);position:relative;border:3px solid #fff}.director-letter::before{content:"";position:absolute;top:0;left:28px;right:28px;height:7px;background:linear-gradient(90deg,var(--sky),var(--pink),var(--yellow),var(--green),var(--purple),var(--orange));border-radius:0 0 8px 8px}.signature{font-family:'Fredoka',sans-serif;font-size:1.7rem;color:var(--pink);margin-top:20px}

/* PARENTS CORNER PREVIEW — PURPLE CLASSROOM BOARD */
.parents-preview{background:#8e54e9}.parents-preview .section-title,.parents-preview .section-copy{color:#fff}.parents-preview .eyebrow{color:var(--yellow)}.parents-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.board{background:#6acaf0;border-radius:38px;padding:36px;position:relative;box-shadow:inset 0 0 0 10px rgba(255,255,255,.28),0 14px 0 rgba(21,52,95,.10);background-image:none;background-size:auto;border:7px solid #fff}.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.notice{background:#fffdf3;border-radius:12px;padding:24px;min-height:205px;position:relative;box-shadow:0 10px 0 rgba(21,52,95,.14),0 18px 32px rgba(21,52,95,.16);transform:rotate(-1.4deg);border:2px solid rgba(21,52,95,.08)}.notice:nth-child(2){transform:rotate(1.4deg)}.notice:nth-child(3){transform:rotate(-.7deg)}.pin{position:absolute;top:-11px;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;box-shadow:0 5px 8px rgba(0,0,0,.22)}.notice .tag{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:#edf2ff;color:#4861e4}.notice h3{font-family:'Fredoka',sans-serif;font-size:1.45rem;margin:15px 0 7px}.notice p{margin:0;color:var(--text);font-size:.9rem}.notice a{display:inline-block;margin-top:15px;color:var(--pink);font-weight:900;font-size:.9rem}

/* TESTIMONIALS — BRIGHT YELLOW */
.testimonials{background:var(--yellow-2)}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}.testimonial{background:#fff;border-radius:26px;padding:28px;border:4px solid #fff;box-shadow:0 9px 0 rgba(21,52,95,.10),var(--shadow-sm);position:relative}.testimonial:nth-child(1){border-top-color:var(--orange)}.testimonial:nth-child(2){border-top-color:var(--sky)}.testimonial:nth-child(3){border-top-color:var(--pink)}.testimonial:nth-child(4){border-top-color:var(--green)}.testimonial::before{content:"“";position:absolute;right:24px;top:4px;font-family:Georgia,serif;font-size:5rem;color:rgba(145,77,229,.12);line-height:1}.stars{letter-spacing:.18em;color:#ff9d00;font-size:1.1rem}.testimonial p{color:#354862}.testimonial footer{font-weight:900;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}

/* GALLERY — SKY BLUE SCRAPBOOK */
.gallery-section{background:#dff6ff}.gallery-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:260px 260px;gap:18px;margin-top:42px}.gallery-grid button{border:8px solid #fff;padding:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 0 rgba(21,52,95,.10),var(--shadow-sm);transform:rotate(-.7deg)}.gallery-grid button:nth-child(2){transform:rotate(1.2deg)}.gallery-grid button:nth-child(3){transform:rotate(-1.4deg)}.gallery-grid button:nth-child(4){transform:rotate(.8deg)}.gallery-grid button:nth-child(1){grid-row:span 2}.gallery-grid button:nth-child(4){grid-column:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.25s}.gallery-grid button:hover img{transform:scale(1.04)}

.final-cta{background:#f244a4;color:#fff;overflow:hidden;text-align:center}.final-cta .section-title{max-width:820px;margin-inline:auto}.final-cta p{max-width:760px;margin:0 auto;color:#fff}.final-cta .button-row{justify-content:center}.shape-row{display:flex;position:absolute;left:0;right:0;bottom:0;justify-content:space-around;opacity:.16;transform:translateY(25%)}.shape-row span{display:block;width:100px;height:100px;background:#fff;border-radius:24px}.shape-row span:nth-child(1){border-radius:50%}.shape-row span:nth-child(3){clip-path:polygon(50% 0,100% 100%,0 100%)}.shape-row span:nth-child(4){clip-path:polygon(50% 0,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0 50%,39% 35%)}

/* FOOTER */
.footer{background:var(--navy-deep);color:#fff;padding:68px 0 25px;border-top:12px solid var(--yellow);position:relative}.footer::before{content:"";position:absolute;top:-12px;left:0;width:100%;height:12px;background:linear-gradient(90deg,var(--sky) 0 16%,var(--pink) 16% 32%,var(--yellow) 32% 48%,var(--green) 48% 64%,var(--purple) 64% 80%,var(--orange) 80%)}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:40px}.footer img{width:115px;background:#fff;border-radius:18px;padding:7px;margin-bottom:14px}.footer h4{font-family:'Fredoka',sans-serif;font-size:1.18rem;margin:0 0 14px;color:var(--yellow)}.footer p,.footer a{font-size:.9rem;color:#dfe8f8;margin:7px 0;display:block}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:22px;font-size:.78rem;color:#b9c7de;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.socials{display:flex;gap:10px;margin-top:18px}.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--pink);font-weight:900}

/* INTERNAL PAGES — EACH PAGE IS A COLORFUL WORLD */
.page-hero{padding:94px 0 82px;position:relative;overflow:hidden;background:var(--sky)}.page-hero::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--yellow);right:6%;top:-75px;opacity:.9}.page-hero .container{position:relative;z-index:2}.page-hero .section-title{max-width:840px}.page-hero .section-copy{color:#23466a}.breadcrumbs{display:flex;gap:8px;color:#355573;font-size:.85rem;font-weight:900;margin-bottom:15px}
body[data-page="about"] .page-hero{background:#ff8cc1}body[data-page="about"] .page-hero::after{background:var(--sky)}
body[data-page="programs"] .page-hero{background:var(--yellow)}body[data-page="programs"] .page-hero::after{background:var(--pink)}
body[data-page="parents"] .page-hero{background:var(--purple);color:#fff}body[data-page="parents"] .page-hero .section-copy{color:#fff}body[data-page="parents"] .page-hero::after{background:var(--yellow)}
body[data-page="gallery"] .page-hero{background:var(--sky)}body[data-page="gallery"] .page-hero::after{background:var(--pink)}
body[data-page="enrollment"] .page-hero{background:var(--green)}body[data-page="enrollment"] .page-hero::after{background:var(--yellow)}
body[data-page="contact"] .page-hero{background:var(--orange)}body[data-page="contact"] .page-hero::after{background:var(--sky)}
body[data-page="tour"] .page-hero{background:#ff91c5}body[data-page="tour"] .page-hero::after{background:var(--yellow)}

.content-card{background:#fff;border:4px solid #fff;border-radius:27px;padding:31px;box-shadow:0 10px 0 rgba(21,52,95,.10),var(--shadow-sm)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}
body[data-page="about"] main>.section:not(.director){background:#fff3aa}body[data-page="about"] main>.section:last-child{background:#dff7ff}
body[data-page="contact"] main>.section{background:#fff3aa}body[data-page="enrollment"] main>.section{background:#dff7ff}body[data-page="tour"] main>.section{background:#fff0a8}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#5a6a86}.field input,.field select,.field textarea{width:100%;border:3px solid rgba(21,52,95,.13);border-radius:16px;background:#fffdf5;padding:14px 15px;color:var(--navy);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky);box-shadow:0 0 0 5px rgba(52,194,243,.18)}.field textarea{min-height:120px;resize:vertical}.form-note{background:#fff0bf;border:3px dashed var(--orange);border-radius:18px;padding:16px;color:#66583f;font-size:.92rem;font-weight:700}.schedule-days{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.day-chip{padding:8px 13px;border-radius:999px;background:#fff;border:3px solid #fff;font-size:.8rem;font-weight:900;box-shadow:0 5px 0 rgba(21,52,95,.08)}.day-chip.off{background:#e6e6ea;color:#9a9ca4;text-decoration:line-through}.success-message,.error-message{display:none;border-radius:18px;padding:18px;margin-top:18px;font-weight:900}.success-message.show{display:block;background:#eaf8e6;color:#2f6a24}.error-message.show{display:block;background:#ffe8eb;color:#9f2941}

/* PARENTS CORNER — DIGITAL BULLETIN BOARD */
body[data-page="parents"] main>.section{background:#f7d56f}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{border:3px solid #fff;background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;color:var(--navy);box-shadow:0 6px 0 rgba(21,52,95,.09)}.filter-btn.active{background:var(--pink);color:#fff}.parents-board-page{background:#b97143;border-radius:38px;padding:46px;box-shadow:inset 0 0 0 12px rgba(255,255,255,.24),0 16px 0 rgba(21,52,95,.10);min-height:650px;background-image:none;background-size:auto;border:9px solid #fff}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.resource-card{background:#fffdf4;padding:29px;border-radius:12px;box-shadow:0 11px 0 rgba(67,37,17,.18),0 22px 36px rgba(67,37,17,.16);position:relative;transform:rotate(-.7deg);border:2px solid rgba(21,52,95,.07)}.resource-card:nth-child(even){transform:rotate(.8deg)}.resource-card.hidden{display:none}.resource-card .date{font-size:.75rem;color:#7887a0;font-weight:900;text-transform:uppercase}.resource-card h3{font-family:'Fredoka',sans-serif;font-size:1.55rem;margin:10px 0 8px}.resource-card p{color:var(--text)}
.resource-card.wide{grid-column:1/-1}
#menuWeekLabel{font-family:inherit;font-size:.62em;font-weight:700;color:#7887a0;text-transform:none;letter-spacing:0;margin-left:6px}
.menu-table-wrap{margin:14px 0}
.menu-status{color:#7887a0;font-weight:700;padding:18px 0}
.menu-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.menu-table th,.menu-table td{text-align:left;padding:10px 14px;font-size:.86rem;vertical-align:top}
.menu-table thead th{font-family:'Fredoka',sans-serif;font-size:.95rem;font-weight:600;border-radius:10px}
.menu-table thead th:first-child{background:transparent}
.menu-table tbody th{white-space:nowrap;font-weight:900;color:var(--navy);background:#fff6e0;border-radius:10px 0 0 10px}
.menu-table tbody td{background:#fff6e0;color:#111}
.menu-table tbody td:last-child,.menu-table tbody th:last-child{border-radius:0 10px 10px 0}
.menu-table tbody td:last-child{border-radius:0 10px 10px 0}
.menu-note{font-size:.82rem;color:#7887a0;margin-top:-6px}
.menu-day-sky{background:var(--sky);color:#0d3b52}
.menu-day-pink{background:var(--pink);color:#fff}
.menu-day-yellow{background:var(--yellow);color:#5c4200}
.menu-day-green{background:var(--green);color:#1f3d0a}
.menu-day-purple{background:var(--purple);color:#fff}
.menu-day-cards{display:none}
@media(max-width:700px){
  .menu-table{display:none}
  .menu-day-cards{display:grid;gap:14px}
  .menu-day-card{border-radius:14px;overflow:hidden;background:#fff6e0;box-shadow:0 6px 0 rgba(67,37,17,.14)}
  .menu-day-card h4{margin:0;padding:10px 14px;border-radius:14px 14px 0 0;font-family:'Fredoka',sans-serif;font-size:1rem;font-weight:600;display:flex;justify-content:space-between;gap:10px}
  .menu-day-card h4 span{font-weight:700;opacity:.85}
  .menu-day-card dl{margin:0;padding:12px 14px;display:grid;gap:2px}
  .menu-day-card dt{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#7887a0}
  .menu-day-card dd{margin:0 0 8px;font-size:.86rem;color:#111}
}
.events-list-wrap{margin:14px 0;display:grid;gap:12px}
.event-list-item{display:flex;align-items:center;gap:16px;background:#fff6e0;border-radius:14px;padding:12px 16px}
.event-date-badge{flex:none;width:56px;height:56px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.event-date-badge .ed-month{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.event-date-badge .ed-day{font-family:'Fredoka',sans-serif;font-size:1.35rem;font-weight:600}
.event-body h4{margin:0;font-family:'Fredoka',sans-serif;font-size:1.05rem;color:var(--navy)}
.event-body p{margin:2px 0 0;font-size:.84rem;color:#516079}
.newsletter-wrap{margin:14px 0}
.newsletter-latest{text-align:center}
.newsletter-thumb-btn{display:inline-block;width:100%;max-width:280px;margin:0 auto;border:6px solid #fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 0 rgba(67,37,17,.14);background:#fff;padding:0}
.newsletter-thumb-btn img{width:100%;display:block}
.newsletter-caption{margin:10px 0 0;font-weight:900;color:var(--navy)}
.newsletter-pdf-link{display:inline-block}
.newsletter-archive{margin-top:18px;border-top:2px dashed rgba(21,52,95,.15);padding-top:14px}
.newsletter-archive-label{font-size:.75rem;font-weight:900;text-transform:uppercase;color:#7887a0;margin:0 0 8px}
.newsletter-archive-list{display:flex;flex-wrap:wrap;gap:10px}
.newsletter-archive-list a{background:#fff6e0;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:700;color:var(--navy);text-decoration:none}
.newsletter-archive-list a:hover{background:var(--yellow)}

/* GALLERY PAGE */
body[data-page="gallery"] main>.section{background:#ff8cc1}.gallery-full{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-full button{border:8px solid #fff;background:#fff;padding:0;border-radius:14px;overflow:hidden;box-shadow:0 10px 0 rgba(21,52,95,.12),var(--shadow-sm);height:320px;transform:rotate(-1deg)}.gallery-full button:nth-child(3n+2){transform:rotate(1.4deg)}.gallery-full button:nth-child(3n){transform:rotate(-.3deg)}.gallery-full img{width:100%;height:100%;object-fit:cover}.lightbox{position:fixed;inset:0;background:rgba(9,20,42,.88);display:none;align-items:center;justify-content:center;z-index:100;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,95vw);max-height:86vh;border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.35);border:8px solid #fff}.lightbox-close{position:absolute;right:28px;top:22px;background:var(--yellow);border:0;width:48px;height:48px;border-radius:50%;font-size:1.3rem;color:var(--navy)}

/* PROGRAM PAGE — SIX COLOR PANELS */
body[data-page="programs"] main>.section{background:#fff3aa}.program-page-grid{display:grid;gap:38px}.program-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center;border-radius:34px;padding:31px;background:#fff;box-shadow:0 12px 0 rgba(21,52,95,.11),var(--shadow-sm);border:7px solid #fff;position:relative;overflow:hidden}.program-detail::after{content:"";position:absolute;right:-60px;bottom:-60px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.25)}.program-detail:nth-child(1){background:var(--sky)}.program-detail:nth-child(2){background:#ffc454}.program-detail:nth-child(3){background:#8ed954}.program-detail:nth-child(4){background:#ff8dc0}.program-detail:nth-child(5){background:#ae77ef}.program-detail:nth-child(6){background:#ff9658}.program-detail:nth-child(even){grid-template-columns:1.15fr .85fr}.program-detail:nth-child(even) .program-detail-image{order:2}.program-detail-image img{width:100%;height:350px;object-fit:cover;border-radius:25px;border:7px solid #fff;box-shadow:0 8px 0 rgba(21,52,95,.10)}.program-detail h2{font-family:'Fredoka',sans-serif;font-size:2.35rem;margin:0 0 10px}.program-detail ul{padding-left:20px;color:#2d4565;font-weight:700}

/* THANK-YOU */
body[data-page="thanks"] main>.section,body[data-page="tour-thanks"] main>.section{background:var(--sky);min-height:70vh!important}.content-card[style*="text-align:center"]{border:8px solid #fff;background:#fffdf4!important}

@media (max-width:1000px){.nav-links,.nav-actions .phone{display:none}.menu-btn{display:block}.nav-links.mobile-open{position:absolute;display:flex;flex-direction:column;align-items:stretch;gap:0;top:84px;left:0;right:0;background:#fff;padding:12px 20px 25px;border-top:1px solid var(--line);box-shadow:var(--shadow)}.nav-links.mobile-open a{padding:13px 4px}.hero-grid,.family-grid,.feature-layout,.learning-grid,.director-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{min-height:520px}.hero-photo{left:50%;transform:translateX(-50%);right:auto}.hero-blob{left:50%;transform:translateX(-50%) rotate(7deg);right:auto}.hero-note{left:50%;transform:translateX(-70%)}.program-grid{grid-template-columns:repeat(2,1fr)}.family-grid{gap:42px}.photo-stack{min-height:470px}.feature-layout{gap:35px}.learning-collage{max-width:700px}.director-photo{max-width:600px;margin:auto}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;align-items:flex-start;padding-right:70px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:250px 250px 250px}.gallery-grid button:nth-child(1){grid-row:span 2}.gallery-grid button:nth-child(4){grid-column:span 1}.two-col{grid-template-columns:1fr}.program-detail,.program-detail:nth-child(even){grid-template-columns:1fr}.program-detail:nth-child(even) .program-detail-image{order:0}}
@media (max-width:720px){:root{--container:min(100% - 28px,1180px)}.announcement{font-size:.77rem}.info-bar{display:none}.nav{height:72px}.brand img{width:75px}.nav-links.mobile-open{top:72px}.section{padding:68px 0}.hero-grid{padding:54px 0 72px;gap:28px}.hero h1{font-size:3.4rem}.hero p{font-size:1rem}.hero-media{min-height:410px}.hero-photo{width:340px;height:340px;border-width:8px}.hero-blob{width:355px;height:350px}.hero-note{bottom:8px;font-size:.95rem;padding:13px 16px}.trust-grid{grid-template-columns:1fr;gap:16px}.microbar{flex-direction:column;gap:4px}.programs-head,.parents-head{display:block}.programs-head .btn,.parents-head .btn{margin-top:20px}.program-grid{grid-template-columns:1fr}.program-card{min-height:auto}.program-card img{height:240px}.photo-stack{min-height:390px}.photo-stack .main{width:88%;height:340px}.photo-stack .mini{height:180px}.feature-cards{grid-template-columns:1fr}.learning-collage{grid-template-columns:1fr}.learning-collage img:first-child,.learning-collage img:last-child{height:320px;transform:none}.notice-grid,.testimonial-grid{grid-template-columns:1fr}.board,.parents-board-page{padding:26px 20px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid button,.gallery-grid button:nth-child(1),.gallery-grid button:nth-child(4){grid-row:auto;grid-column:auto;height:280px}.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.resource-grid{grid-template-columns:1fr}.gallery-full{grid-template-columns:1fr}.gallery-full button{height:300px;transform:none!important}.page-hero{padding:68px 0 58px}.program-detail{padding:22px}.program-detail-image img{height:280px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* final specificity fixes */
:root{--pink-soft:#fff0f7}
.parents-preview .eyebrow{color:var(--yellow)!important}
body[data-page="parents"] .page-hero .eyebrow{color:var(--yellow)!important}
body[data-page="about"] .page-hero .eyebrow,body[data-page="tour"] .page-hero .eyebrow,body[data-page="contact"] .page-hero .eyebrow,body[data-page="enrollment"] .page-hero .eyebrow{color:var(--navy)!important}
.content-card .family-bullet p{color:var(--text)}
.content-card .family-bullet .icon{background:var(--yellow)!important;color:var(--navy);font-weight:900}
body[data-page="parents"] .page-hero .section-title{color:#fff}
body[data-page="parents"] .page-hero .section-copy{color:#fff}


/* =========================================================
   V3 — APPROVED PROTOTYPE #1 COLOR + TORN-PAPER ART DIRECTION
   No muted navy typography. Bright logo palette throughout.
   ========================================================= */
:root{
  --navy:#111111;
  --navy-deep:#111111;
  --ink:#111111;
  --text:#161616;
  --line:rgba(0,0,0,.14);
  --shadow:0 20px 45px rgba(0,0,0,.15);
  --shadow-sm:0 10px 24px rgba(0,0,0,.12);
}
body{color:#111;background:#fff8e8}
.section-copy,.hero p,.trust-item p,.feature-card p,.notice p,.testimonial p,.resource-card p,.program-detail ul,.page-hero .section-copy,.breadcrumbs,.field label{color:#111!important}
.section-title,.hero h1,.program-card,.program-card h3,.feature-card h3,.notice h3,.testimonial footer,.microbar,.nav-links,.nav-actions,.page-hero,.content-card,.program-detail,.field input,.field select,.field textarea,.filter-btn{color:#111!important}

/* bright header — remove navy bars */
.announcement{background:linear-gradient(90deg,#f244a4 0%,#ff6f73 40%,#ff873d 72%,#ffd338 100%);color:#111;border-bottom:3px solid #fff}
.announcement a{color:#111;font-weight:900}
.info-bar{background:#34c2f3;color:#111;border-bottom:3px solid #ffd338}
.info-inner{color:#111}
.site-header{border-bottom:4px solid #f244a4;box-shadow:0 5px 0 #ffd338}
.btn-secondary{background:#fff;color:#111;border-color:#111}
.btn-yellow,.btn-white{color:#111}
.menu-btn{color:#111}

/* home hero — stronger Prototype #1 look + photo meshes into torn yellow break */
.hero{min-height:690px;background:#fff8e8;overflow:visible;z-index:5;padding-bottom:26px}
.hero::before{right:-80px;top:18px;width:690px;height:600px;background:#8be5ff;opacity:.72;border-radius:48% 0 0 52% / 42% 0 0 58%}
.hero::after{left:-85px;bottom:10px;width:360px;height:210px;background:#ff8bc4;opacity:.55;border-radius:50% 50% 40% 60%}
.hero-grid{padding:66px 0 80px;position:relative;z-index:6}
.hero-kicker{color:#111;border-color:#111;background:#fff;border-width:2px;box-shadow:4px 4px 0 #ffd338}
.hero h1{color:#111}
.hero h1 .blue{color:#2f7af8}
.hero h1 .family-green{color:#7ccc3f}
.hero h1 .pink{color:#f244a4}
.hero-media{min-height:535px;z-index:9}
.hero-blob{background:#ffd338;right:-12px;top:-8px;width:530px;height:520px;opacity:1}
.hero-photo{top:15px;width:500px;height:515px;border:12px solid #fff;box-shadow:0 18px 0 rgba(242,68,164,.20),0 28px 55px rgba(0,0,0,.18);z-index:7;clip-path:polygon(5% 0,96% 2%,100% 11%,98% 89%,93% 100%,6% 98%,0 90%,2% 9%)}
.hero-note{bottom:-8px;left:18px;color:#111;box-shadow:8px 9px 0 #ffd338,0 18px 36px rgba(0,0,0,.12)}
.hero-airplane{color:#f244a4}
.hero-mini-trust{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px;max-width:640px}
.hero-mini-trust span{display:inline-flex;align-items:center;background:#fff;border:3px solid #111;border-radius:999px;padding:7px 11px;font-size:.79rem;font-weight:900;box-shadow:4px 4px 0 #ffd338}

/* direct hero-to-program transition: torn yellow rises into hero and photo overlaps it */
.programs{margin-top:0;padding-top:112px;z-index:3}
.programs.torn-top::after{top:-30px;height:65px;background:#ffd338;clip-path:polygon(0 58%,3% 72%,7% 42%,11% 66%,15% 35%,19% 70%,23% 41%,28% 69%,32% 31%,37% 61%,42% 39%,47% 68%,52% 30%,57% 65%,62% 35%,67% 70%,72% 42%,77% 64%,82% 34%,87% 70%,92% 39%,96% 62%,100% 47%,100% 100%,0 100%)}
.programs::before{background-image:none!important}
.programs-head .section-copy{color:#111!important}

/* prototype #1 uses one colorful row on desktop */
@media (min-width:1100px){
  .program-grid{grid-template-columns:repeat(6,1fr);gap:14px}
  .program-card{min-height:335px;border-radius:25px;padding:10px 10px 20px;border-width:4px}
  .program-card img{height:145px;border-radius:18px;border-width:4px}
  .program-card::before{top:143px;height:22px}
  .program-card h3{font-size:1.28rem;margin:15px 5px 4px}
  .program-card p{font-size:.76rem;line-height:1.35;margin:0 5px;padding-right:24px}
  .program-card .arrow{width:34px;height:34px;right:10px;bottom:10px}
}

/* remove dull dark blue section — use bright logo colors */
.family{background:#7ccc3f;color:#111}
.family .eyebrow{color:#f244a4}
.family .section-copy,.family-bullet p{color:#111!important}
.family-bullet .icon{background:#ffd338!important;color:#111!important;border:3px solid #fff;box-shadow:4px 4px 0 rgba(0,0,0,.10)}
.features{background:#ff82bf}
.features .section-copy{color:#111!important}
.learning{background:#ff873d;color:#111}
.learning .section-copy{color:#111!important}
.director{background:#8be5ff;color:#111}
.parents-preview{background:#b879ff;color:#111}
.parents-preview .section-title,.parents-preview .section-copy{color:#111!important}
.parents-preview .eyebrow{color:#ffd338!important;text-shadow:1px 1px 0 #111}
.parents-preview .btn-purple{background:#ffd338;color:#111;border:3px solid #111}
.testimonials{background:#ffe778;color:#111}
.gallery-section{background:#7fe1ff;color:#111}
.final-cta{background:#f244a4;color:#111}
.final-cta p{color:#111}
.final-cta .btn-white{border:3px solid #111}
.shape-row span{background:#fff;opacity:.6}

/* cards: black copy instead of muted blue */
.feature-card p,.notice p,.testimonial p,.program-card p,.resource-card p{color:#111!important}
.notice .tag{background:#fff1a8;color:#111}
.testimonial footer{color:#111!important}

/* footer is bright purple, not navy */
.footer{background:#8e54e9;color:#fff;border-top-color:#ffd338}
.footer h4{color:#ffd338}
.footer p,.footer a{color:#fff}
.footer-bottom{color:#fff;border-top-color:rgba(255,255,255,.35)}
.footer::after{content:'✦  ●  ★  ▲  ◆  ●  ✦';position:absolute;right:5%;top:38px;font-size:2rem;letter-spacing:.5rem;color:rgba(255,255,255,.22);font-family:'Fredoka',sans-serif}

/* internal page heroes and cards — keep all copy black on bright fields */
.page-hero{color:#111}
.page-hero .section-title,.page-hero .section-copy,.page-hero .eyebrow,.breadcrumbs{color:#111!important}
body[data-page="parents"] .page-hero{background:#b879ff;color:#111}
body[data-page="parents"] .page-hero .section-title,body[data-page="parents"] .page-hero .section-copy,body[data-page="parents"] .page-hero .eyebrow{color:#111!important}
body[data-page="about"] .page-hero .eyebrow,body[data-page="tour"] .page-hero .eyebrow,body[data-page="contact"] .page-hero .eyebrow,body[data-page="enrollment"] .page-hero .eyebrow{color:#111!important}
.page-hero::before{content:'';position:absolute;left:-1%;bottom:-1px;width:102%;height:34px;background:#fff;clip-path:polygon(0 54%,4% 72%,8% 39%,12% 68%,16% 34%,20% 69%,24% 42%,28% 67%,32% 31%,36% 64%,40% 39%,44% 70%,48% 33%,52% 66%,56% 40%,60% 68%,64% 32%,68% 70%,72% 39%,76% 66%,80% 34%,84% 70%,88% 39%,92% 64%,96% 42%,100% 56%,100% 100%,0 100%);z-index:4}
.content-card{color:#111;box-shadow:0 10px 0 rgba(0,0,0,.10),0 18px 28px rgba(0,0,0,.10)}
.field input,.field select,.field textarea{color:#111;border-color:rgba(0,0,0,.16)}
.filter-btn{color:#111}
.program-detail ul{color:#111!important}
.lightbox-close{color:#111}

/* eliminate remaining dull shadow blues */
.program-card,.program-detail,.gallery-grid button,.gallery-full button,.board,.notice,.director-letter,.testimonial,.content-card{box-shadow:0 10px 0 rgba(0,0,0,.10),0 20px 36px rgba(0,0,0,.12)}

@media (max-width:1000px){
  .hero{overflow:hidden}
  .hero-mini-trust{justify-content:center}
  .programs{padding-top:90px}
}
@media (max-width:720px){
  .hero{padding-bottom:0}
  .hero h1{font-size:3.15rem}
  .hero-photo{width:350px;height:350px;clip-path:polygon(5% 0,96% 2%,100% 11%,98% 89%,93% 100%,6% 98%,0 90%,2% 9%)}
  .hero-note{bottom:4px}
  .hero-mini-trust span{font-size:.72rem}
  .programs{padding-top:82px}
}

/* V3.1 hero/photo tear integration */
@media (min-width:1001px){
  .hero-media{transform:translateY(48px)}
  .programs.torn-top::after{filter:drop-shadow(0 -8px 0 #fff)}
}


/* =========================================================
   V4 — HOME TRANSITION + HERO REPAIR
   Dedicated separators prevent decorative pseudo-elements from
   overriding the torn-paper transitions on the homepage.
   ========================================================= */

/* Hero: restore the Prototype #1 composition and keep the photo readable. */
body[data-page="home"] .hero{
  min-height:680px;
  overflow:visible;
  z-index:25;
  padding-bottom:24px;
}
body[data-page="home"] .hero-grid{
  padding:64px 0 88px;
  align-items:center;
}
body[data-page="home"] .hero-media{
  min-height:340px;
  transform:none!important;
  z-index:30;
}
body[data-page="home"] .hero-blob{
  width:564px;
  height:auto;
  aspect-ratio:1320/745;
  right:-10px;
  top:2px;
  border-radius:24px;
  transform:rotate(4deg);
}
body[data-page="home"] .hero-photo{
  width:540px;
  height:auto;
  aspect-ratio:1320/745;
  right:10px;
  top:12px;
  bottom:auto;
  border-radius:20px;
  clip-path:none;
  object-position:center center;
  border:11px solid #fff;
  box-shadow:0 13px 0 #ffd338,0 23px 0 rgba(242,68,164,.22),0 32px 48px rgba(0,0,0,.16);
  z-index:8;
}
body[data-page="home"] .hero-note{
  left:-4px;
  bottom:-8px;
  width:245px;
  max-width:245px;
  padding:16px 18px;
  z-index:14;
  border:4px solid #fff;
  box-shadow:9px 10px 0 #ffd338,0 18px 34px rgba(0,0,0,.12);
}
body[data-page="home"] .hero-airplane{z-index:15;left:112px;top:-19px}
body[data-page="home"] .hero h1 .family-green{color:#86d83f}

/* Keep most copy black, but let strong dark/bright fields use white type when it improves contrast. */
body[data-page="home"] .parents-preview{color:#fff}
body[data-page="home"] .parents-preview .section-title,
body[data-page="home"] .parents-preview .section-copy{color:#fff!important}
body[data-page="home"] .parents-preview .eyebrow{color:#ffd338!important;text-shadow:none}
body[data-page="home"] .parents-preview .parents-head>.btn{
  background:#ffd338;
  color:#111;
  border:3px solid #fff;
}
body[data-page="home"] .parents-preview .board,
body[data-page="home"] .parents-preview .notice,
body[data-page="home"] .parents-preview .notice p,
body[data-page="home"] .parents-preview .notice h3{color:#111!important}

/* Dedicated homepage scene breaks. These deliberately sit across BOTH sections,
   so the edge reads as paper/paint instead of a straight colored line. */
.scene-break{
  --break:#ffd338;
  position:relative;
  height:78px;
  margin-top:-48px;
  margin-bottom:-30px;
  z-index:20;
  pointer-events:none;
  overflow:visible;
}
.scene-break::before,
.scene-break::after{
  content:"";
  position:absolute;
  left:-1%;
  width:102%;
  height:78px;
  clip-path:polygon(0 48%,3% 64%,6% 40%,9% 62%,12% 35%,15% 67%,19% 42%,23% 63%,27% 37%,31% 66%,35% 41%,39% 60%,43% 34%,47% 67%,51% 39%,55% 63%,59% 36%,63% 66%,67% 42%,71% 61%,75% 35%,79% 68%,83% 40%,87% 63%,91% 36%,95% 66%,100% 46%,100% 100%,0 100%);
}
.scene-break::before{
  top:0;
  background:#fff;
  filter:drop-shadow(0 -2px 0 rgba(0,0,0,.04));
}
.scene-break::after{
  top:9px;
  background:var(--break);
}
.scene-break-wave::before,
.scene-break-wave::after{
  clip-path:polygon(0 55%,4% 44%,8% 50%,12% 38%,16% 48%,20% 42%,24% 54%,28% 46%,32% 57%,36% 43%,40% 49%,44% 39%,48% 53%,52% 45%,56% 56%,60% 41%,64% 50%,68% 38%,72% 54%,76% 45%,80% 58%,84% 42%,88% 51%,92% 40%,96% 54%,100% 46%,100% 100%,0 100%);
}
.scene-break-rip::before,
.scene-break-rip::after{
  clip-path:polygon(0 58%,2% 34%,5% 63%,8% 40%,11% 68%,14% 36%,17% 61%,20% 43%,24% 66%,28% 35%,32% 62%,36% 42%,40% 69%,44% 38%,48% 61%,52% 44%,56% 68%,60% 36%,64% 62%,68% 41%,72% 67%,76% 35%,80% 64%,84% 42%,88% 68%,92% 37%,96% 61%,100% 45%,100% 100%,0 100%);
}
.scene-break-yellow{--break:#ffd338}
.scene-break-green{--break:#7ccc3f}
.scene-break-pink{--break:#ff82bf}
.scene-break-orange{--break:#ff873d}
.scene-break-sky{--break:#8be5ff}
.scene-break-purple{--break:#b879ff}
.scene-break-hotpink{--break:#f244a4}

/* Prototype hero edge: yellow paper rises into the photo, with the photo floating above it. */
.hero-program-break{
  height:92px;
  margin-top:-64px;
  margin-bottom:-28px;
  z-index:20;
}
.hero-program-break::before,
.hero-program-break::after{height:92px}
.hero-program-break::before{
  clip-path:polygon(0 63%,4% 72%,8% 51%,12% 67%,16% 48%,20% 73%,25% 53%,30% 69%,35% 46%,40% 70%,45% 52%,50% 68%,55% 47%,60% 72%,65% 51%,70% 67%,75% 45%,80% 71%,85% 50%,90% 68%,95% 48%,100% 62%,100% 100%,0 100%);
}
.hero-program-break::after{
  top:10px;
  clip-path:polygon(0 63%,4% 72%,8% 51%,12% 67%,16% 48%,20% 73%,25% 53%,30% 69%,35% 46%,40% 70%,45% 52%,50% 68%,55% 47%,60% 72%,65% 51%,70% 67%,75% 45%,80% 71%,85% 50%,90% 68%,95% 48%,100% 62%,100% 100%,0 100%);
}

/* The separate scene breaks now provide spacing, so sections should not create
   additional pseudo-paper seams at the top on the homepage. */
body[data-page="home"] .programs{padding-top:96px;margin-top:0;z-index:3}
body[data-page="home"] .family,
body[data-page="home"] .features,
body[data-page="home"] .learning,
body[data-page="home"] .director,
body[data-page="home"] .parents-preview,
body[data-page="home"] .testimonials,
body[data-page="home"] .gallery-section,
body[data-page="home"] .final-cta{z-index:2}

@media (max-width:1000px){
  body[data-page="home"] .hero{overflow:hidden;min-height:auto;padding-bottom:0}
  body[data-page="home"] .hero-media{min-height:300px}
  body[data-page="home"] .hero-photo{width:443px;height:auto;aspect-ratio:1320/745;left:50%;right:auto;transform:translateX(-50%);border-radius:16px}
  body[data-page="home"] .hero-blob{width:468px;height:auto;aspect-ratio:1320/745;left:50%;right:auto;transform:translateX(-50%) rotate(4deg);border-radius:20px}
  body[data-page="home"] .hero-note{left:50%;transform:translateX(-76%);bottom:18px}
  .scene-break{margin-top:-38px;margin-bottom:-25px;height:68px}
  .scene-break::before,.scene-break::after{height:68px}
}
@media (max-width:720px){
  body[data-page="home"] .hero-grid{padding:52px 0 72px}
  body[data-page="home"] .hero-media{min-height:250px}
  body[data-page="home"] .hero-photo{width:367px;height:auto;aspect-ratio:1320/745;border-width:8px;border-radius:14px}
  body[data-page="home"] .hero-blob{width:388px;height:auto;aspect-ratio:1320/745;border-radius:18px}
  body[data-page="home"] .hero-note{width:220px;max-width:220px;bottom:12px;font-size:.9rem}
  .scene-break{height:58px;margin-top:-32px;margin-bottom:-20px}
  .scene-break::before,.scene-break::after{height:58px}
  .hero-program-break{height:66px;margin-top:-42px;margin-bottom:-18px}
  .hero-program-break::before,.hero-program-break::after{height:66px}
}

/* =========================================================
   V5 — CLEAN COLOR-ONLY SECTION EDGES
   Remove the white backing/outline from zig-zag separators.
   ========================================================= */

/* Homepage uses dedicated color separators; remove their white under-layer. */
body[data-page="home"] .scene-break::before{
  display:none !important;
}
body[data-page="home"] .scene-break::after{
  top:0 !important;
  filter:none !important;
}
body[data-page="home"] .hero-program-break::after{
  top:0 !important;
}

/* Avoid a second torn edge/shadow from legacy section classes on the homepage. */
body[data-page="home"] .torn-top::after,
body[data-page="home"] .torn-bottom::before{
  display:none !important;
}
body[data-page="home"] .programs.torn-top::after{
  filter:none !important;
}

/* Interior page heroes: the colored hero itself forms the torn edge.
   This removes the thick white zig-zag strip while keeping the shape. */
.page-hero::before{
  background:inherit !important;
}


/* =========================================================
   V6 — HERO → PROGRAMS EDGE
   Keep this edge attached to the hero so it cannot collapse
   into the yellow Programs section. No white backing layer.
   ========================================================= */
body[data-page="home"] .hero-bottom-zigzag{
  position:absolute;
  left:-1%;
  bottom:-1px;
  width:102%;
  height:76px;
  background:#ffd338;
  z-index:4;
  pointer-events:none;
  clip-path:polygon(
    0 72%, 3% 57%, 6% 73%, 9% 49%, 12% 70%, 15% 52%,
    18% 75%, 21% 55%, 24% 68%, 27% 47%, 30% 72%, 33% 54%,
    36% 76%, 39% 51%, 42% 69%, 45% 46%, 48% 73%, 51% 53%,
    54% 76%, 57% 50%, 60% 70%, 63% 48%, 66% 74%, 69% 55%,
    72% 69%, 75% 47%, 78% 73%, 81% 52%, 84% 75%, 87% 50%,
    90% 70%, 93% 54%, 96% 74%, 100% 58%, 100% 100%, 0 100%
  );
}
body[data-page="home"] .programs{
  padding-top:112px;
}
@media (max-width:1000px){
  body[data-page="home"] .hero-bottom-zigzag{height:64px}
  body[data-page="home"] .programs{padding-top:96px}
}
@media (max-width:720px){
  body[data-page="home"] .hero-bottom-zigzag{height:52px}
  body[data-page="home"] .programs{padding-top:84px}
}

/* =========================================================
   V7 — EVERY HOMEPAGE SECTION GETS A VISIBLE COLOR-ONLY ZIGZAG
   The separator is the NEXT section's color and overlaps both
   sections. No white backing, no straight joins.
   ========================================================= */
body[data-page="home"] .scene-break{
  position:relative !important;
  display:block !important;
  height:62px !important;
  margin:-1px 0 -62px !important;
  z-index:30 !important;
  overflow:visible !important;
  pointer-events:none !important;
  background:transparent !important;
}
body[data-page="home"] .scene-break::before{
  display:none !important;
}
body[data-page="home"] .scene-break::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  left:-1% !important;
  top:0 !important;
  width:102% !important;
  height:62px !important;
  background:var(--break) !important;
  filter:none !important;
  clip-path:polygon(
    0 58%, 2.5% 42%, 5% 65%, 7.5% 38%, 10% 63%, 12.5% 44%,
    15% 67%, 17.5% 40%, 20% 61%, 22.5% 36%, 25% 66%, 27.5% 43%,
    30% 64%, 32.5% 39%, 35% 68%, 37.5% 42%, 40% 62%, 42.5% 37%,
    45% 66%, 47.5% 44%, 50% 63%, 52.5% 38%, 55% 68%, 57.5% 41%,
    60% 62%, 62.5% 36%, 65% 66%, 67.5% 43%, 70% 64%, 72.5% 39%,
    75% 68%, 77.5% 42%, 80% 62%, 82.5% 37%, 85% 66%, 87.5% 44%,
    90% 63%, 92.5% 38%, 95% 67%, 97.5% 43%, 100% 58%,
    100% 100%, 0 100%
  ) !important;
}
/* Keep all separator variants on one consistent zig-zag language. */
body[data-page="home"] .scene-break-wave::after,
body[data-page="home"] .scene-break-rip::after{
  clip-path:polygon(
    0 58%, 2.5% 42%, 5% 65%, 7.5% 38%, 10% 63%, 12.5% 44%,
    15% 67%, 17.5% 40%, 20% 61%, 22.5% 36%, 25% 66%, 27.5% 43%,
    30% 64%, 32.5% 39%, 35% 68%, 37.5% 42%, 40% 62%, 42.5% 37%,
    45% 66%, 47.5% 44%, 50% 63%, 52.5% 38%, 55% 68%, 57.5% 41%,
    60% 62%, 62.5% 36%, 65% 66%, 67.5% 43%, 70% 64%, 72.5% 39%,
    75% 68%, 77.5% 42%, 80% 62%, 82.5% 37%, 85% 66%, 87.5% 44%,
    90% 63%, 92.5% 38%, 95% 67%, 97.5% 43%, 100% 58%,
    100% 100%, 0 100%
  ) !important;
}
/* Hero → Programs uses the same edge, but stays underneath the hero photo. */
body[data-page="home"] .hero-bottom-zigzag{
  height:62px !important;
  bottom:-1px !important;
  background:#ffd338 !important;
  clip-path:polygon(
    0 58%, 2.5% 42%, 5% 65%, 7.5% 38%, 10% 63%, 12.5% 44%,
    15% 67%, 17.5% 40%, 20% 61%, 22.5% 36%, 25% 66%, 27.5% 43%,
    30% 64%, 32.5% 39%, 35% 68%, 37.5% 42%, 40% 62%, 42.5% 37%,
    45% 66%, 47.5% 44%, 50% 63%, 52.5% 38%, 55% 68%, 57.5% 41%,
    60% 62%, 62.5% 36%, 65% 66%, 67.5% 43%, 70% 64%, 72.5% 39%,
    75% 68%, 77.5% 42%, 80% 62%, 82.5% 37%, 85% 66%, 87.5% 44%,
    90% 63%, 92.5% 38%, 95% 67%, 97.5% 43%, 100% 58%,
    100% 100%, 0 100%
  ) !important;
}
/* The next section begins under the separator, giving a continuous color field. */
body[data-page="home"] .family,
body[data-page="home"] .features,
body[data-page="home"] .learning,
body[data-page="home"] .director,
body[data-page="home"] .parents-preview,
body[data-page="home"] .testimonials,
body[data-page="home"] .gallery-section,
body[data-page="home"] .final-cta{
  padding-top:122px !important;
}
body[data-page="home"] .programs{padding-top:112px !important;}
/* Last section should also zig-zag into the footer. */
body[data-page="home"] .scene-break-footer{--break:#8e54e9;}
body[data-page="home"] .footer{border-top:0 !important;padding-top:100px;}
body[data-page="home"] .footer::before{display:none !important;}

@media (max-width:1000px){
  body[data-page="home"] .scene-break{height:54px !important;margin:-1px 0 -54px !important;}
  body[data-page="home"] .scene-break::after{height:54px !important;}
  body[data-page="home"] .hero-bottom-zigzag{height:54px !important;}
  body[data-page="home"] .family,
  body[data-page="home"] .features,
  body[data-page="home"] .learning,
  body[data-page="home"] .director,
  body[data-page="home"] .parents-preview,
  body[data-page="home"] .testimonials,
  body[data-page="home"] .gallery-section,
  body[data-page="home"] .final-cta{padding-top:108px !important;}
}
@media (max-width:720px){
  body[data-page="home"] .scene-break{height:46px !important;margin:-1px 0 -46px !important;}
  body[data-page="home"] .scene-break::after{height:46px !important;}
  body[data-page="home"] .hero-bottom-zigzag{height:46px !important;}
  body[data-page="home"] .family,
  body[data-page="home"] .features,
  body[data-page="home"] .learning,
  body[data-page="home"] .director,
  body[data-page="home"] .parents-preview,
  body[data-page="home"] .testimonials,
  body[data-page="home"] .gallery-section,
  body[data-page="home"] .final-cta{padding-top:94px !important;}
}


/* =========================================================
   V10 FLAT SECTION + FULL-WIDTH DIVIDER SAFETY OVERRIDES
   ========================================================= */
main,#siteFooter{overflow-x:clip;}
main,.section,.page-hero,.footer{max-width:none;}
.section,.page-hero{background-image:none;}
.programs,.family,.features,.learning,.director,.parents-preview,.testimonials,.gallery-section,.final-cta{background-image:none!important;}
.programs::after,.director::after{ /* decorative shapes may remain */ }
.board,.parents-board-page{background-image:none!important;}
.paper-dots{background-image:none!important;}

/* =========================================================
   V22 PHOTO UPDATE
   ========================================================= */
.gallery-groups{display:grid;gap:54px}.gallery-group{display:grid;gap:18px}.gallery-group-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.gallery-group-head h2{margin:0;font:700 clamp(1.8rem,3vw,2.7rem)/1.05 Fredoka,sans-serif;color:#111}.gallery-group-head p{margin:6px 0 0;max-width:680px;color:#333}.gallery-grid-v22{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.gallery-grid-v22 button{grid-column:span 4;border:0;padding:0;background:none;border-radius:24px;overflow:hidden;box-shadow:0 12px 25px rgba(0,0,0,.12);cursor:pointer}.gallery-grid-v22 button.wide{grid-column:span 6}.gallery-grid-v22 img{display:block;width:100%;height:300px;object-fit:cover}.event-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.event-photo-card{background:#fff;border:3px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.12)}.event-photo-card img{width:100%;height:230px;object-fit:cover;display:block}.event-photo-card .event-copy{padding:16px}.event-photo-card h3{margin:0 0 6px;font-family:Fredoka,sans-serif;font-size:1.35rem;color:#111}.event-photo-card p{margin:0;color:#333}.program-detail-image img,.program-card img{object-fit:cover}.program-card img{object-position:center}.program-detail-image img{object-position:center}.program-detail[data-program="infant"] img{object-position:center 38%}.program-detail[data-program="toddler"] img{object-position:center 38%}.program-detail[data-program="preschool"] img{object-position:center 40%}.program-detail[data-program="prek"] img{object-position:center 45%}.program-detail[data-program="schoolage"] img{object-position:center 40%}.program-detail[data-program="summer"] img{object-position:center 40%}.learning-collage img{object-fit:cover}.learning-collage img:first-child{object-position:center 45%}.learning-collage img:last-child{object-position:center 45%}
@media(max-width:900px){.gallery-grid-v22 button,.gallery-grid-v22 button.wide{grid-column:span 6}.event-strip{grid-template-columns:1fr 1fr}.gallery-grid-v22 img{height:260px}}
@media(max-width:620px){.gallery-grid-v22{gap:12px}.gallery-grid-v22 button,.gallery-grid-v22 button.wide{grid-column:span 12}.gallery-grid-v22 img{height:280px}.event-strip{grid-template-columns:1fr}.gallery-group-head{align-items:start;flex-direction:column}.event-photo-card img{height:260px}}

/* =========================================================
   V23 — WHITE PHOTO FRAMES + LAYERED SHADOWS
   Restores the playful framed-photo treatment used elsewhere.
   ========================================================= */
.gallery-grid-v22 button{
  background:#fff;
  border:8px solid #fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 9px 0 rgba(21,52,95,.10),0 18px 34px rgba(0,0,0,.16);
}
.gallery-grid-v22 button:nth-child(odd){transform:rotate(-.45deg)}
.gallery-grid-v22 button:nth-child(even){transform:rotate(.45deg)}
.gallery-grid-v22 button:hover{transform:translateY(-5px) rotate(0deg)}

.event-photo-card{
  border:8px solid #fff;
  box-shadow:0 9px 0 rgba(21,52,95,.10),0 18px 34px rgba(0,0,0,.16);
}

.program-detail-image img{
  border:9px solid #fff;
  box-shadow:0 10px 0 rgba(21,52,95,.10),0 20px 36px rgba(0,0,0,.16);
}

/* Homepage program photos already have a white border; deepen the layered shadow. */
.program-card img{
  border:7px solid #fff;
  box-shadow:0 7px 0 rgba(21,52,95,.10),0 14px 26px rgba(0,0,0,.14);
}

/* Give V22 curriculum / activity photography the same framed-photo language. */
.learning-collage img{
  border:10px solid #fff;
  box-shadow:0 11px 0 rgba(21,52,95,.10),0 22px 38px rgba(0,0,0,.17);
}

@media(max-width:620px){
  .gallery-grid-v22 button{border-width:6px}
  .event-photo-card{border-width:6px}
  .program-detail-image img,.learning-collage img{border-width:7px}
}


/* =========================================================
   V24 — SMOOTH PHOTO HOVER MOTION
   Keeps V23 framing intact while making hover movement fluid.
   ========================================================= */
.gallery-grid-v22 button,
.event-photo-card,
.program-detail-image img,
.program-card img,
.learning-collage img {
  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    box-shadow .38s cubic-bezier(.22,.61,.36,1),
    filter .38s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.gallery-grid-v22 button:hover {
  transform: translate3d(0,-7px,0) rotate(0deg) scale(1.012);
  box-shadow: 0 11px 0 rgba(21,52,95,.10), 0 24px 42px rgba(0,0,0,.18);
}

.event-photo-card:hover {
  transform: translate3d(0,-6px,0) scale(1.008);
  box-shadow: 0 11px 0 rgba(21,52,95,.10), 0 24px 40px rgba(0,0,0,.18);
}

.program-detail-image img:hover,
.program-card:hover img,
.learning-collage img:hover {
  transform: translate3d(0,-5px,0) scale(1.012);
  box-shadow: 0 11px 0 rgba(21,52,95,.10), 0 22px 40px rgba(0,0,0,.18);
}

/* Keep the resting gallery-card rotation, but animate into and out of it smoothly. */
.gallery-grid-v22 button:nth-child(odd) { transform: rotate(-.45deg) translateZ(0); }
.gallery-grid-v22 button:nth-child(even) { transform: rotate(.45deg) translateZ(0); }
.gallery-grid-v22 button:nth-child(odd):hover,
.gallery-grid-v22 button:nth-child(even):hover {
  transform: translate3d(0,-7px,0) rotate(0deg) scale(1.012);
}

@media (prefers-reduced-motion: reduce) {
  .gallery-grid-v22 button,
  .event-photo-card,
  .program-detail-image img,
  .program-card img,
  .learning-collage img {
    transition: none;
  }
}
