
:root{--green:#5f8f2f;--green-dark:#37651f;--cream:#fff8ec;--cream2:#f6efdf;--brown:#3d2418;--red:#c8343c;--purple:#7250a8;--blue:#2688bd;--gold:#e0b640;--text:#2f2b27;--muted:#6b6259;--white:#fff;--shadow:0 18px 45px rgba(56,38,20,.14);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--cream);line-height:1.6}h1,h2,h3,.brand-title{font-family:"Baloo 2",Inter,sans-serif;line-height:1.05;color:var(--brown)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.topbar{background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;text-align:center;padding:.45rem;font-weight:700;font-size:.9rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,248,236,.92);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(61,36,24,.07)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.logo-wrap{display:flex;align-items:center;gap:13px}.logo{width:82px;height:82px;object-fit:contain}.brand-title{font-size:1.8rem;color:var(--green-dark);margin:0}.brand-sub{font-size:.72rem;letter-spacing:5px;color:var(--brown);font-weight:800;margin-top:-5px}.nav-links{display:flex;gap:22px;align-items:center;font-size:.94rem;font-weight:800}.nav-links a:hover{color:var(--green)}.phone{background:var(--green);color:white;padding:12px 18px;border-radius:999px;box-shadow:0 8px 20px rgba(95,143,47,.28)}.menu-btn{display:none;border:0;background:var(--green);color:#fff;border-radius:12px;padding:10px 13px;font-weight:800}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at top left,#fff 0,#fff7e8 43%,#f3ecd9 100%)}.hero:before{content:"";position:absolute;inset:auto -8% -55px -8%;height:120px;background:var(--green);border-radius:50% 50% 0 0/65% 65% 0 0}.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:38px;align-items:center;padding:70px 0 92px}.eyebrow{color:var(--green);font-weight:900;letter-spacing:.09em;text-transform:uppercase;font-size:.86rem}.hero h1{font-size:clamp(2.8rem,7vw,5.4rem);margin:10px 0 18px}.hero p{font-size:1.14rem;max-width:590px;color:#504840}.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 22px;border-radius:14px;font-weight:900;border:2px solid var(--green);transition:.2s}.btn.primary{background:var(--green);color:#fff}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.hero-card{position:relative;min-height:440px;border-radius:46% 16% 46% 16%;background:linear-gradient(140deg,rgba(255,255,255,.9),rgba(255,255,255,.35)),url("images/home-building-rainbow.jpg") center/cover;box-shadow:var(--shadow);overflow:hidden}.floating-note{position:absolute;left:24px;bottom:24px;background:#fff;padding:18px 20px;border-radius:22px;max-width:270px;box-shadow:var(--shadow);font-weight:800}.stats{position:relative;background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;padding:26px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat{display:flex;align-items:center;gap:14px}.stat-icon{width:56px;height:56px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;font-size:1.55rem;font-weight:900}.section{padding:82px 0}.center{text-align:center}.section h2{font-size:clamp(2.1rem,4vw,3.5rem);margin:8px 0}.section-intro{max-width:740px;margin:0 auto 38px;color:var(--muted);font-size:1.08rem}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.program{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;position:relative;transition:.2s}.program:hover{transform:translateY(-5px)}.program-img{height:170px;background-size:cover;background-position:center}.program-body{padding:24px;text-align:center}.badge{width:62px;height:62px;margin:-55px auto 10px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.7rem;border:6px solid #fff}.infant{background:#4e9bc2}.toddler{background:var(--purple)}.preschool{background:var(--red)}.school{background:var(--green)}.program h3{font-size:1.7rem;margin:0 0 8px}.split{background:linear-gradient(110deg,var(--green-dark),var(--green));color:#fff;overflow:hidden}.split-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:42px}.split h2{color:#fff}.split p{color:#fffdf4}.split-img{min-height:360px;border-radius:42% 12% 42% 12%;background:url("images/home-craft-smile.jpg") center/cover;box-shadow:var(--shadow)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(56,38,20,.09)}.feature b{display:block;margin-bottom:6px;color:var(--brown)}.cta{background:#fff;border-radius:42px;padding:46px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;box-shadow:var(--shadow)}.form-page{padding:62px 0}.form-card{background:#fff;border-radius:34px;padding:34px;box-shadow:var(--shadow)}form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{font-weight:900;color:var(--brown);font-size:.92rem}input,select,textarea{width:100%;margin-top:6px;border:1.5px solid #ded3c2;border-radius:14px;padding:13px 14px;font:inherit;background:#fffaf2}textarea{min-height:120px}.full{grid-column:1/-1}.submit{cursor:pointer;background:var(--green);color:#fff;border:0;border-radius:14px;padding:15px 20px;font-weight:900;font-size:1rem}.footer{background:var(--brown);color:#fff;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.footer small{color:#d9ccbb}.leaf{position:absolute;opacity:.1;font-size:9rem;color:var(--green);pointer-events:none}.resources{background:linear-gradient(180deg,#fff8ec 0%,#ffffff 100%)}.age-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.age-card{background:#fff;border-radius:26px;padding:24px;box-shadow:var(--shadow);border:1px solid #f0e5d2;text-align:left}.age-card span{display:inline-flex;background:#eef6e7;color:var(--green-dark);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.age-card h3{font-size:1.45rem;margin:14px 0 8px}.age-card p{color:var(--muted);margin:0}.resource-callout{margin-top:28px;background:linear-gradient(110deg,var(--green-dark),var(--green));color:#fff;border-radius:34px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:var(--shadow)}.resource-callout h3{color:#fff;font-size:2rem;margin:4px 0}.resource-callout p{margin:0;color:#fffdf4}.resource-callout .eyebrow{color:#fff2b8;margin:0}.resource-callout .btn.primary{background:#fff;color:var(--green-dark);border-color:#fff;white-space:nowrap}.faq{max-width:850px;margin:auto}.faq details{background:#fff;border-radius:18px;margin:12px 0;padding:18px 22px;box-shadow:0 10px 25px rgba(56,38,20,.07)}.faq summary{cursor:pointer;font-weight:900;color:var(--brown)}@media(max-width:920px){.age-grid{grid-template-columns:repeat(2,1fr)}.resource-callout{grid-template-columns:1fr;text-align:left}.menu-btn{display:block}.nav-links{display:none;position:absolute;left:4%;right:4%;top:105px;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:18px;flex-direction:column}.nav-links.open{display:flex}.hero-grid,.split-grid,.cta{grid-template-columns:1fr}.stats-grid,.features{grid-template-columns:repeat(2,1fr)}.program-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.age-grid{grid-template-columns:1fr}.resource-callout{padding:24px}.resource-callout h3{font-size:1.55rem}.logo{width:62px;height:62px}.brand-title{font-size:1.25rem}.brand-sub{letter-spacing:2px}.hero-grid{padding:42px 0 78px}.hero-card{min-height:310px}.stats-grid,.features,.program-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.section{padding:58px 0}.phone{display:none}.cta,.form-card{padding:26px}.nav-links{top:86px}}

.hidden{display:none!important}.tools{background:#fff}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tool-card{background:var(--cream);border:1px solid #eee1c9;border-radius:26px;padding:24px;box-shadow:0 12px 30px rgba(56,38,20,.08)}.tool-icon{width:58px;height:58px;border-radius:18px;background:#fff;display:grid;place-items:center;font-size:1.7rem;box-shadow:0 10px 24px rgba(56,38,20,.08)}.tool-card h3{font-size:1.45rem;margin:16px 0 8px}.tool-card p{color:var(--muted);margin:0 0 14px}.tool-card a{font-weight:900;color:var(--green-dark)}.portal-strip{background:linear-gradient(110deg,#fff,#f6efdf)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.portal-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-section{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:220px 220px;gap:18px}.gallery-photo{border-radius:28px;background-size:cover;background-position:center;box-shadow:var(--shadow)}.gp1{grid-row:span 2;background-image:url("images/home-swing-smile.jpg")}.gp2{background-image:url("images/home-infant-play.jpg")}.gp3{background-image:url("images/home-classroom-group.jpg")}.gp4{grid-column:span 2;background-image:url("images/home-play-pretend.jpg")}.review-social{background:linear-gradient(110deg,var(--green-dark),var(--green));}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-card{background:#fff;border-radius:32px;padding:32px;box-shadow:var(--shadow)}.extra-form{margin-top:28px}.extra-form h2{font-size:2.2rem;margin:0 0 6px}@media(max-width:920px){.tools-grid{grid-template-columns:repeat(2,1fr)}.portal-grid,.review-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.gp1{grid-row:auto}.gp4{grid-column:span 2}}@media(max-width:560px){.tools-grid,.portal-actions,.gallery-grid{grid-template-columns:1fr}.gp4{grid-column:auto}.gallery-photo{min-height:190px}}
.trust-section{background:linear-gradient(180deg,#fffaf0,#eef7e8)}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.trust-card{background:#fff;border:1px solid rgba(45,84,47,.12);border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(31,73,43,.09)}
.trust-card h3{font-family:"Baloo 2",cursive;font-size:1.55rem;color:var(--green-dark);margin:10px 0 8px}
.trust-card p{color:#55635a;line-height:1.75}
@media (max-width:850px){.trust-grid{grid-template-columns:1fr}}

.monthly-stars{background:linear-gradient(180deg,#fff8ec 0%,#ffffff 100%);position:relative;overflow:hidden}
.monthly-stars:before{content:"★";position:absolute;right:6%;top:30px;font-size:9rem;color:rgba(224,182,64,.13);transform:rotate(14deg)}
.stars-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:34px}
.star-card{background:#fff;border-radius:34px;padding:28px;box-shadow:var(--shadow);border:1px solid #f0e5d2;position:relative;overflow:hidden}
.star-card:after{content:"";position:absolute;right:-44px;bottom:-44px;width:140px;height:140px;border-radius:50%;background:rgba(95,143,47,.09)}
.star-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.star-icon{width:56px;height:56px;border-radius:18px;background:var(--cream);display:grid;place-items:center;font-size:1.8rem;box-shadow:0 10px 24px rgba(56,38,20,.08)}
.star-label{font-weight:900;color:var(--green-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
.star-photo{height:230px;border-radius:26px;margin-bottom:20px;display:grid;place-items:center;font-weight:900;color:#7a6b58;background:linear-gradient(135deg,#f6efdf,#fff8ec);border:2px dashed #d8c7aa}
.teacher-star .star-photo{background:linear-gradient(135deg,#fff8ec,#edf7e7)}
.student-star .star-photo{background:linear-gradient(135deg,#fff7df,#eef6ff)}
.star-card h3{font-size:2rem;margin:0 0 8px;color:var(--brown)}
.star-card p{color:var(--muted);margin:0 0 14px}
.star-card ul{margin:0;padding-left:20px;color:#51483f}
.nomination-note{margin-top:24px;background:var(--green-dark);color:#fff;border-radius:22px;padding:20px 24px;box-shadow:var(--shadow)}
@media(max-width:850px){.stars-grid{grid-template-columns:1fr}.star-photo{height:200px}}

.welcome-banner{display:inline-block;margin-top:20px;background:#fff8dc;border:2px solid #f3c94d;color:#4b3a2a;border-radius:999px;padding:12px 18px;font-weight:900;box-shadow:0 10px 24px rgba(56,38,20,.08)}

/* Team page */
.page-hero{padding:80px 0 55px;background:linear-gradient(135deg,#fff7e8,#eef7df);position:relative;overflow:hidden}.page-hero h1{font-size:clamp(2.6rem,7vw,5rem);margin:.2rem 0;color:var(--brown)}.page-hero p{max-width:760px;margin:auto;color:#5a4b3d;font-size:1.1rem}.director-section{background:#fffaf0}.director-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:44px;align-items:center}.director-photo{width:100%;height:560px;object-fit:cover;object-position:center top;border-radius:34px;box-shadow:0 22px 60px rgba(77,49,31,.18);border:10px solid white}.director-copy{background:white;border-radius:34px;padding:38px;box-shadow:0 18px 50px rgba(77,49,31,.1);text-align:left}.director-copy h2{margin-top:0;color:var(--green-dark)}.director-copy p{font-size:1.04rem;line-height:1.75;color:#4c443d}.family-feature{margin-top:42px;display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#eef7df,#fff);border-radius:30px;padding:24px;box-shadow:0 16px 45px rgba(77,49,31,.09)}.family-feature img{width:100%;height:270px;object-fit:cover;border-radius:22px}.family-feature h3{font-family:'Baloo 2',cursive;font-size:2rem;margin:0;color:var(--brown)}.teacher-section{background:#fff}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:30px;margin-top:35px;text-align:left}.teacher-card{background:#fffaf0;border-radius:30px;overflow:hidden;box-shadow:0 16px 45px rgba(77,49,31,.12);border:1px solid #f2e5cf}.teacher-card img{width:100%;height:430px;object-fit:cover;object-position:center}.teacher-body{padding:26px}.teacher-body h3{font-family:'Baloo 2',cursive;font-size:2.1rem;color:var(--green-dark);margin:0 0 8px}.teacher-body p{line-height:1.7;color:#4c443d;margin:0}@media(max-width:850px){.director-grid,.family-feature,.teacher-grid{grid-template-columns:1fr}.director-photo{height:460px}.teacher-card img{height:420px}}

.hero-card{background-position:center!important;}
.split-img{background-position:center!important;}
.gp1{background-position:center!important;}
.gp2,.gp3,.gp4{background-position:center!important;}

/* Publish-ready image placement */
.hero-card{background-image:linear-gradient(140deg,rgba(255,255,255,.10),rgba(255,255,255,.0)),url("images/home-playground-smile.jpg")!important;background-position:center 48%!important;border-radius:42px;}
.split-img{background-image:url("images/home-science-activity.jpg")!important;background-position:center 45%!important;}
.program-img{height:190px;background-position:center center;}
.gallery-photo{min-height:240px;background-size:cover;background-position:center;}
.gp1{background-image:url("images/home-swing-smile.jpg")!important;background-position:center 42%!important;}
.gp2{background-image:url("images/home-infant-play.jpg")!important;background-position:center 35%!important;}
.gp3{background-image:url("images/home-classroom-group.jpg")!important;background-position:center 38%!important;}
.gp4{background-image:url("images/home-play-pretend.jpg")!important;background-position:center 34%!important;}
.gp5{background-image:url("images/craft-table.jpg")!important;background-position:center 35%!important;}
.gp6{background-image:url("images/planting-boys.jpg")!important;background-position:center 38%!important;}
.gallery-grid{grid-template-columns:1fr 1fr 1fr;grid-template-rows:230px 230px;}
.gp1{grid-row:span 2}.gp4{grid-column:auto}.gp6{grid-column:span 2}
.activity-strip{background:#fff;padding:0 0 76px}.activity-strip .activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.activity-photo{height:250px;border-radius:28px;background-size:cover;background-position:center;box-shadow:var(--shadow)}.ap1{background-image:url("images/playground-smile.jpg");background-position:center 38%}.ap2{background-image:url("images/play-parachute.jpg");background-position:center 38%}.ap3{background-image:url("images/hand-paint.jpg");background-position:center 45%}
.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--green-dark);border:2px solid rgba(95,143,47,.3);padding:12px 16px;border-radius:999px;font-weight:900}.footer .social-pill{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.contact-card{background:#fff;border-radius:32px;padding:32px;box-shadow:var(--shadow)}
@media(max-width:920px){.gallery-grid,.activity-strip .activity-grid{grid-template-columns:1fr 1fr}.gp1,.gp6{grid-row:auto;grid-column:auto}}
@media(max-width:560px){.gallery-grid,.activity-strip .activity-grid{grid-template-columns:1fr}.hero-card{min-height:340px}.program-img{height:220px}.activity-photo{height:240px}}

.form-note {
  margin-top: 0.35rem;
  font-size: 0.9rem;
  color: #5f6f5f;
}

.optional {
  font-weight: 500;
  color: #6f7f6f;
}

input[type="file"] {
  background: #fff;
  padding: 0.9rem;
  border: 1px solid rgba(65, 91, 68, 0.22);
  border-radius: 14px;
  width: 100%;
}


/* Final homepage photo cleanup */
img {
  max-width: 100%;
  height: auto;
}

img[src*="logo"],
.logo img,
.nav-logo img,
.site-logo img {
  object-fit: contain !important;
  object-position: center !important;
  min-height: auto !important;
}

.homepage-photo-showcase {
  padding: 80px 20px;
  background: #fffaf0;
}

.homepage-photo-showcase .section-intro {
  max-width: 760px;
  margin: 0 auto 32px;
  text-align: center;
}

.home-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.home-photo-grid figure {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(31, 69, 36, 0.14);
  background: #fff;
}

.home-photo-grid img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}

.home-photo-grid figure:nth-child(1) img,
.home-photo-grid figure:nth-child(2) img,
.home-photo-grid figure:nth-child(3) img,
.home-photo-grid figure:nth-child(6) img,
.home-photo-grid figure:nth-child(9) img {
  object-position: center 22%;
}

.home-photo-grid figure:nth-child(4) img {
  object-position: center 36%;
}

.home-photo-grid figure:nth-child(5) img,
.home-photo-grid figure:nth-child(7) img,
.home-photo-grid figure:nth-child(8) img {
  object-position: center 30%;
}

.program-card img,
.card img,
.gallery img,
.hero-photo img,
.hero-image img,
.feature-image img {
  width: 100%;
  min-height: 300px;
  object-fit: cover;
  object-position: center 26%;
}

.teacher-card img,
.staff-card img,
.director-photo img,
.team-card img {
  object-position: center 22%;
}

@media (max-width: 800px) {
  .home-photo-grid {
    grid-template-columns: 1fr;
  }

  .home-photo-grid img {
    height: 380px;
    object-position: center 22%;
  }
}


/* Lead capture section */
.lead-capture-section{background:linear-gradient(135deg,#eef7e8 0%,#fff8ec 100%)}
.lead-capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.lead-capture-copy h2{font-size:clamp(2rem,4vw,3rem);margin:8px 0 14px;color:var(--green-dark)}
.lead-capture-copy p{color:#504840;font-size:1.05rem;line-height:1.7}
.lead-benefits{list-style:none;padding:0;margin:18px 0 0}
.lead-benefits li{padding:8px 0 8px 28px;position:relative;font-weight:700;color:var(--green-dark)}
.lead-benefits li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
@media(max-width:920px){.lead-capture-grid{grid-template-columns:1fr}}

/* Program card photos */
.program-img{
  width:100% !important;
  height:320px !important;
  overflow:hidden !important;
  background:none !important;
}

.program-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border:none !important;
}

@media (max-width:768px){
  .program-img{
    height:260px !important;
  }
}
