.story-page{background:var(--paper)}
.story-page .site-header{position:relative;background:var(--ink);border-bottom-color:#ffffff30}
.story-page.nav-open .site-header{position:fixed}
.story-opening{max-width:1440px;margin:0 auto;padding:75px 8% 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;align-items:center}
.story-opening .eyebrow,.story-chapter .eyebrow,.story-health .eyebrow,.story-together .eyebrow,.school-story .eyebrow{font-size:.875rem}
.story-opening h1{font-family:var(--serif);font-size:clamp(3.8rem,6vw,6.2rem);font-weight:400;letter-spacing:-.04em;line-height:1.02;margin:23px 0 28px}
.story-opening h1 em{font-weight:400}
.story-opening-copy>p:not(.eyebrow):not(.story-signature){font-size:1.06rem;line-height:1.9;color:var(--soft);max-width:405px}
.story-signature{font-family:var(--serif);font-size:1.8rem;font-style:italic;color:var(--accent);margin-top:21px}
.story-opening figure img{height:auto;aspect-ratio:4/4.5;object-position:center 45%}
.story-opening figcaption,.story-health figcaption{font-family:var(--serif);font-size:1.06rem;font-style:italic;line-height:1.6;color:var(--soft);margin-top:15px}
.story-chapter{max-width:1260px;margin:0 auto;padding:10px 8% 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:9%;align-items:start}
.chapter-heading{padding-top:30px;border-top:1px solid var(--line)}
.chapter-heading h2{font-size:clamp(2.8rem,3.8vw,4rem);margin-top:19px;line-height:1.07}
.chapter-copy{padding-top:25px}
.chapter-copy p,.health-copy>p:not(.eyebrow),.story-together>div p,.school-copy>p{font-size:1.02rem;line-height:1.95;color:var(--soft);margin-bottom:19px}
.chapter-copy p:last-child,.health-copy>p:last-child,.story-together>div p:last-child{margin-bottom:0}
.story-health{background:#e9eddf;padding:85px 8%}
.health-inner{max-width:1210px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.1fr);gap:10%;align-items:center}
.story-health figure img{aspect-ratio:4/5;height:auto;object-position:52% 45%}
.health-copy h2{font-size:clamp(3rem,4.2vw,4.5rem);line-height:1.05;margin:20px 0 27px}
.story-together{max-width:830px;margin:0 auto;padding:85px 35px 92px;text-align:center}
.story-together h2{font-size:clamp(3.2rem,4.4vw,4.7rem);margin:20px 0 30px}
.story-together>div{max-width:650px;margin:0 auto}
.school-story{background:var(--ink);color:var(--cream);padding:85px 8% 65px}
.school-introduction{max-width:1180px;margin:0 auto 45px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10%;align-items:start}
.school-introduction h2{font-size:clamp(3rem,4.4vw,4.8rem);margin-top:20px;line-height:1.04}
.school-copy>p{color:#e2e7da}
.school-copy .text-link{margin-top:3px;font-size:.94rem}
.school-carousel{max-width:1180px;margin:0 auto}
.school-gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9aa993 #263d32;overscroll-behavior-x:contain;scroll-padding:0}
.school-gallery:focus-visible{outline:2px solid var(--cream);outline-offset:6px}
.school-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0}
.slide-image{aspect-ratio:4/3;background:#1c3027;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slide-image img{width:100%;height:100%;object-fit:contain}
.school-slide figcaption{font-family:var(--serif);font-size:1.45rem;line-height:1.4;padding:19px 0 17px;display:flex;align-items:baseline;gap:20px}
.school-slide figcaption span{font-family:var(--sans);font-size:.875rem;color:#bdcbb5}
.carousel-footer{border-top:1px solid #ffffff35;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.photo-credits{font-size:.875rem;color:#c3cfb9;line-height:1.8}
.photo-credits a{text-decoration:underline;text-underline-offset:4px}
.carousel-controls{display:flex;align-items:center;gap:24px;flex-shrink:0}
.carousel-controls button{background:transparent;color:var(--cream);border:1px solid #becbb495;display:grid;place-items:center;width:48px;height:48px;cursor:pointer;font-size:1.5rem;line-height:1;transition:background .2s,color .2s}
.carousel-controls button:hover:not(:disabled){background:var(--cream);color:var(--ink)}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.carousel-count{min-width:39px;text-align:center;font-size:.9rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.story-back{padding:42px 8%;text-align:center}
.story-back .text-link{font-size:.95rem;gap:20px}
@media(max-width:1000px){.story-opening{padding:62px 7%;gap:7%}.story-opening h1{font-size:4.6rem}.story-chapter{padding-left:7%;padding-right:7%;gap:7%}.chapter-heading h2{font-size:3.1rem}.story-health{padding:70px 7%}.health-inner{gap:7%;align-items:start}.health-copy h2{font-size:3.5rem}.story-health figure{margin-top:8px}.school-story{padding:70px 7% 55px}.school-introduction{gap:7%}.school-introduction h2{font-size:3.8rem}}
@media(max-width:750px){.story-opening{grid-template-columns:1fr;gap:33px;padding:47px 7% 55px}.story-opening h1{font-size:clamp(3.8rem,10vw,5.2rem);margin:20px 0 24px}.story-opening-copy>p:not(.eyebrow):not(.story-signature){max-width:550px}.story-opening figure{width:100%;max-width:530px;justify-self:center}.story-opening figure img{aspect-ratio:1;object-position:center}.story-signature{margin-top:16px}.story-chapter{grid-template-columns:1fr;gap:22px;padding:0 7% 60px}.chapter-heading{padding-top:26px}.chapter-heading h2{font-size:3.25rem;margin-top:16px}.chapter-copy{padding-top:0}.chapter-copy p,.health-copy>p:not(.eyebrow),.story-together>div p,.school-copy>p{font-size:1rem;line-height:1.9}.health-inner{grid-template-columns:1fr;gap:34px}.story-health{padding:57px 7% 61px}.story-health figure{width:85%;max-width:440px;margin:0 auto}.story-health figure img{aspect-ratio:4/4.5}.health-copy h2{font-size:3.45rem;margin-top:17px}.story-together{padding:62px 7% 65px}.story-together h2{font-size:3.35rem}.school-story{padding:61px 7% 45px}.school-introduction{grid-template-columns:1fr;gap:27px;margin-bottom:34px}.school-introduction h2{font-size:3.6rem;margin-top:15px}.school-slide figcaption{font-size:1.3rem;gap:15px;padding-top:15px}.carousel-footer{align-items:start;flex-wrap:wrap;gap:22px}.carousel-controls{margin-left:auto;gap:19px}.carousel-controls button{width:46px;height:46px}.photo-credits{font-size:.875rem}.story-back{padding:33px 7%}}
@media(max-width:390px){.story-opening h1{font-size:3.55rem}.chapter-heading h2{font-size:2.95rem}.health-copy h2{font-size:3.15rem}.story-together h2{font-size:3.05rem}.school-introduction h2{font-size:3.3rem}.school-slide figcaption{font-size:1.2rem}}
