:root{--cream:#fbf5e9;--paper:#fffdf8;--ink:#2f2924;--brown:#5a392d;--terracotta:#c86f4b;--sage:#82966b;--mustard:#ddb04b;--peach:#e9a37f;--line:rgba(47,41,36,.14);--shadow:0 24px 60px rgba(65,45,34,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}img{display:block;max-width:100%}a{color:inherit}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;padding:10px 16px;z-index:100}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{height:90px;display:flex;align-items:center;gap:32px}.brand img{width:145px;max-height:72px;object-fit:contain}.site-header nav{display:flex;gap:26px;margin-left:auto}.site-header nav a{text-decoration:none;font-weight:700}.menu-button{display:none}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;background:var(--brown);color:#fff;text-decoration:none;font-weight:800;line-height:1.1;box-shadow:0 9px 20px rgba(90,57,45,.16)}.button:hover{transform:translateY(-2px)}.button-small{padding:12px 18px}.button-cream{background:var(--cream);color:var(--brown)}.hero{background:var(--cream);overflow:hidden;padding:76px 0 86px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.eyebrow{margin:0 0 13px;color:var(--terracotta);font-size:.82rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1,.section h2,.cta h2,.prek-band h2{font-family:"Fredoka",sans-serif;line-height:1.02;letter-spacing:-.035em}.hero h1{font-size:clamp(3.7rem,7vw,6.7rem);margin:0 0 24px;color:var(--brown)}.lede{font-size:1.23rem;max-width:640px}.hero-actions{display:flex;align-items:center;gap:24px;margin:34px 0}.text-link{font-weight:800;text-decoration:none;border-bottom:2px solid var(--mustard)}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:27px 0 0;margin:36px 0 0;border-top:1px solid var(--line);gap:18px}.quick-facts strong,.quick-facts span{display:block}.quick-facts strong{font-family:"Fredoka";font-size:1.1rem}.quick-facts span{font-size:.8rem}.hero-visual{position:relative;min-height:570px}.photo-frame{overflow:hidden;border-radius:48% 48% 18px 18px;box-shadow:var(--shadow);height:540px;position:relative;z-index:2}.photo-frame img{height:100%;width:100%;object-fit:cover}.shape{position:absolute;border-radius:50%;z-index:1}.shape-one{width:220px;height:220px;background:var(--mustard);right:-50px;top:-35px}.shape-two{width:180px;height:180px;background:var(--sage);left:-42px;bottom:-38px}.hero-note{position:absolute;z-index:3;right:-12px;bottom:38px;background:var(--paper);padding:18px 22px;border-radius:20px;box-shadow:var(--shadow);display:flex;gap:14px;font-family:"Fredoka"}.hero-note span:nth-child(1){color:var(--terracotta)}.hero-note span:nth-child(2){color:var(--sage)}.hero-note span:nth-child(3){color:#b78312}.prek-band{background:var(--terracotta);color:#fff;padding:44px 0}.prek-grid{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:38px}.prek-grid img{background:#fff;border-radius:18px;padding:12px}.prek-band .eyebrow{color:#ffe5cc}.prek-band h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 10px}.prek-band p{margin:0}.section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2{font-size:clamp(2.7rem,5vw,4.7rem);margin:0;color:var(--brown)}.body-copy{font-size:1.13rem}.body-copy p:first-child{margin-top:32px}.programs{background:#efe6d7}.section-heading{max-width:780px;margin-bottom:50px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.program-card{padding:30px 26px;border-radius:24px;min-height:330px;color:#fff}.program-card .number{display:block;font-family:"Fredoka";opacity:.7;margin-bottom:80px}.program-card h3,.story-card h3,.feature-list h3{font-family:"Fredoka";font-size:1.55rem;line-height:1.1;margin:0 0 12px}.program-card p{font-size:.94rem}.terracotta{background:var(--terracotta)}.sage{background:var(--sage)}.mustard{background:var(--mustard);color:var(--ink)}.cocoa{background:var(--brown)}.movement{background:var(--brown);color:#fff}.movement h2{color:#fff}.movement-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.movement-art{aspect-ratio:1;background:var(--mustard);border-radius:44% 56% 42% 58%;position:relative;color:var(--brown);font-family:"Fredoka"}.movement-art span{position:absolute;font-size:clamp(3rem,8vw,7rem)}.movement-art span:nth-child(1){left:20%;top:10%}.movement-art span:nth-child(2){right:17%;top:23%;color:var(--terracotta)}.movement-art span:nth-child(3){left:23%;bottom:10%;color:var(--sage)}.movement-art span:nth-child(4){right:15%;bottom:12%}.movement-grid>div:last-child p:last-child{font-size:1.15rem}.heading-row{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;max-width:none}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.story-card{background:var(--cream);border-radius:24px;overflow:hidden}.story-card img{width:100%;height:390px;object-fit:cover}.story-card>div{padding:28px}.story-wide{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr}.story-wide img{height:520px}.story-wide>div{align-self:center;padding:46px}.tag{color:var(--terracotta);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.ost{background:var(--sage);color:#fff}.ost h2{color:#fff}.ost-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.feature-list{display:grid;gap:12px}.feature-list>div{background:rgba(255,255,255,.13);padding:22px;border-radius:18px;display:grid;grid-template-columns:40px 1fr;column-gap:12px}.feature-list span{grid-row:1/3;font-size:1.7rem}.feature-list h3,.feature-list p{margin:0}.photo-placeholder{border:1px dashed rgba(255,255,255,.6);padding:16px;border-radius:12px;font-size:.9rem}.meals{background:#f4d9c9}.cta{background:var(--terracotta);color:#fff;padding:76px 0}.cta-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}.cta h2{font-size:clamp(2.7rem,5vw,4.8rem);margin:0 0 15px}.cta-actions{display:grid;gap:15px;text-align:center}.cta-actions>a:last-child{font-weight:800}footer{padding:45px 0;background:#2b241f;color:#fff}.footer-grid{display:grid;grid-template-columns:170px 1fr auto;gap:35px;align-items:center}.footer-grid img{width:150px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.2))}footer p{font-size:.88rem}.menu-button{border:0;background:transparent;font:inherit;font-weight:800}
@media(max-width:900px){.site-header .button-small{display:none}.program-grid{grid-template-columns:1fr 1fr}.hero-grid,.movement-grid,.ost-grid{grid-template-columns:1fr}.hero-visual{min-height:480px}.photo-frame{height:470px}.prek-grid{grid-template-columns:130px 1fr}.prek-grid .button{grid-column:1/-1;width:max-content}.split{gap:35px}.story-wide{grid-template-columns:1fr}.story-wide img{height:420px}.cta-inner{grid-template-columns:1fr}.footer-grid{grid-template-columns:130px 1fr}.footer-grid p:last-child{grid-column:1/-1}}
@media(max-width:680px){.shell{width:min(100% - 28px,1160px)}.nav-wrap{height:76px}.brand img{width:116px}.menu-button{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{padding:54px 0}.hero h1{font-size:3.7rem}.hero-actions{align-items:flex-start;flex-direction:column}.quick-facts{grid-template-columns:1fr}.hero-visual{min-height:390px}.photo-frame{height:385px}.hero-note{right:4px}.prek-grid{grid-template-columns:1fr}.prek-grid img{width:150px}.section{padding:72px 0}.split,.heading-row,.story-grid{grid-template-columns:1fr;gap:26px}.section h2{font-size:3rem}.program-grid{grid-template-columns:1fr}.program-card{min-height:250px}.program-card .number{margin-bottom:45px}.story-wide{display:block}.story-wide img,.story-card img{height:330px}.movement-grid,.ost-grid{gap:45px}.footer-grid{grid-template-columns:1fr}.footer-grid p:last-child{grid-column:auto}}
/* Refined family-facing layout */
:root{--cream:#f6efe1;--paper:#fffdf8;--ink:#29352d;--brown:#294338;--terracotta:#99452c;--sage:#47624b;--mustard:#e7b653;--line:#d9d9cc;--shadow:0 20px 50px #233c2f16}
body{font-size:17px}.topline{background:var(--brown);color:#fff;padding:10px max(24px,calc((100% - 1200px)/2));font-size:14px;display:flex;justify-content:space-between;gap:20px}.shell{width:min(1200px,calc(100% - 64px))}.nav-wrap{height:108px;gap:24px}.brand img{width:174px;max-height:88px}.site-header nav{gap:24px;font-size:15px}.button{border-radius:8px;padding:17px 24px;box-shadow:none;transition:background .2s,transform .2s}.button:hover{background:#3d5947}.button-cream:hover{background:#f4dfa8;color:#294338}.button-small{font-size:14px;padding:14px 18px}a:focus-visible,button:focus-visible{outline:3px solid #bf671d;outline-offset:5px}.hero{padding:64px 0 70px}.hero-grid{grid-template-columns:1.07fr 1fr;gap:64px}.hero h1,.section h2,.cta h2,.prek-band h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-.045em;line-height:1.08}.hero h1{font-size:clamp(3rem,4.7vw,4.8rem);margin-bottom:24px}.hero h1 em{color:var(--terracotta);font-weight:normal}.eyebrow{font-size:14px;letter-spacing:.12em}.lede{font-size:18px;max-width:510px}.hero-actions{gap:22px;flex-wrap:wrap;margin:30px 0}.text-link{font-size:15px}.quick-facts{gap:20px;margin-top:34px}.quick-facts strong{font-family:inherit;font-size:16px}.quick-facts span{font-size:14px;margin-top:6px}.hero-visual{min-height:540px}.photo-frame{height:540px;border-radius:150px 12px 12px 12px;box-shadow:none}.photo-frame img{object-position:center}.shape-one{width:110px;height:110px;right:-24px;top:-25px}.shape-two{display:none}.hero-note{left:-24px;right:auto;bottom:22px;border-radius:8px;padding:16px 24px;font-size:19px}.hero-note span{color:var(--brown)!important}.prek-band{padding:32px 0;background:#e8b951;color:var(--ink)}.prek-grid{grid-template-columns:120px 1fr auto;gap:30px}.prek-grid img{border-radius:5px}.prek-band .eyebrow{color:var(--brown);margin-bottom:8px}.prek-band h2{font-size:32px;letter-spacing:-.03em}.prek-band p{font-size:16px;max-width:620px}.section{padding:78px 0}.section h2{font-size:clamp(2.2rem,3.3vw,3.4rem)}.split{gap:72px}.body-copy{font-size:18px}.body-copy p:first-child{margin-top:6px}.programs{background:#f1f0e7}.section-heading{margin-bottom:36px;max-width:760px}.program-card{background:var(--paper);color:var(--ink);border-radius:10px;border:1px solid #d7d8cd;border-top:5px solid var(--terracotta);padding:26px;min-height:270px}.program-card.sage{border-top-color:var(--sage)}.program-card.mustard{border-top-color:#bf8e24}.program-card.cocoa{border-top-color:var(--brown)}.program-card .number{font:14px inherit;margin-bottom:35px;color:var(--terracotta);opacity:1}.program-card h3,.story-card h3,.feature-list h3{font-family:Georgia,serif;font-weight:normal;font-size:25px;line-height:1.18}.program-card p{font-size:16px}.movement{padding:60px 0}.movement-grid{grid-template-columns:.7fr 1.3fr;gap:80px}.movement-words{font-family:Georgia,serif;font-size:70px;line-height:1.06;color:#e9bd63}.movement-words em{color:#fff}.movement .eyebrow,.ost .eyebrow,.cta .eyebrow{color:#f3ce87}.movement-grid>div:last-child p:last-child{font-size:18px}.heading-row{grid-template-columns:1.2fr .8fr;gap:75px}.heading-row>p{font-size:17px}.story-card{border-radius:10px;background:#f4efe4}.story-card img{height:330px}.story-wide{grid-template-columns:1.1fr .9fr}.story-wide img{height:390px}.story-wide>div{padding:38px}.story-card p{font-size:16px}.story-card .tag{font-size:14px;letter-spacing:.08em}.ost{background:var(--sage)}.feature-list>div{border-radius:8px;background:#ffffff0d;border:1px solid #ffffff38}.feature-list p{font-size:16px}.meals{background:#eee1cc}.cta{background:var(--brown);padding:66px 0}.cta h2{font-size:clamp(2.4rem,4vw,3.6rem)}.cta-inner{grid-template-columns:1fr 300px}.contact-note{font-size:14px;max-width:280px;margin:0 auto;color:#e3e7de}footer{background:#1e3027}.footer-grid{grid-template-columns:140px 1fr auto}footer p{font-size:14px}.footer-grid img{background:#fffdf8;padding:7px;border-radius:5px}section[id]{scroll-margin-top:125px}
@media(max-width:1000px){.nav-wrap{gap:18px}.site-header nav{gap:16px}.hero-grid{gap:34px}.hero h1{font-size:3.6rem}.quick-facts{grid-template-columns:1fr 1fr}.hero-visual,.photo-frame{height:500px;min-height:0}.prek-grid{grid-template-columns:100px 1fr}.prek-grid .button{grid-column:2}.program-grid{grid-template-columns:1fr 1fr}.cta-inner{gap:40px}.footer-grid{grid-template-columns:140px 1fr}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr 1fr}.movement-grid{grid-template-columns:.6fr 1fr}.ost-grid{grid-template-columns:1fr}.story-wide{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.topline{padding:9px 20px;font-size:13px;display:block;text-align:center}.topline span{display:block}.shell{width:calc(100% - 40px)}.nav-wrap{height:84px}.brand img{width:143px;max-height:74px}.site-header nav{top:84px;font-size:17px}.menu-button{min-height:44px;padding:8px}.hero{padding:36px 0 48px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(2.7rem,10.5vw,3.7rem)}.hero .eyebrow{font-size:13px}.hero-actions{gap:20px;margin:25px 0}.quick-facts{grid-template-columns:1fr 1fr;gap:20px}.quick-facts li:last-child{grid-column:1/-1}.hero-visual,.photo-frame{height:390px}.photo-frame{border-radius:90px 10px 10px 10px}.hero-note{left:12px;bottom:14px;font-size:17px}.shape-one{right:-10px;width:85px;height:85px}.prek-grid{grid-template-columns:1fr;gap:20px}.prek-grid img{width:110px}.prek-grid .button{grid-column:auto;max-width:100%}.prek-band h2{font-size:30px}.section{padding:52px 0}.split,.heading-row{grid-template-columns:1fr;gap:22px}.section h2{font-size:2.5rem}.section-heading{margin-bottom:28px}.program-grid{grid-template-columns:1fr}.program-card{min-height:0}.program-card .number{margin-bottom:16px}.movement-grid{grid-template-columns:1fr;gap:30px}.movement-words{font-size:52px}.story-wide{display:block}.story-wide img,.story-card img{height:300px}.story-wide>div,.story-card>div{padding:24px}.cta-inner{grid-template-columns:1fr;gap:26px}.cta-actions{text-align:left}.contact-note{margin:0;max-width:none}.footer-grid{grid-template-columns:1fr;gap:16px}.footer-grid p{margin:0}section[id]{scroll-margin-top:105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.esports-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px}.esports-gallery figure{margin:0;min-width:0;background:#294338;border-radius:12px;overflow:hidden}.esports-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;display:block}.esports-gallery figcaption{padding:18px 22px;color:#fff;font-size:16px;line-height:1.5}@media(max-width:680px){.esports-gallery{grid-template-columns:1fr;gap:24px;margin-top:30px}.esports-gallery figcaption{padding:16px 20px}}

.site-header nav{gap:17px;flex-wrap:wrap;justify-content:flex-end;max-width:850px;row-gap:9px}.nav-wrap{height:auto;min-height:108px;padding-top:12px;padding-bottom:12px}.site-header .button-small{display:none}.interest-intro{background:var(--cream);padding:46px 0 52px}.back-link{display:inline-block;margin-bottom:30px;font-size:15px}.interest-intro h1{font:normal clamp(2.7rem,5vw,4.2rem)/1.1 Georgia,serif;letter-spacing:-.035em;max-width:780px;margin:0 0 22px;color:var(--brown)}.interest-intro .lede{max-width:780px}.interest-content{display:grid;grid-template-columns:270px minmax(0,1fr);gap:64px;padding-top:55px;padding-bottom:75px}.interest-aside h2{font:normal 30px/1.2 Georgia,serif}.interest-aside p{font-size:16px}.interest-form{min-width:0}.preview-notice{border-left:4px solid #b78022;background:#f7efd9;padding:16px 20px;border-radius:4px;font-size:16px;margin-bottom:22px}.required-note{font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:9px;font-weight:600;font-size:16px;min-width:0}.field input,.field select,.field textarea{font:normal 16px/1.4 "DM Sans",sans-serif;color:var(--ink);background:#fff;border:1px solid #a4afa5;border-radius:6px;padding:12px;width:100%;min-height:48px}.field textarea{resize:vertical}.full{grid-column:1/-1}.choices{margin:0;padding:18px;border:1px solid #c4cdc2;border-radius:6px;min-width:0}.choices legend{font-weight:600;font-size:16px;padding:0 6px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-grid label,.consent{display:flex;gap:10px;align-items:flex-start;font-size:16px}.check-grid input,.consent input{width:19px;height:19px;flex-shrink:0;margin-top:4px;accent-color:var(--brown)}.consent{margin:30px 0 24px}.interest-form button{border:0;font:600 16px "DM Sans",sans-serif;cursor:pointer}.form-review{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:24px;margin-top:30px;scroll-margin-top:140px;overflow-wrap:anywhere}.form-review h2{font:normal 30px Georgia,serif}.form-review dt{font-weight:700;margin-top:20px}.form-review dd{margin:5px 0 0;white-space:pre-wrap}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b78022;outline-offset:2px}@media(max-width:900px){.interest-content{grid-template-columns:1fr;gap:20px}.interest-aside{max-width:700px}.site-header nav{font-size:14px;gap:12px}}@media(max-width:680px){.nav-wrap{min-height:84px;padding:5px 0}.site-header nav{top:84px;font-size:17px;max-width:none;gap:17px;max-height:75vh;overflow-y:auto;justify-content:flex-start}.interest-intro{padding:28px 0 35px}.interest-content{padding-top:28px;padding-bottom:45px}.form-grid,.check-grid{grid-template-columns:1fr}.form-grid{gap:20px}.full{grid-column:auto}.interest-intro h1{font-size:2.8rem}}

.copy-answers{display:block;margin-top:18px;padding:12px 0!important;background:transparent;color:var(--brown);text-decoration:underline;min-height:44px}

.story-wide.story-text-only{display:block;background:#eee1cc}.story-wide.story-text-only>div{max-width:900px;padding:36px 42px}.story-text-only h3{font-size:32px}.hero-photo img{object-position:50% 45%}@media(max-width:680px){.story-wide.story-text-only>div{padding:24px}.story-text-only h3{font-size:27px}}

.story-card img.creativity-photo{object-position:50% 43%}

.hero-visual{height:auto;min-height:0;padding-bottom:35px}.photo-frame.hero-photo{height:auto;aspect-ratio:4/3;border-radius:40px 12px 12px 12px}.hero-photo img{width:100%;height:auto;object-fit:contain}.hero-note{bottom:12px}@media(max-width:680px){.hero-visual{height:auto;min-height:0}.photo-frame.hero-photo{height:auto;border-radius:24px 8px 8px 8px}.hero-note{font-size:16px;padding:12px 18px}}

/* Each learning moment has its own photograph. */
.photo-frame.hero-photo{aspect-ratio:auto}.hero-photo img{width:100%;height:auto;display:block}.literacy-story img{height:auto;max-height:none;object-fit:contain;align-self:start}.literacy-story{align-items:center}.moments-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.moments-grid figure{margin:0;border-radius:12px;overflow:hidden;background:var(--cream);min-width:0;align-self:start}.moments-grid img{width:100%;height:auto;display:block}.moments-grid figcaption{padding:24px 28px}.moments-grid h3{font:normal 27px/1.2 Georgia,serif;margin:0 0 12px;color:var(--brown)}.moments-grid p{margin:0;font-size:17px}.learning-moments{background:#f4f0e6}.food-discovery{grid-column:1/-1;max-width:620px;width:100%;margin:0 auto;background:var(--paper);border-radius:12px;overflow:hidden}.food-discovery img{width:100%;height:auto;display:block}.food-discovery figcaption{font-size:16px;padding:18px 24px}.meals .split{row-gap:30px}@media(max-width:680px){.moments-grid{grid-template-columns:1fr;gap:24px}.moments-grid figcaption{padding:22px}.food-discovery{grid-column:auto}.literacy-story img{height:auto}.hero-photo img{height:auto}.hero-visual{padding-bottom:35px}}

.stem-discovery-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px;align-items:start}.stem-discovery-gallery figure{margin:0;background:var(--paper);color:var(--ink);border-radius:12px;overflow:hidden;min-width:0}.stem-discovery-gallery img{display:block;width:100%;height:auto}.stem-discovery-gallery figcaption{padding:24px}.stem-discovery-gallery h3{font:normal 27px/1.2 Georgia,serif;color:var(--brown);margin:0 0 12px}.stem-discovery-gallery p{margin:0;font-size:17px}.moments-grid figure:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center}@media(max-width:680px){.stem-discovery-gallery{grid-template-columns:1fr;gap:24px}.moments-grid figure:first-child{grid-column:auto;display:block}}

/* Anniversary is the primary homepage headline. */
.hero .anniversary-headline{margin:0 0 20px;letter-spacing:-.045em;line-height:1}.celebrating-word{display:block;font-size:clamp(2.8rem,4.5vw,4.7rem);color:var(--brown);margin-bottom:10px}.anniversary-years{display:block;font-size:clamp(5rem,8.5vw,8.7rem);font-weight:700;color:#9674b0;letter-spacing:-.055em;line-height:1}.anniversary-tagline{font:normal clamp(1.9rem,3vw,2.8rem)/1.15 Georgia,serif;letter-spacing:-.025em;color:var(--brown);margin:0 0 20px}.anniversary-tagline em{font-weight:normal}.anniversary-community{font-size:18px;font-weight:600;margin:0 0 14px}.hero{padding-top:44px}.hero .lede{font-size:17px}@media(max-width:680px){.hero{padding-top:28px}.celebrating-word{font-size:clamp(2.7rem,10.5vw,3.7rem)}.anniversary-years{font-size:clamp(4.5rem,19vw,6.7rem)}.anniversary-tagline{font-size:clamp(1.7rem,6.7vw,2.4rem)}.anniversary-community{font-size:16px}.hero .anniversary-headline{margin-bottom:18px}}

.enrollment-intro{padding-bottom:30px}.enrollment-content{padding-top:32px}.enrollment-honey{display:none!important}.program-help{margin:0 0 14px;font-size:14px}.enrollment-privacy{font-size:14px;margin:24px 0;max-width:650px}

.hiring-announcement{font:700 clamp(1.8rem,4vw,2.7rem)/1.2 "DM Sans",sans-serif;color:#77518f;margin:0 0 16px}.job-opening{padding-top:42px}.job-card{border:1px solid var(--line);border-top:6px solid #9674b0;border-radius:12px;padding:clamp(24px,4vw,48px);background:#fff}.job-card h2{font:normal clamp(1.8rem,3vw,2.7rem)/1.18 Georgia,serif;margin:12px 0 16px;color:var(--brown)}.job-pay{display:inline-block;font-size:1.5rem;font-weight:700;color:var(--green);background:var(--cream);border-radius:8px;padding:12px 18px;margin:0 0 16px}.job-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:22px 0 28px}.job-details h3{font-size:1.2rem;margin:0 0 14px}.job-details ul{padding-left:22px;margin:0}.job-details li{margin-bottom:12px}.job-apply-note{font-size:14px;margin:16px 0 0}#employment-interest{scroll-margin-top:135px}@media(max-width:760px){.job-details{grid-template-columns:1fr;gap:24px}.job-opening{padding-top:24px}}

.contact-topline{display:block;padding:14px 0;text-align:left}.contact-topline-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px}.contact-topline .header-address{font-size:17px;font-weight:700;line-height:1.4}.header-phone{font-size:22px;font-weight:800;line-height:1.3;white-space:nowrap;text-underline-offset:4px}.contact-topline .header-hours{font-size:14px;line-height:1.4}.ost-enrollment-link{margin-top:12px;text-align:center;max-width:100%}.program-card .ost-enrollment-note{font-size:14px;line-height:1.5;margin-top:15px}@media(max-width:680px){.contact-topline{padding:14px 0;text-align:center}.contact-topline-inner{flex-direction:column;gap:8px}.contact-topline .header-address{font-size:16px;max-width:310px}.header-phone{font-size:23px}}

/* Bright Building Blocks palette: lively color, clear type, light surfaces. */
:root {
  --blue: #2459c4;
  --blue-deep: #17439d;
  --coral: #b73f30;
  --gold: #ffda70;
  --navy: #183153;
  --sky: #eaf3ff;
  --blush: #fff0e9;
  --cream: #fffbf3;
  --paper: #ffffff;
  --ink: #24344c;
  --brown: var(--blue);
  --terracotta: var(--coral);
  --sage: var(--blue);
  --mustard: var(--gold);
  --peach: #ffac91;
  --line: #d4deed;
  --shadow: 0 18px 40px #18315314;
}
.site-header { background: #fffffffa; }
.topline { background: var(--blue); }
.site-header nav a { text-underline-offset: 5px; }
.site-header nav a:hover { color: var(--blue); text-decoration: underline; }
.site-header nav .family-nav { color: var(--navy); background: var(--gold); padding: 3px 10px; border-radius: 6px; }
.site-header nav { align-items: center; }
.button { background: var(--blue); border-radius: 12px; font-weight: 700; }
.button:hover { background: var(--blue-deep); }
.button-cream { background: #fff; color: var(--blue-deep); }
.button-cream:hover { background: var(--gold); color: var(--navy); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--coral); outline-offset: 4px;
}
.hero h1, .section h2, .cta h2, .prek-band h2, .interest-intro h1 {
  font-family: "Fredoka", "DM Sans", sans-serif;
  font-weight: 500; letter-spacing: -.025em; line-height: 1.1;
}
.hero .anniversary-headline { letter-spacing: -.025em; line-height: 1.06; }
.celebrating-word { color: var(--blue); font-weight: 500; }
.anniversary-years { color: var(--coral); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }
.anniversary-tagline { font-family: "DM Sans", sans-serif; font-weight: 600; color: var(--navy); line-height: 1.2; letter-spacing: -.025em; }
.anniversary-tagline em { font-style: normal; font-weight: 600; }
.hero-note { border: 1px solid var(--line); border-bottom: 5px solid var(--gold); border-radius: 14px; }
.hero-note span:nth-child(1) { color: var(--coral)!important; }
.hero-note span:nth-child(2) { color: var(--blue)!important; }
.hero-note span:nth-child(3) { color: var(--navy)!important; }
.photo-frame.hero-photo { border-radius: 36px 12px 36px 12px; }
.quick-facts strong { color: var(--blue-deep); }
.text-link { border-bottom-color: var(--coral); }
.prek-band { background: var(--gold); color: var(--navy); }
/* Preserve the logo's natural proportions as its grid column resizes. */
.prek-grid img { height: auto; object-fit: contain; }
.prek-band .eyebrow, .prek-band h2 { color: var(--navy); }
.prek-band .button { background: var(--blue); color: #fff; }
.prek-band .button:hover { background: var(--blue-deep); }
.programs { background: var(--sky); }
.program-card { border-color: #d4deed; border-top: 6px solid var(--coral); border-radius: 16px; }
.program-card.sage { border-top-color: var(--blue); }
.program-card.mustard { border-top-color: var(--gold); }
.program-card.cocoa { border-top-color: #7956b0; }
.program-card .number { color: var(--blue-deep); font-weight: 700; }
.program-card h3, .story-card h3, .feature-list h3, .moments-grid h3,
.stem-discovery-gallery h3, .interest-aside h2, .form-review h2, .job-card h2 {
  font-family: "DM Sans", sans-serif; font-weight: 700; letter-spacing: -.02em; color: var(--navy);
}
.movement { background: var(--blue); }
.movement-words { font-family: "Fredoka", sans-serif; font-weight: 500; color: var(--gold); }
.movement .eyebrow { color: var(--gold); }
.story-card { background: var(--cream); border-radius: 18px; }
.story-wide.story-text-only { background: var(--blush); }
.learning-moments { background: var(--cream); }
.moments-grid figure { background: #fff; border-radius: 18px; }
.ost { background: var(--sky); color: var(--ink); }
.ost h2 { color: var(--blue-deep); }
.ost .eyebrow { color: var(--coral); }
.feature-list > div { background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.feature-list span { color: var(--coral); }
.esports-gallery figure { background: #fff; border-radius: 18px; }
.esports-gallery figcaption { color: var(--ink); }
.stem-discovery-gallery figure { border-radius: 18px; }
.meals { background: #fff4cf; }
.cta { background: var(--blue); }
.cta .eyebrow { color: var(--gold); }
.contact-note { color: #fff; }
footer { background: var(--navy); }
.footer-grid img { background: #fff; height: auto; object-fit: contain; }
.interest-intro { background: var(--sky); }
.preview-notice { border-left-color: var(--coral); background: var(--blush); }
.field input, .field select, .field textarea { border-color: #7e90aa; }
.choices { border-color: var(--line); }
.copy-answers, .copy-answers:hover { background: transparent; color: var(--blue-deep); }
.hiring-announcement { color: var(--coral); }
.job-card { border-top-color: var(--gold); }
.job-pay { color: var(--navy); background: #fff4cf; }
.family-updates { background: #fff; border-bottom: 1px solid var(--line); }
.updates-heading { display: grid; grid-template-columns: 1.3fr 1fr; align-items: end; gap: 64px; margin-bottom: 32px; }
.updates-heading > p { margin: 0; max-width: 390px; font-size: 1.0625rem; }
.updates-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.update-card { padding: 28px; border-radius: 18px; border-top: 6px solid; min-width: 0; }
.update-events { background: var(--blush); border-color: var(--coral); }
.update-closures { background: var(--sky); border-color: var(--blue); }
.update-hours { background: #fff4cf; border-color: var(--gold); }
.update-label { font-size: .875rem; font-weight: 700; color: var(--navy); margin: 0 0 20px; }
.update-card h3 { color: var(--navy); font: 700 1.5rem/1.2 "DM Sans", sans-serif; letter-spacing: -.02em; margin: 0 0 14px; }
.update-card p { font-size: 1rem; }
.update-card p:last-child { margin-bottom: 0; }
.hours-highlight strong { font-size: 1.75rem; color: var(--navy); }
.update-card .text-link { display: inline-block; font-size: 1rem; }
@media(max-width:900px) {
  .updates-heading { gap: 30px; }
  .updates-grid { grid-template-columns: 1fr 1fr; }
  .update-hours { grid-column: 1/-1; }
}
@media(max-width:680px) {
  .site-header nav .family-nav { align-self: flex-start; }
  .hero .eyebrow { font-size: .875rem; }
  .photo-frame.hero-photo { border-radius: 24px 8px 24px 8px; }
  .updates-heading, .updates-grid { grid-template-columns: 1fr; gap: 20px; }
  .update-hours { grid-column: auto; }
  .update-card { padding: 24px; }
}

/* Family calendar: monthly, keyboard-accessible disclosure panels. */
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:40px 0 24px}
.calendar-heading h3{font:700 1.5rem/1.25 "DM Sans",sans-serif;color:var(--navy);margin:0 0 8px}
.calendar-heading p{margin:0;font-size:1rem}
.calendar-heading .button{flex-shrink:0;text-align:center;line-height:1.4}
.calendar-month{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:12px 0;background:#fff}
.calendar-month summary{cursor:pointer;padding:18px 22px;font-size:1.125rem;font-weight:700;color:var(--blue-deep);background:var(--sky)}
.calendar-month summary span{float:right;margin-left:12px;font-size:.875rem;font-weight:500;color:var(--ink)}
.calendar-month summary:focus-visible{outline:3px solid var(--coral);outline-offset:-4px}
.calendar-dates{list-style:none;padding:0;margin:0}
.calendar-entry{display:grid;grid-template-columns:minmax(190px, .65fr) 1.5fr;gap:26px;padding:24px;border-top:1px solid var(--line);border-left:5px solid var(--blue)}
.calendar-closure{background:var(--blush);border-left-color:var(--coral)}
.calendar-date{font-size:1rem;font-weight:700;color:var(--navy)}
.calendar-kind{font-size:.875rem;font-weight:700;color:var(--blue-deep)}
.calendar-closure .calendar-kind{color:var(--coral)}
.calendar-entry h4{font:700 1.125rem/1.35 "DM Sans",sans-serif;margin:5px 0;color:var(--navy)}
.calendar-note{font-size:1rem;margin:8px 0 0}
.calendar-highlight-date{font-weight:700;color:var(--navy)}
@media(max-width:760px){.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-heading .button{max-width:100%;flex-shrink:1}.calendar-entry{grid-template-columns:1fr;gap:12px;padding:20px}.calendar-month summary{padding:18px}.calendar-month summary span{float:none;display:inline-block}}

/* Preschool enrollment is visible before the homepage hero on all screens. */
.enrollment-banner{background:var(--gold);color:var(--navy);padding:26px 0;border-bottom:1px solid #e9bf49}
.enrollment-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.enrollment-banner h2{font:600 clamp(1.7rem,3.2vw,2.6rem)/1.12 "Fredoka",sans-serif;margin:0 0 9px}
.enrollment-banner p{font-size:1rem;margin:0;max-width:660px}
.enrollment-banner .button{flex-shrink:0;max-width:100%;text-align:center;line-height:1.35}
.site-header nav .enroll-nav{color:var(--blue-deep);font-weight:800;text-decoration:underline;text-decoration-thickness:2px}
.form-feedback:not(:empty){padding:20px;background:var(--sky);border:1px solid var(--line);border-radius:12px;margin-top:22px;overflow-wrap:anywhere}
.form-feedback p:first-child{margin-top:0}.form-feedback .button{margin:8px 0}
.interest-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:900px){.enrollment-banner-inner{align-items:flex-start;flex-direction:column;gap:18px}.enrollment-banner{padding:24px 0}}

/* Keep the anniversary prominent, with a clear local service heading. */
.hero .anniversary-headline {font-family:"Fredoka","DM Sans",sans-serif;font-weight:500;}
.hero h1.local-headline {font:700 clamp(1.35rem,2.2vw,1.85rem)/1.25 "DM Sans",sans-serif;letter-spacing:-.02em;color:var(--navy);margin:0 0 18px;}
.faq-layout {display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start;}
.family-faq {background:var(--cream);}
.faq-answers details {border-bottom:1px solid var(--line);padding:19px 0;}
.faq-answers summary {cursor:pointer;font-weight:700;font-size:1.125rem;color:var(--navy);}
.faq-answers summary:focus-visible {outline:3px solid var(--coral);outline-offset:5px;}
.faq-answers p {font-size:1rem;margin:14px 0 0;}
.program-overview {max-width:820px;padding-top:42px;padding-bottom:64px;}
.program-overview h2 {font:600 clamp(1.7rem,3vw,2.25rem)/1.2 "Fredoka",sans-serif;color:var(--blue);margin:36px 0 16px;}
.program-overview h3 {font-size:1.15rem;color:var(--navy);margin:24px 0 8px;}
.program-overview p,.program-overview li {font-size:1.0625rem;}
.program-overview li {margin-bottom:12px;}
.program-overview .hero-actions {flex-wrap:wrap;}
.footer-privacy {display:block;font-size:.875rem;margin-top:10px;}
@media(max-width:760px){.faq-layout{grid-template-columns:1fr;gap:28px;}.program-overview{padding-top:28px;}}
