.family-note{margin-top:24px;color:#aaa;font-size:.875rem;line-height:1.6}
.grid>*,.content-grid>*,.section-head>*,.connect-card>*{min-width:0}
@media(max-width:900px){.links.open{top:calc(100% + 4px);max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}.nav-group.expanded .nav-dropdown{display:grid}.nav-main{min-height:44px}.page-hero h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:640px){.method-btn{white-space:normal}.connect-text{min-width:0;overflow-wrap:anywhere}.connect-icon{flex-shrink:0}}
.family-note summary{cursor:pointer}.family-note summary span{text-decoration:underline;text-underline-offset:3px}.family-note summary:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}.family-note[open] p{margin-top:12px;max-width:900px}
.faq-grid details p a{color:#604e00;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.faq-grid details p a:focus-visible{outline:2px solid #604e00;outline-offset:3px}
.connect-brand-icon{flex:none;width:48px;height:48px;object-fit:contain}
.connect-text{min-width:0;flex:1}
.connect-text strong{overflow-wrap:anywhere}
@media(max-width:640px){.connect-brand-icon{width:42px;height:42px}.connect-link{gap:10px}.connect-icon{width:40px;height:40px;border-radius:13px}}
/* Summer Camp takes the same space as each program on the home page. */
@media(min-width:951px){.programs{grid-template-columns:repeat(4,minmax(0,1fr))}}
.program{display:flex;flex-direction:column;min-width:0}
.program-body{display:flex;flex:1;flex-direction:column}
.program-body .specs{margin-top:auto}
.program-body .btn-dark{margin-top:auto!important}
.summer-program img{width:100%;object-fit:cover}
.summer-program .enroll-cost{font-size:.85rem}
.summer-hero-collage{grid-template-columns:1fr;grid-template-rows:auto}
.summer-hero-big{grid-row:auto;min-height:0}
.summer-hero-small,.summer-gallery-main{min-height:0;align-self:start}
.summer-hero-v11 .summer-hero-collage img,.summer-gallery-v11 img{height:auto;object-fit:contain}
.summer-gallery-stack{grid-template-rows:auto auto}
@media(max-width:640px){.summer-hero-big,.summer-hero-small,.summer-gallery-main{min-height:0}}
