body{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.header{width:100%;flex-shrink:0;z-index:10}
.school-viewport{overflow:hidden;flex:1;min-height:0}
.school-track{display:flex;width:200%;height:100%;transition:transform 580ms cubic-bezier(.22,.75,.16,1)}
body[data-school=winter] .school-track{transform:translateX(-50%)}
.school-page{width:50%;height:100%;overflow-y:auto;overflow-x:hidden;flex-shrink:0;position:relative;scroll-behavior:smooth}
.school-page iframe{display:block;width:100%;height:100%;border:0;background:#faf8f0}
.header nav .winter-nav{position:relative;font-size:15px;font-weight:750;color:#27594a;white-space:nowrap;background:transparent;padding:14px 0}
.tab-snow{position:absolute;inset:6px -10px;overflow:hidden;pointer-events:none}
.tab-snow img{position:absolute;width:14px;height:14px;left:calc(8% + var(--i)*68%);top:-15px;opacity:0;animation:tab-snowfall 4.8s linear infinite;animation-delay:calc(var(--i)*-2.4s)}
@keyframes tab-snowfall{0%{transform:translate(0,0) rotate(0deg);opacity:0}15%{opacity:.7}85%{opacity:.6}100%{transform:translate(5px,40px) rotate(100deg);opacity:0}}
.header nav .winter-nav[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
@media(max-width:1000px){.header nav{gap:14px}.header nav .winter-nav{font-size:14px}}
@media(max-width:700px){.school-page .mobile-contact{position:sticky;bottom:0}.school-page .footer{padding-bottom:30px}.header nav .winter-nav{font-size:16px;padding:14px 0}.header nav.is-open{z-index:12}.tab-snow{width:105px}}
@media(prefers-reduced-motion:reduce){.school-track{transition:none}.school-page{scroll-behavior:auto}.tab-snow{display:none}}
.header nav{align-items:center}
@media(max-width:700px){.header nav.is-open{align-items:stretch}}
