body{font-size:18px}.brand{display:flex;flex-shrink:0}.brand .school-logo{width:230px;height:auto;max-width:none;object-fit:contain;display:block}.utility-nav{color:var(--green);font-size:14px}.utility-nav a{padding:0 4px}header,header:not(.scrolled){background:#fffffffa;color:var(--ink);border-bottom:1px solid var(--line);gap:22px}header nav{font-size:17px;gap:22px;white-space:nowrap}header.scrolled{padding-top:14px;padding-bottom:14px}.header-cta{font-size:16px;white-space:nowrap;padding:11px 16px;gap:18px}.dropdown{width:285px}.dropdown a{font-size:16px;white-space:normal;padding:11px 7px}.hero-copy p{font-size:19px}.hero-copy .eyebrow{font-size:14px}.hero-bottom{gap:25px}.hero-caption{font-size:15px}.scroll-hint{font-size:12px;letter-spacing:1px}.image-note{font-size:12px}.section-heading>p,.about-body>p:not(.large),.course-copy p,.community p,.admission p{font-size:18px}.quick-strip a{font-size:20px}.quick-strip small{font-size:12px;letter-spacing:1px}.quick-strip span{bottom:31px}.eyebrow{font-size:13px;letter-spacing:1.7px}.tabs button{font-size:18px}.course-copy li{font-size:16px}.filters button{font-size:17px}.photo-card small{font-size:12px;letter-spacing:.7px}.subtle,.demo-tag,.footer-bottom,.page-provenance{font-size:14px}.footer-bottom{letter-spacing:.3px;gap:25px;flex-wrap:wrap}.footer-services{font-size:15px;gap:20px}.footer-main p{font-size:16px}.notice-list>a{font-size:17px;grid-template-columns:55px 1fr 95px 20px}.notice-list>a .date{font-size:14px}.notice-type{font-size:14px}.community-route{font-size:21px}.community-route small{font-size:12px;letter-spacing:1px}.white-btn,.outline-btn,.line-link,.text-link{font-size:17px}.breadcrumbs{font-size:15px}.sub-hero>p{font-size:17px}#sub-nav a{font-size:17px;padding:18px 5px}.sub-layout{grid-template-columns:240px minmax(0,1fr);gap:45px}#sub-body p{font-size:18px;line-height:1.95}#sub-body .page-provenance{font-size:14px}.school-list-head,.school-list-row,.dc-list-head,.dc-list-row{grid-template-columns:48px 1fr 80px 108px;gap:14px;padding:20px 10px;font-size:16px}.school-list-head,.dc-list-head{font-size:14px}.school-list-row time,.list-author,.list-number,.dc-list-row time{font-size:14px}.school-board-search input,.dc-board-toolbar input{font-size:16px;width:235px}.gallery-caption strong{font-size:18px}.gallery-caption time{font-size:14px}.class-room-tabs a{font-size:16px}.class-room-tabs span{font-size:14px}.section-kicker,.semantic-intro>span,.dc-kicker{font-size:13px;letter-spacing:1px}.sitemap-group a{font-size:17px;padding:15px 0}#sub-body .sitemap-group h2{font-size:24px}.sitemap-services a{font-size:16px}.school-gallery,.dc-gallery-grid{gap:30px 24px}.semantic-photo figcaption,.dc-activity figcaption{font-size:15px}.member-field label,.member-check{font-size:16px}.member-input input{font-size:17px}.member-options{font-size:15px;flex-wrap:wrap}.member-submit{font-size:18px}.member-panel{padding:40px}.member-tabs a{font-size:17px}#sub-body .member-form-heading p,#sub-body .member-join p{font-size:17px!important}#sub-body .member-terms p,#sub-body .member-terms dl{font-size:16px!important}.member-terms{max-height:240px}#sub-body .eligibility-cards p,#sub-body .dc-age-grid article p{font-size:16px!important}.history-timeline{padding-left:0}.history-timeline li{grid-template-columns:115px 1fr}.history-timeline time{font-size:15px}.admission-facts>div{font-size:17px}.board-access strong{font-size:18px}.board-access a{font-size:16px}.gallery-pagination button{font-size:15px;padding:9px 13px}.gallery-page-status{font-size:14px}.semantic-section-head>span{font-size:14px}.location-box dl>div{font-size:17px}.admission-source-note a{font-size:17px}
@media(max-width:1250px){header .header-cta{display:none}header nav{gap:22px}.brand .school-logo{width:215px}}
@media(max-width:1100px){header nav{font-size:16px;gap:17px}.section-heading>p{font-size:17px}.sub-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}.school-list-head,.school-list-row,.dc-list-head,.dc-list-row{grid-template-columns:32px 1fr 58px 90px;font-size:15px;gap:8px}.school-list-row time,.list-author,.list-number,.dc-list-row time{font-size:13px}.sub-layout .member-panel{padding:30px}}
@media(max-width:850px){.brand .school-logo{width:205px}.utility-nav{font-size:13px;gap:12px}.mobile-open nav{font-size:17px}.sub-layout{display:block}#sub-nav a{font-size:15px;padding:11px 13px}.hero-copy p{font-size:18px}.quick-strip a{font-size:18px}.section-heading>p{font-size:17px}.sitemap-group a{font-size:16px}.footer-main{align-items:center}}
@media(max-width:560px){body{font-size:16px}.brand .school-logo{width:185px}.utility-nav{font-size:12px;gap:9px;top:5px}.utility-nav a{padding:0 2px}header:not(.scrolled){padding-top:30px;padding-bottom:15px}.hero-copy{top:45%}.hero-copy p{font-size:17px}.hero-copy .eyebrow{font-size:12px}.hero h1{font-size:47px}.hero-bottom{bottom:40px;gap:14px}.hero-caption{font-size:13px}.slide-controls{font-size:14px}.hero .image-note{font-size:10px}.quick-strip a{font-size:18px;padding:22px 7%}.quick-strip small{font-size:10px}.quick-strip span{bottom:26px}.section-heading>p,.about-body>p:not(.large),.course-copy p,.community p,.admission p{font-size:17px}.eyebrow{font-size:12px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:0}.tabs button{font-size:17px;padding:13px 7px}.course-copy li{font-size:15px}.filters{gap:25px}.filters button{font-size:16px}.photo-card strong{font-size:16px}.photo-card small{font-size:11px;letter-spacing:0}.photo-card .arrow{font-size:14px}.community-route{font-size:18px}.community-route small{font-size:11px}.notice-list>a{grid-template-columns:40px 1fr 15px;gap:12px;font-size:16px;line-height:1.8}.notice-type{font-size:12px}.footer-bottom{font-size:12px}.footer-services{font-size:14px;gap:12px;flex-wrap:wrap}.footer-main .brand .school-logo{width:195px}.sub-hero{padding-top:150px}.sub-hero>p{font-size:15px}.breadcrumbs{font-size:14px}#sub-body p{font-size:16px}#sub-nav a{font-size:15px}.sitemap-grid{grid-template-columns:1fr;gap:35px}.sitemap-group a{font-size:17px}.school-board-toolbar,.dc-board-toolbar{align-items:flex-start;flex-wrap:wrap}.school-board-search input,.dc-board-toolbar input{font-size:16px;width:205px}.school-list-head,.school-list-row,.dc-list-head,.dc-list-row{grid-template-columns:25px 1fr 80px;gap:8px;font-size:15px}.school-list-row time,.dc-list-row time{font-size:12px}.gallery-caption strong{font-size:16px}.gallery-caption time{font-size:12px}.class-room-tabs a{font-size:14px}.class-room-tabs span{font-size:12px}.gallery-pagination{gap:5px}.gallery-pagination button{font-size:13px;padding:8px 9px}.semantic-section-head{flex-wrap:wrap}.semantic-section-head>span{font-size:13px}.history-timeline li{grid-template-columns:95px 1fr;gap:12px}.history-timeline time{font-size:13px}.admission-facts>div{grid-template-columns:85px 1fr;font-size:16px}.semantic-photo figcaption,.dc-activity figcaption{font-size:13px}.school-gallery,.dc-gallery-grid{gap:25px 14px}.member-panel{padding:25px 20px}.member-options{font-size:14px}.member-check{font-size:15px}.calendar-toolbar{flex-wrap:wrap;gap:15px}.calendar-controls button{font-size:14px;padding:7px 10px}.calendar-weekdays span{font-size:14px}.calendar-day{font-size:14px}.calendar-day small{font-size:10px}.location-box dl>div{font-size:16px}.white-btn,.outline-btn,.line-link,.text-link{font-size:16px}}
/* Shared gallery geometry for kindergarten and childcare. */
.school-gallery,.dc-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.school-gallery-card .gallery-picture{aspect-ratio:1.4;padding:0;overflow:hidden}.school-gallery-card .gallery-picture>img,.school-gallery-card .gallery-picture>svg{display:block;width:100%;height:100%;max-height:none;object-fit:cover}.weekly-plan-summary{margin:25px 0}.weekly-plan-summary>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px}.weekly-plan-summary dd{margin:0;color:var(--muted)}.weekly-plan-table{margin:30px 0 40px}.weekly-plan-table table{width:100%;border-collapse:collapse}.weekly-plan-table th,.weekly-plan-table td{padding:18px 20px;text-align:left;border:1px solid var(--line);font-size:17px}.weekly-plan-table th{background:var(--sage);font-weight:500}.weekly-plan-table tbody th{width:105px;white-space:nowrap}@media(max-width:560px){.school-gallery,.dc-gallery-grid{gap:25px 14px}.weekly-plan-summary>div{grid-template-columns:100px 1fr;gap:12px;font-size:16px}.weekly-plan-table th,.weekly-plan-table td{padding:14px 12px;font-size:16px}.weekly-plan-table tbody th{width:75px}}
/* Keep utility links stationary across home, subpages, and scroll states. */
html{scrollbar-gutter:stable;overflow-y:scroll}body .utility-nav,body.subpage-active .utility-nav{position:fixed;top:8px;right:4.5%;padding:0;margin:0;background:transparent;display:flex;align-items:center;gap:17px;color:var(--green);font-size:14px;font-weight:400;line-height:1.7;white-space:nowrap;z-index:22}body .utility-nav a,body.subpage-active .utility-nav a{display:block;padding:0 4px;margin:0;border:0;font:inherit;line-height:inherit;transform:none;transition:color .2s;text-decoration:none}body .utility-nav a:hover{color:#304a38;text-decoration:underline;text-underline-offset:4px}@media(max-width:850px){body .utility-nav,body.subpage-active .utility-nav{top:7px;right:5%;gap:12px;font-size:13px}}@media(max-width:560px){body .utility-nav,body.subpage-active .utility-nav{top:5px;right:5%;gap:9px;font-size:12px}body .utility-nav a,body.subpage-active .utility-nav a{padding:0 2px}}

@media(max-width:850px){.school-gallery,.dc-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.school-gallery,.dc-gallery-grid{grid-template-columns:minmax(0,1fr)}}

/* Board search: sage border, inset icon and clear keyboard focus. */
.school-board-toolbar,.dc-board-toolbar{align-items:center;gap:18px;margin-bottom:28px}
.school-board-toolbar>p,.dc-board-toolbar>p{margin:0;white-space:nowrap}
.school-board-toolbar>p strong,.dc-board-toolbar>p b{color:var(--green);font-weight:600}
.school-board-search,.dc-board-toolbar>label{position:relative;display:flex;align-items:center;width:280px;max-width:100%;min-width:0;box-sizing:border-box;background:#fafbf8;border:1px solid #ced8cc;border-radius:12px;transition:border-color .2s,box-shadow .2s,background-color .2s}
.school-board-search:before,.dc-board-toolbar>label:before{content:'';position:absolute;left:17px;top:16px;width:12px;height:12px;box-sizing:border-box;border:1.8px solid #647b68;border-radius:50%;pointer-events:none}
.school-board-search:after,.dc-board-toolbar>label:after{content:'';position:absolute;left:28px;top:28px;width:7px;height:1.8px;background:#647b68;transform:rotate(45deg);transform-origin:left center;pointer-events:none}
.school-board-search>span[aria-hidden]{display:none}
.school-board-search input,.dc-board-toolbar>label input{display:block;box-sizing:border-box;width:100%;min-width:0;height:48px;padding:11px 15px 11px 44px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:24px;outline:none}
.school-board-search input::placeholder,.dc-board-toolbar>label input::placeholder{color:#7b887d;opacity:1}
.school-board-search:hover,.dc-board-toolbar>label:hover{border-color:#8fa68e;background:#fff}
.school-board-search:focus-within,.dc-board-toolbar>label:focus-within{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #4d66571c}
.school-board-search:has(input:disabled){opacity:.6;background:#f1f3ef;box-shadow:none}
.school-board-search input:disabled{cursor:not-allowed}
@media(max-width:560px){.school-board-toolbar,.dc-board-toolbar{align-items:stretch;gap:12px}.school-board-toolbar>p,.dc-board-toolbar>p{flex-basis:100%}.school-board-search,.dc-board-toolbar>label{width:100%}}
@media(prefers-reduced-motion:reduce){.school-board-search,.dc-board-toolbar>label{transition:none}}

.dc-priority-documents{margin:48px 0;min-width:0}
.dc-document-heading{margin-bottom:26px}
#sub-body .dc-document-heading h3{font-size:28px;line-height:1.4;letter-spacing:-.8px;margin:0 0 12px}
#sub-body .dc-document-heading p{margin:0;font-size:17px}
.dc-priority-group{margin-top:28px;border:1px solid #dce3d8;border-radius:0;overflow:hidden;background:#fff}
.dc-priority-group-head{display:flex;gap:13px;align-items:center;padding:22px 24px;background:#f2f5ee;border-bottom:1px solid #dce3d8}
.dc-priority-group-head h4{font-size:19px;font-weight:600;line-height:1.5;margin:0;color:var(--ink)}
.dc-priority-rank{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:6px 12px;border-radius:0;background:var(--green);color:#fff;font-size:14px;font-weight:600;line-height:1.5}
.dc-priority-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.85}
.dc-priority-table thead{background:#fafbf8}
.dc-priority-table th,.dc-priority-table td{padding:20px 22px;vertical-align:top;text-align:left;border-bottom:1px solid #e5e9e1;overflow-wrap:anywhere}
.dc-priority-table thead th{font-size:14px;font-weight:600;color:var(--green);padding:15px 22px}
.dc-priority-table th:first-child{width:25%}
.dc-priority-table th:last-child{width:20%}
.dc-priority-table tbody th{font-size:16px;font-weight:500;color:var(--ink);background:#fcfdfb}
.dc-priority-table tbody td{color:var(--muted)}
.dc-priority-table tr:last-child>*{border-bottom:0}
.dc-priority-table ul{margin:0;padding-left:18px;list-style:disc}
.dc-priority-table li+li{margin-top:7px}
.dc-document-badge{display:inline-block;padding:5px 9px;border-radius:0;background:#f2f1e8;color:#74664a;font-size:13px;line-height:1.6;font-weight:500}
.dc-document-badge.is-linked{background:#eaf1e6;color:#4d6657}
@media(max-width:1100px){.dc-priority-table th,.dc-priority-table td{padding:17px 14px}.dc-priority-table thead th{padding:13px 14px}}
@media(max-width:700px){#sub-body .dc-document-heading h3{font-size:24px}.dc-priority-group-head{padding:18px}.dc-priority-table,.dc-priority-table tbody,.dc-priority-table tr,.dc-priority-table tr>*{display:block;width:auto!important}.dc-priority-table thead{display:none}.dc-priority-table tr{padding:20px 18px;border-bottom:1px solid #e5e9e1}.dc-priority-table tr:last-child{border-bottom:0}.dc-priority-table tbody th{padding:0 0 13px;font-size:17px;background:none;border:0}.dc-priority-table tbody td{padding:0;border:0;font-size:15px}.dc-priority-table tbody td:last-child{padding-top:14px}.dc-priority-table td:last-child:before{content:attr(data-label);display:inline-block;margin-right:10px;font-size:13px;color:var(--muted)}.dc-priority-table li+li{margin-top:8px}.dc-document-heading .dc-kicker{font-size:12px}}

.semantic-values .intro-value-card{padding:0;border:1px solid #dfe5da;border-radius:0;overflow:hidden;background:#fafbf7}
.intro-value-image{aspect-ratio:8/5;overflow:hidden;background:#edf1e7}
.intro-value-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.intro-value-card:nth-child(1) img{object-position:58% center}
.intro-value-card:nth-child(2) img{object-position:center center}
.intro-value-card:nth-child(3) img{object-position:68% center}
.intro-value-card:nth-child(4) img{object-position:62% center}
.intro-value-copy{padding:28px}
.intro-value-copy .value-number{font-size:28px;margin-bottom:14px;color:#6d865e}
@media(hover:hover){.intro-value-card:hover .intro-value-image img{transform:scale(1.035)}}
@media(max-width:560px){.intro-value-copy{padding:22px}.intro-value-image{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.intro-value-image img{transition:none}.intro-value-card:hover .intro-value-image img{transform:none}}

.intro-value-card:nth-child(n) .intro-value-image img{object-position:center center}

.director-greeting{grid-template-columns:240px minmax(0,1fr)}
.director-photo{width:100%;max-width:240px}
@media(max-width:560px){.director-greeting{grid-template-columns:minmax(0,1fr)}.director-photo{max-width:220px}}

.history-photos .history-restored-photo{display:block;width:100%;height:auto;object-fit:cover}

.history-photos .semantic-photo figcaption{padding:16px 0 4px;font-size:18px;font-weight:500;line-height:1.7;color:var(--ink);letter-spacing:-.2px}
@media(max-width:560px){.history-photos .semantic-photo figcaption{font-size:17px;padding-top:13px}}

.education-photo-grid .semantic-photo figcaption,.dc-activity figcaption{padding:16px 0 4px;font-size:18px;font-weight:500;line-height:1.7;color:var(--ink);letter-spacing:-.2px}
@media(max-width:560px){.education-photo-grid .semantic-photo figcaption,.dc-activity figcaption{font-size:17px;padding-top:13px}}

.admission-welcome .history-restored-photo{display:block;width:100%;height:auto;object-fit:cover}

.semantic-montessori .education-section:last-child .education-photo-grid .isolated-photo{aspect-ratio:593/413;overflow:hidden}
.semantic-montessori .education-section:last-child .education-photo-grid .isolated-photo svg{display:block;width:100%;height:100%;max-height:none}

.history-photos{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.history-photos .semantic-photo{min-width:0}
.history-photos .isolated-photo{aspect-ratio:4/3;overflow:hidden}
.history-photos .isolated-photo .history-restored-photo,.history-photos .isolated-photo svg{display:block;width:100%;height:100%;max-height:none;object-fit:cover}
