@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#244c3f;--green:#245746;--cream:#faf8ef;--muted:#617064;--line:#d9ded2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}p{margin:0 0 20px}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.14;letter-spacing:-.045em;font-weight:600;margin:0 0 24px}h1{font-size:clamp(44px,5.2vw,76px)}h1 em{font-family:Georgia,serif;font-weight:400;color:#a75838}h2{font-size:clamp(32px,3.4vw,48px)}h3{font-size:25px}.wrap{max-width:1240px;margin:auto;padding:90px 40px}header{max-width:1360px;margin:auto;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px;letter-spacing:-.5px}.brand img{width:52px;height:58px;object-fit:cover}.brand small{display:block;font-size:9px;letter-spacing:1.6px}nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600}.button{background:var(--green);color:white;border-radius:7px;display:inline-flex;align-items:center;gap:30px;padding:15px 24px;font-weight:600;font-size:14px;transition:transform .2s,background .2s}.button:hover{background:#37735d;transform:translateY(-2px)}.small{padding:11px 20px}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-top:65px;padding-bottom:75px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;margin-bottom:25px}.dot{display:inline-block;width:7px;height:7px;background:#a6ad77;border-radius:100%;margin-right:7px}.intro{font-size:17px;max-width:450px;color:var(--muted)}.actions{display:flex;align-items:center;gap:23px;margin-top:30px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}.hero-note{display:flex;gap:15px;align-items:center;margin-top:40px}.hero-note>span{font-size:42px;color:#a86442}.hero-note p{margin:0;font-size:12px}.hero-note small{display:block;color:var(--muted);font-size:11px}.hero-art{position:relative;padding:10px 15px 25px}.hero-photo{width:100%;height:500px;object-fit:cover;object-position:center 35%;border-radius:48% 48% 8px 8px}.sun{position:absolute;right:-15px;top:-35px;font-size:100px;line-height:1;color:#d6a53a;transform:rotate(12deg)}.photo-note{position:absolute;bottom:55px;left:-30px;background:#f1d99a;transform:rotate(-5deg);padding:18px 25px;font-size:14px;box-shadow:0 8px 20px #233b3210}.photo-note span{font-size:36px;position:absolute;right:-18px;top:-30px;color:#a55b3f}.image-label{position:absolute;bottom:0;right:20px;font-size:10px;color:var(--muted)}.ribbon{background:#e8eddb;display:flex;align-items:center;justify-content:space-evenly;gap:20px;padding:20px;font-size:12px}.ribbon b{font-size:25px;color:#80916a}.approach{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.lead{font-size:21px;line-height:1.5}.approach p:not(.eyebrow):not(.lead),.teacher p:not(.eyebrow):not(.lead){color:var(--muted);font-size:15px}.values{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.values span{font-size:9px;letter-spacing:1px}.values h3{font-size:18px;letter-spacing:-.4px;margin:12px 0}.values p{font-size:13px!important}.programs{background:#f0eee3}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.section-top p:not(.eyebrow){font-size:13px;color:var(--muted)}.section-top h2{margin-bottom:0}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.program{padding:32px;border-radius:9px}.peach{background:#f4ddd0}.yellow{background:#f5e7b5}.green{background:#dce5cd}.shape{font-size:50px;line-height:1.2;display:block;margin-bottom:28px}.program .eyebrow{margin-bottom:12px;font-size:9px}.program h3{font-size:24px}.program p:not(.eyebrow){font-size:14px}.program a{display:block;border-top:1px solid #244c3f30;padding-top:20px;margin-top:30px;font-size:12px;font-weight:600}.program-foot{font-size:12px;text-align:center;margin:28px 0 0;color:var(--muted)}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}.gallery figure{margin:0}.gallery img{width:100%;height:300px;object-fit:cover;border-radius:8px}.gallery figcaption{font-size:12px;padding-top:12px}.teacher{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center;padding-top:20px}.teacher-photo{position:relative;padding:0 40px}.teacher-photo img{height:440px;width:100%;object-fit:cover;border-radius:8px 8px 150px 8px}.teacher-photo span{position:absolute;bottom:20px;left:15px;background:#f3deaf;padding:12px 20px;font-size:12px;transform:rotate(-4deg)}.credentials{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.credentials span{border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:10px}.day{background:#e9eddf}.day-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-top:65px;padding-bottom:65px}.day-items>div{display:flex;gap:25px;align-items:center;border-bottom:1px solid #bdcbb7;padding:15px 0}.day-items>div:last-child{border:none}.day-items span{font-size:32px;min-width:35px}.day-items p{font-size:13px;margin:0}.day-items strong{display:block;font-size:17px;font-weight:500}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faq>div>p:not(.eyebrow){font-size:13px}.faq p a{text-decoration:underline}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;list-style:none;font-size:15px;font-weight:500;padding-right:25px;position:relative}summary:after{content:'+';position:absolute;right:0;font-size:21px;top:-5px}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);margin:15px 0 0}.visit{display:grid;grid-template-columns:1.3fr 1fr;background:var(--green);color:var(--cream);padding:65px;border-radius:14px;gap:80px;max-width:1160px}.visit h2{font-size:42px}.visit p{font-size:14px;color:#d1ded1}.visit .eyebrow{font-size:9px}.cream{background:#f3e4b7;color:var(--green)}.cream:hover{background:#f9eaca}.fine{font-size:10px!important;margin-top:13px}.contact{border-left:1px solid #ffffff30;padding-left:60px}.contact h3{font-size:23px;margin-bottom:15px}.contact a{display:block;font-size:13px;margin:14px 0}.flower{display:block;color:#f1d99a;font-size:60px;margin-bottom:15px;line-height:1}.contact a:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;align-items:center;padding-top:45px;padding-bottom:45px}footer p,footer>a:last-child{font-size:11px;margin:0}.skip{position:absolute;top:-80px;left:10px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #b67537;outline-offset:5px}@media(max-width:1000px){header{padding:20px 25px}nav{gap:16px}.hero{gap:30px}.hero-photo{height:440px}.actions{align-items:start;flex-direction:column}.wrap{padding-left:30px;padding-right:30px}.approach,.teacher,.faq,.day-inner{gap:40px}.visit{margin:0 25px;gap:30px}.contact{padding-left:30px}}@media(max-width:700px){header{position:relative;padding:14px 20px}.brand{font-size:20px}.brand img{width:42px;height:47px}.menu{display:block;background:none;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:12px;color:var(--ink)}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);z-index:10;padding:25px;box-shadow:0 10px 20px #0001}nav.open{display:flex;align-items:stretch;flex-direction:column}.wrap{padding:55px 23px}.hero{grid-template-columns:1fr;gap:25px;padding-top:35px}.eyebrow{font-size:9px;letter-spacing:1.2px}h1{font-size:49px}.intro{font-size:16px}.actions{flex-direction:row;align-items:center;gap:16px}.button{padding:14px 17px;font-size:12px;gap:12px}.text-link{font-size:11px}.hero-note{margin-top:23px}.hero-art{padding:0 15px 25px}.hero-photo{height:390px;object-position:center 33%}.photo-note{left:0;bottom:50px}.sun{right:0;top:-20px;font-size:75px}.ribbon{flex-wrap:wrap;gap:10px 20px;font-size:10px}.ribbon b{display:none}.ribbon span{width:42%;text-align:center}.approach,.teacher,.faq,.day-inner{grid-template-columns:1fr;gap:20px}.values{gap:20px}.section-top{display:block}.section-top p:not(.eyebrow){margin-top:18px}.program-grid{grid-template-columns:1fr;gap:15px}.program{padding:25px}.shape{float:right;font-size:44px}.program h3{font-size:26px}.program a{margin-top:20px}.gallery{grid-template-columns:1fr 1fr;gap:16px}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:210px}.gallery figure:first-child img{height:260px}.gallery figcaption{font-size:10px}.teacher-photo{padding:0 25px;margin-bottom:25px}.teacher-photo img{height:420px}.teacher{padding-top:0}.visit{grid-template-columns:1fr;margin:0 15px;padding:35px 25px}.visit h2{font-size:34px}.contact{border-left:0;border-top:1px solid #ffffff30;padding:25px 0 0}.flower{float:right}footer{gap:25px;flex-wrap:wrap}footer .brand{width:100%}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.parents{background:#f0eee3}.parent-tabs{display:flex;gap:12px;margin-bottom:28px}.parent-tabs a{font-size:12px;border:1px solid #becab7;padding:9px 15px;border-radius:25px}.payment-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;background:var(--cream);padding:38px;border-radius:12px;margin-bottom:30px}.payment-panel p:not(.eyebrow){font-size:14px;max-width:480px}.payment-status{border-left:1px solid var(--line);padding-left:35px}.setup-tag{display:inline-block;font-size:9px;letter-spacing:1px;background:#f2e3b6;padding:4px 9px;border-radius:4px;margin-bottom:15px}.payment-status h3{font-size:23px;margin-bottom:12px}.button:disabled{cursor:not-allowed;background:#dce2d8;color:#617064;transform:none}.payment-help{font-size:11px!important;margin:10px 0 0}.holiday-panel{padding:38px;background:var(--cream);border-radius:12px}.holiday-panel .section-top{align-items:center;margin-bottom:12px}.holiday-panel h3{margin:0;font-size:30px}.holiday-panel .eyebrow{margin-bottom:12px}.holiday-controls{display:flex;gap:8px;margin:25px 0 20px}.holiday-controls button{border:1px solid #becab7;background:transparent;border-radius:6px;padding:8px 14px;font-size:12px;color:var(--ink);cursor:pointer}.holiday-controls button[aria-pressed=true]{background:var(--green);color:white}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}td,th{padding:16px 10px;border-bottom:1px solid var(--line)}td:first-child{font-weight:500;white-space:nowrap}.closed-tag{font-size:10px;padding:4px 8px;border-radius:20px;background:#e8eddb;white-space:nowrap}.calendar-note{border-left:3px solid #c7a75f;padding:5px 18px;margin-top:30px;font-size:13px}.calendar-note p{margin:5px 0 0;color:var(--muted)}.calendar-foot{font-size:11px;color:var(--muted);margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}#no-closures{padding:25px 0;font-size:13px}@media(max-width:1000px){nav{gap:14px;font-size:12px}}@media(max-width:700px){.payment-panel{grid-template-columns:1fr;gap:25px;padding:25px}.payment-status{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.holiday-panel{padding:24px 16px}.holiday-panel .section-top .text-link{display:inline-block;margin-top:20px}.holiday-panel h3{font-size:27px}td,th{padding:12px 6px}table{font-size:12px}.closed-tag{font-size:9px}.parent-tabs{flex-wrap:wrap}}

.reviews .section-top{align-items:center}.google-rating{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:18px 24px;white-space:nowrap}.google-rating strong{font-family:Manrope,sans-serif;font-size:28px}.google-rating strong span{font-size:18px;letter-spacing:2px;color:#926620}.google-rating>span{font-size:12px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-card{margin:0;background:#eef0e4;border:1px solid #dce2d3;border-radius:14px;padding:32px;display:flex;flex-direction:column}.review-card:nth-child(2){background:#f5e8d6;border-color:#e9dcca}.review-stars{color:#926620;letter-spacing:3px;font-size:16px}.review-card blockquote{font-family:Manrope,sans-serif;font-size:clamp(22px,2.3vw,30px);line-height:1.45;letter-spacing:-.6px;margin:22px 0 30px}.review-card figcaption{margin-top:auto;display:flex;flex-direction:column;font-size:14px}.review-card figcaption span{font-size:11px;color:var(--muted);margin-top:3px}.reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}.reviews-bottom p{font-size:11px;color:var(--muted);margin:0}.reviews-bottom a{white-space:nowrap}@media(max-width:700px){.google-rating{display:inline-flex;margin-top:24px}.review-grid{grid-template-columns:1fr;gap:16px}.review-card{padding:26px}.reviews-bottom{flex-direction:column;align-items:flex-start;gap:14px}}@media(min-width:701px) and (max-width:1150px){nav{gap:9px;font-size:11px}.brand{font-size:18px}header{padding-left:22px;padding-right:22px}}

.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-card:nth-child(3){background:#f3edcf;border-color:#e6dfbf}.review-card blockquote{font-size:clamp(21px,2vw,27px)}@media(max-width:700px){.review-grid{grid-template-columns:1fr}}

.gallery-tabs{display:flex;gap:10px;margin-bottom:28px}.gallery-tabs button{border:1px solid #becab7;background:transparent;border-radius:24px;padding:10px 24px;color:var(--ink);cursor:pointer}.gallery-tabs button[aria-pressed=true]{background:var(--green);color:white}.school-gallery .gallery a{display:block;overflow:hidden;border-radius:8px}.school-gallery .gallery img{transition:transform .2s}.school-gallery .gallery a:hover img{transform:scale(1.03)}.video-empty{background:#e9eddf;border-radius:12px;text-align:center;padding:50px 25px}.video-empty>span{font-size:52px}.video-empty h3{margin:12px 0}.video-empty p{color:var(--muted);font-size:14px}@media(min-width:701px){header nav{gap:12px;font-size:11px}}

.floating-top{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:7px;background:var(--green);color:#fff;border:1px solid #ffffff80;border-radius:28px;padding:12px 18px;box-shadow:0 4px 18px #173a3430;font-size:15px;font-weight:700}.floating-top:hover{background:#37735d}.floating-top:focus-visible{outline:3px solid #b67537;outline-offset:4px}@media(max-width:700px){.floating-top{right:15px;bottom:max(15px,env(safe-area-inset-bottom));padding:11px 16px}}

.school-gallery .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.school-gallery .gallery img{height:300px;object-fit:contain;background:#e9eddf}.school-gallery .gallery figure:first-child{grid-column:auto}.school-video{margin:0;max-width:850px}.school-video video{display:block;width:100%;max-height:650px;background:#173b30;border-radius:12px}.school-video figcaption{font-size:13px;margin-top:12px}@media(max-width:700px){.school-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.school-gallery .gallery img,.school-gallery .gallery figure:first-child img{height:220px}}

.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.video-grid video{height:420px;object-fit:contain}.video-grid figcaption{margin-bottom:15px}@media(max-width:700px){.video-grid{grid-template-columns:1fr}.video-grid video{height:400px}}

.school-gallery .gallery .school-video{max-width:none}.school-gallery .gallery video{width:100%;height:300px;object-fit:contain;background:#173b30;border-radius:8px}.school-gallery .gallery .school-video figcaption{font-size:12px;margin-top:0;padding-top:12px}@media(max-width:700px){.school-gallery .gallery video{height:220px}}

.booking-action{border:1px solid var(--green);background:var(--cream);color:var(--green);border-radius:6px;padding:8px 12px;margin:4px;cursor:pointer}.booking-action:disabled{opacity:.5}

#drop-form{display:grid;gap:20px;margin:30px 0}#drop-form label{display:grid;gap:6px;font-size:14px}#drop-form input:not([type=checkbox]),#drop-form select{width:100%;padding:12px;border:1px solid #becab7;border-radius:6px;font:inherit;background:white}#drop-form input[type=checkbox]{width:20px;height:20px}#drop-form .button{justify-self:start;border:0;cursor:pointer}

.button.drop-highlight{background:#f1d99a;color:#244c3f}.button.drop-highlight:hover{background:#e8cc81}.hero .actions{flex-wrap:wrap}.visit .button{margin-bottom:10px}@media(min-width:701px){header nav{gap:10px;font-size:11px}header .button.small{padding:10px 12px}}@media(max-width:700px){.hero .actions{align-items:stretch;flex-direction:column}.hero .actions .button{justify-content:space-between}}

.expense-form{max-width:700px;display:grid;gap:18px;background:#eef0e4;border-radius:12px;padding:28px}.expense-form label{display:grid;gap:5px}.expense-form input,.expense-form select,.expense-form textarea{font:inherit;padding:10px;border:1px solid #becab7;border-radius:5px;width:100%;background:white}.expense-form p{font-size:13px}.expense-form button{justify-self:start;border:0;cursor:pointer}.expense-summary{display:flex;gap:40px;flex-wrap:wrap;padding:25px 0}.expense-summary strong{font-size:30px}

.leave-review{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;border-top:1px solid var(--line);margin-top:40px;padding-top:35px;align-items:center}.leave-review h3{font-size:27px}.leave-review .eyebrow{margin-bottom:15px}.leave-review p:not(.eyebrow){font-size:14px;color:var(--muted)}.leave-review .review-instructions{font-size:12px!important;margin:14px 0}.leave-review .text-link{font-size:12px}@media(max-width:700px){.leave-review{grid-template-columns:1fr;gap:15px}}

#community-feedback .review-card blockquote{font-family:'DM Sans',sans-serif;font-size:17px;letter-spacing:0;white-space:pre-wrap;overflow-wrap:anywhere}#community-feedback .review-card figcaption{overflow-wrap:anywhere}

.portal-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.portal-account{padding:22px 0;border-bottom:1px solid var(--line)}@media(max-width:700px){.portal-columns{grid-template-columns:1fr}header{gap:12px;flex-wrap:wrap}}

/* Public site: clear pathways for prospective and current families. */
.public-page .site-header{position:sticky;top:0;z-index:60;max-width:none;background:#faf8eff5;backdrop-filter:blur(12px);gap:20px;padding:16px 32px;box-shadow:0 1px 0 #244c3f0a}
.public-page .site-header .brand{font-size:20px;flex-shrink:0}.public-page .site-header .brand img{width:44px;height:49px;object-fit:contain}.public-page .site-header nav{gap:19px;font-size:12px}.public-page .header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.public-page .header-actions .button{font-size:12px;padding:12px 15px}.public-page .login-link{font-size:12px;font-weight:700;padding:10px 2px}.public-page .wrap{padding-top:76px;padding-bottom:76px}.public-page .hero{padding-top:58px;padding-bottom:58px;gap:50px;grid-template-columns:1.12fr 1fr}.public-page .hero h1{font-size:clamp(42px,4.8vw,67px);line-height:1.08;letter-spacing:-.055em}.public-page .hero .eyebrow{letter-spacing:1.25px}.public-page .hero .intro{max-width:460px;font-size:18px}.public-page .hero .actions{gap:12px;flex-direction:row}.public-page .button.outline{background:transparent;border:1px solid #9aa99a;color:var(--ink)}.public-page .button.outline:hover{background:#e9eddf}.public-page .hero-photo{height:460px}.public-page .enrolling-note{font-size:12px;margin:24px 0 10px}.public-page .enrolling-note a{font-weight:600;text-decoration:underline;text-underline-offset:3px}.public-page .hero-secondary{font-size:12px;color:var(--muted);margin:0}.public-page .hero-secondary a{font-weight:700;color:var(--ink)}.trust-strip{display:flex;justify-content:center;gap:65px;background:#e8eddb;padding:19px 25px;font-size:14px}.trust-strip span{display:flex;align-items:center;gap:10px}.trust-strip strong{font-size:12px;font-weight:500}.public-page .reviews{padding-top:55px;padding-bottom:55px}.public-page .reviews h2{font-size:36px}.public-page .review-card{padding:24px}.public-page .review-card blockquote{font-size:22px;line-height:1.4;margin:18px 0 24px}.public-page .review-card figcaption{font-size:12px}.public-page .google-rating{padding:12px 19px}.public-page .google-rating strong{font-size:25px}.public-page .section-cta{text-align:center;margin:25px 0 0}.public-page .four-programs{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.public-page .program{display:flex;flex-direction:column;padding:26px 24px}.program-number{font-size:25px;font-family:Georgia,serif;margin-bottom:28px;opacity:.7}.public-page .program h3{font-size:27px;margin-bottom:13px}.public-page .program p:not(.eyebrow){font-size:14px;line-height:1.6;margin-bottom:12px}.public-page .program ul{padding-left:17px;font-size:12px;line-height:1.85;margin:0 0 24px}.public-page .program a{margin-top:auto;padding-top:18px}.lilac{background:#e3deeb}.program-next{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px}.program-next p{font-size:12px;max-width:420px;margin:0;color:var(--muted)}.stem-examples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;border-top:1px solid var(--line);padding-top:30px;margin-bottom:26px}.stem-examples article>span{font-size:10px;letter-spacing:1px;color:#996340}.stem-examples h3{font-size:23px;margin:16px 0 12px;letter-spacing:-.03em}.stem-examples p{font-size:14px;color:var(--muted);margin:0}.public-page .teacher{padding-top:25px;gap:70px}.public-page .teacher-photo{padding:0 20px}.public-page .teacher-photo img{height:390px}.public-page .teacher .lead{font-size:18px}.public-page .day-inner{padding-top:58px;padding-bottom:58px}.public-page .day-inner>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.public-page .day-items strong{font-size:16px}.public-page .day-items>div{padding:17px 0}.gallery-intro{font-size:14px;color:var(--muted);margin-bottom:16px}.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:17px;margin-bottom:20px}.gallery-controls button{border:1px solid #bac5b3;border-radius:50%;width:42px;height:42px;background:transparent;color:var(--green);cursor:pointer}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-controls span{min-width:75px;text-align:center;font-size:12px}.public-page .school-gallery .gallery-reel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;scrollbar-width:thin;scrollbar-color:#a7b49b #ebeddf;padding:0 0 20px;overscroll-behavior-x:contain}.public-page .gallery-reel>figure{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;background:#eef0e4;border:1px solid #dde2d5;border-radius:10px;overflow:hidden}.public-page .gallery-reel img,.public-page .gallery-reel video{height:310px!important;border-radius:0!important;object-fit:contain!important}.public-page .gallery-reel figcaption{font-size:13px!important;padding:15px!important;line-height:1.5}.public-page .gallery-reel a{border-radius:0}.public-page .gallery-reel a:hover img{transform:none}.enrollment-section{border-top:1px solid var(--line)}.enrollment-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:35px 0 0;padding:0}.enrollment-steps li{border-top:1px solid var(--line);padding-top:24px}.enrollment-steps span{font:italic 30px Georgia,serif;color:#a75838}.enrollment-steps h3{font-size:24px;margin:16px 0 12px}.enrollment-steps p{font-size:14px;color:var(--muted)}.parent-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:35px 0}.parent-resources h3{font-size:21px}.parent-resources p{font-size:14px;color:var(--muted);margin-bottom:12px}.public-page .holiday-panel{padding:0 25px;border:1px solid var(--line)}.public-page .holiday-panel>summary{padding:24px 35px 24px 0;font-size:18px;font-weight:600}.public-page .holiday-panel>summary:after{top:19px}.public-page .holiday-panel>summary>span{font-size:12px;color:var(--muted);font-weight:400;margin-left:20px}.holiday-content{padding:15px 0 26px}.public-page .holiday-panel .section-top{margin-bottom:24px}.public-page .holiday-panel .eyebrow{margin-top:0}.public-page .faq{padding-top:65px;padding-bottom:65px}.public-page .visit{padding:55px;gap:50px}.public-page .contact a{overflow-wrap:anywhere}.public-page .feedback-section{padding-top:55px;padding-bottom:40px}.public-page .leave-review{margin-top:0}.public-page #share-feedback>p{font-size:14px;color:var(--muted);max-width:700px}.public-page .public-footer{gap:28px;border-top:1px solid var(--line);padding-top:35px;padding-bottom:40px}.public-footer>div{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.public-footer p{color:var(--muted)}.page-intro{padding-bottom:50px!important}.page-intro h1{max-width:850px}.page-intro .intro{max-width:650px}.program-detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.program-detail-hero h1{font-size:clamp(40px,4.6vw,64px)}.program-detail-hero>img{width:100%;height:480px;object-fit:contain;background:#e9eddf;border-radius:16px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:35px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.age-label{font-size:13px;font-weight:600}.detail-points{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.detail-points article{border-top:1px solid var(--line);padding-top:25px}.detail-points span{font-size:13px;color:#a75838}.detail-points h3{font-size:23px;margin:15px 0}.detail-points p{font-size:15px;color:var(--muted)}.public-page .program-detail-body{padding-top:15px}.public-page .detail-practical{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#e9eddf;border-radius:14px;margin-bottom:50px;padding:50px}.detail-practical h2{font-size:36px}.detail-practical h3{font-size:27px}.detail-practical p,.detail-practical li{font-size:14px}.detail-practical ul{padding-left:20px;line-height:1.9}.detail-practical .fine-print{font-size:12px;margin:15px 0 0;color:var(--muted)}
@media(max-width:1100px){.public-page .site-header{padding:13px 24px;flex-wrap:wrap;gap:18px}.public-page .site-header .menu{display:block;order:3;border:1px solid var(--line);border-radius:6px;background:transparent;padding:8px 12px;font-size:12px;color:var(--ink)}.public-page .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:25px;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch;gap:22px;font-size:14px}.public-page .site-header nav.open{display:flex}.public-page .header-actions{margin-left:auto}.public-page .hero h1{font-size:50px}.public-page .hero .actions{flex-wrap:wrap}.public-page .four-programs{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-strip{gap:35px}.stem-examples{grid-template-columns:repeat(2,1fr);gap:30px 40px}.public-page .program-next{flex-wrap:wrap}.program-detail-hero{gap:30px}.public-page .detail-practical{margin-left:25px;margin-right:25px;gap:35px}.public-page .gallery-reel>figure{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:700px){html{scroll-padding-top:155px}.public-page .site-header{padding:10px 18px;gap:10px}.public-page .site-header .brand{font-size:18px}.public-page .site-header .brand img{width:36px;height:40px}.public-page .site-header .brand small{font-size:8px;letter-spacing:1px}.public-page .site-header .menu{order:0;margin-left:auto}.public-page .header-actions{width:100%;margin:0;justify-content:space-between;gap:10px}.public-page .header-actions .button{padding:10px 12px;font-size:11px}.public-page .login-link{font-size:12px;padding:6px}.public-page .wrap{padding:50px 23px}.public-page .hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:40px;gap:35px}.public-page .hero h1{font-size:clamp(39px,10vw,52px);line-height:1.09}.public-page .hero .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:20px}.public-page .hero .intro{font-size:16px;max-width:450px}.public-page .hero .actions{flex-direction:row;gap:10px;margin-top:24px;flex-wrap:wrap}.public-page .hero .actions .button{font-size:12px;flex:none}.public-page .hero-photo{height:340px}.public-page .hero-art{max-width:440px;width:100%;margin:auto}.public-page .sun{font-size:70px}.trust-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;padding:20px 25px}.trust-strip strong{font-size:11px}.trust-strip span{gap:8px}.public-page .reviews{padding-top:40px;padding-bottom:40px}.public-page .reviews h2{font-size:32px}.public-page .review-card blockquote{font-size:22px}.public-page .google-rating{margin-top:20px}.public-page .reviews-bottom a{white-space:normal}.public-page .four-programs{grid-template-columns:1fr;gap:15px}.public-page .program{position:relative;padding:25px}.public-page .program-number{position:absolute;right:26px;top:25px;font-size:30px}.public-page .program .eyebrow{padding-right:40px}.public-page .program h3{font-size:27px}.public-page .program ul{margin-bottom:18px}.public-page .program-next{gap:18px}.public-page .section-top>.text-link,.public-page .section-top>.button{display:inline-flex;margin-top:20px}.stem-examples{grid-template-columns:1fr;gap:24px}.stem-examples h3{font-size:24px;margin-top:10px}.public-page .teacher{padding-top:0;gap:30px}.public-page .teacher-photo{padding:0 15px;margin:0}.public-page .teacher-photo img{height:370px}.public-page .day-inner{padding-top:45px;padding-bottom:45px}.public-page .gallery-reel>figure{flex-basis:88%}.public-page .gallery-reel img,.public-page .gallery-reel video{height:330px!important}.gallery-controls{justify-content:flex-start;margin:18px 0}.enrollment-steps{grid-template-columns:1fr;gap:15px}.enrollment-steps li{position:relative;padding:20px 0 0 45px}.enrollment-steps span{position:absolute;left:0;top:24px;font-size:26px}.enrollment-steps h3{font-size:23px;margin:7px 0 10px}.public-page .enrollment-section .actions{flex-direction:column;align-items:flex-start;gap:20px}.parent-resources{grid-template-columns:1fr;gap:25px}.parent-resources h3{margin-bottom:12px}.public-page .holiday-panel{padding:0 16px}.public-page .holiday-panel>summary{font-size:16px}.public-page .holiday-panel>summary>span{display:block;margin-left:0;margin-top:4px}.public-page .holiday-panel .section-top .text-link{margin-top:15px}.public-page .holiday-panel .section-top p{margin-top:0}.public-page .visit{padding:35px 25px;gap:20px}.public-page .visit h2{font-size:34px}.public-page .visit .button{margin-left:0!important;margin-right:8px}.public-page .feedback-section{padding-top:40px}.public-page .leave-review h3{font-size:25px}.public-page .expense-form{padding:23px}.public-page .public-footer{align-items:flex-start}.public-page .public-footer .brand{width:100%}.public-footer>div{gap:20px}.public-page .program-detail-hero{grid-template-columns:1fr;gap:35px}.program-detail-hero h1{font-size:42px}.program-detail-hero>img{height:360px}.program-detail-hero .actions{flex-direction:column;align-items:flex-start}.breadcrumb{margin-bottom:25px}.detail-points{grid-template-columns:1fr;gap:15px;margin-top:25px}.public-page .detail-practical{grid-template-columns:1fr;margin:0 15px 35px;padding:32px 23px;gap:30px}.detail-practical h2{font-size:32px}.public-page .page-intro h1{font-size:43px}}
