/* A small motion vocabulary: aperture, measured type, photographic depth. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--scene-progress:0;--hero-drift:0px;--hero-expand:1;--title-progress:1}
.home-heading h1{font-weight:400;color:var(--navy);font-size:10.55vw;letter-spacing:-.065em;word-spacing:.08em;padding-top:35px;padding-bottom:30px;overflow:clip}
.hero-word{display:inline-block;overflow:clip;vertical-align:top}.hero-word>span{display:block;transform:translate3d(calc(var(--hero-drift) * -1),0,0);will-change:transform}.hero-word:last-child>span{transform:translate3d(var(--hero-drift),0,0)}
.entrance-running .hero-word>span{transform:translate3d(0,calc((1 - var(--title-progress)) * 110%),0)}
.home-photo{transform:scale(var(--hero-expand));transform-origin:center center;will-change:transform}.home-hero{overflow:clip}.home-intro{padding-top:72px}.home-intro h2{font-weight:400;letter-spacing:-.055em}
.home-purpose{padding-top:100px;max-width:1500px}.home-purpose h2{max-width:1150px;font-size:clamp(36px,4.8vw,74px)}.home-purpose>p{margin-left:auto;max-width:620px}.home-purpose>.text-link{margin-left:calc(100% - 620px)}
.home-impact{padding-bottom:30px}.home-impact strong{color:var(--navy)}
.photo-composition{padding:45px 0 100px;overflow:clip}.composition-stage{display:grid;grid-template-columns:.8fr 2.05fr .8fr;gap:26px;align-items:center;margin:0 var(--page-gutter)}.composition-stage>figure{min-width:0;transform:translateY(calc((1 - var(--scene-progress)) * 70px));will-change:transform}.composition-stage>figure:nth-child(2){transform:translateY(calc((1 - var(--scene-progress)) * -45px)) scale(calc(.95 + var(--scene-progress) * .05))}.composition-stage>figure:nth-child(3){transform:translateY(calc((1 - var(--scene-progress)) * -85px))}.composition-stage img{height:auto;width:100%}
.learning-section{background:var(--navy);padding-top:85px}.learning-section .stacked-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:end;margin-bottom:62px}.learning-section .stacked-heading p{margin:0;max-width:390px}.learning-cards{max-width:none;grid-template-columns:1.1fr .85fr;gap:14%;padding:0 4%}.learning-card{max-width:520px}.learning-card.resource-learning{margin-top:150px;max-width:420px}.learning-card>div{padding-top:30px}.learning-card h3{font-size:40px;letter-spacing:-.045em}.learning-card.resource-learning figure{transform:translateY(calc((1 - var(--scene-progress)) * -36px))}.learning-card .text-link{font-size:16px}
.page-cta{background:var(--navy);padding-top:90px;padding-bottom:75px}.page-cta h2{color:#e7edf6;font-size:clamp(50px,8.6vw,140px)}.page-cta p{color:#b9c8da}.page-cta .button{background:transparent;color:var(--paper);border-color:#8ba1bb;padding:21px 28px}.page-cta .button:hover{background:var(--paper);color:var(--navy)}
.horizon{background:#dce6f1;color:var(--navy);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.horizon h2{font-size:clamp(54px,7vw,108px)}.horizon .large-copy{font-size:30px;max-width:430px}.horizon>div:last-child{margin-top:8px}.horizon .text-link:hover{color:var(--blue)}.school-impact{background:var(--navy)}.school-impact strong{color:#d7e3f2}.school-impact h2{color:var(--paper)}.impact-feature strong,.context-number strong,.water-comparison strong,.partner-facts strong{color:var(--navy)}
.context-landscape{grid-column:1/-1;max-width:none!important;margin-top:15px}.context-section{row-gap:48px}.resource-help{grid-template-rows:max-content 1fr;grid-template-columns:1.3fr .7fr;column-gap:12%;row-gap:45px;align-items:start}.resource-help>div{grid-column:1}.resource-reader{grid-column:2;grid-row:1/3}.resource-help>div:first-child{padding-top:25px}.resource-help>div:nth-child(2){border-top:1px solid var(--line);padding-top:35px}.resource-cover{perspective:1200px}.resource-cover a{display:block;transform:rotateY(var(--book-turn,0deg));transform-origin:left center;transition:transform .65s var(--motion-ease)}.resource-cover a:hover,.resource-cover a:focus-visible{--book-turn:-8deg}
.impact-panorama,.involved-panorama{margin:0;overflow:clip}.cinema-photo{padding:0 var(--page-gutter);transform:translateZ(0)}.cinema-photo .photo-button{transform:scale(calc(.94 + var(--scene-progress) * .06));transform-origin:center}.people-partner-pair{display:grid;grid-template-columns:1.05fr .7fr;column-gap:12%;align-items:center;margin-top:90px;padding-top:60px;border-top:1px solid var(--line)}.people-partner-pair>figure{grid-column:2;grid-row:1}.people-partner-pair .partner-summary{grid-column:1;grid-row:1;border:0;margin:0;padding:0}.involved-panorama{margin-top:75px;margin-bottom:80px}.partner-community{width:83%}.partner-group{width:70%}.school-details{grid-template-columns:1fr .75fr;gap:16%}
/* Grouped reveals, never a fade-up on every block. */
.title-line{display:block;overflow:clip;padding-bottom:.07em;margin-bottom:-.07em}.title-line>span{display:block}.motion-ready .interior h1 .title-line>span{animation:type-arrive 950ms var(--motion-ease) both}.motion-ready .interior h1 .title-line:nth-child(2)>span{animation-delay:100ms}.motion-ready .interior h1 .title-line:nth-child(3)>span{animation-delay:180ms}
@keyframes type-arrive{from{transform:translate3d(0,112%,0)}to{transform:translate3d(0,0,0)}}
.motion-ready [data-image-reveal]>*{clip-path:inset(0 0 100% 0)}.motion-ready [data-image-reveal].image-revealed>*{animation:image-unfold 1100ms var(--motion-ease) both}
@keyframes image-unfold{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
/* Gallery focus and the expanding, reversible lightbox share one curve. */
.documentary-gallery{columns:3;column-gap:22px}.gallery-item{margin-bottom:22px}.gallery-item .photo-button{transition:transform .5s var(--motion-ease),opacity .4s;transform:translateZ(0)}
@media(hover:hover){.gallery-item .photo-button:hover{transform:translateY(-7px)}.documentary-gallery:has(.photo-button:hover) .photo-button:not(:hover){opacity:.72}}
dialog{overflow:visible;padding:0;border:0}dialog::backdrop{background:#0d1d35f5;transition:background .45s}dialog.is-opening::backdrop{background:#0d1d35e8}dialog.is-closing::backdrop{background:#0d1d3500}dialog img{transform-origin:center;will-change:transform;max-height:80svh;max-width:90vw}.lightbox-nav{padding-top:18px}.lightbox-nav button{transition:color .2s,border-color .2s}.lightbox-nav button:hover{color:#a9c0da;border-color:#a9c0da}.close-dialog{border-radius:0;background:transparent;color:var(--paper);font-weight:400;transition:transform .3s}.close-dialog:hover{transform:rotate(90deg)}
/* Type rolls within its own line; the pointer is never displaced. */
.link-label{display:block;position:relative;overflow:hidden;line-height:1.35;height:1.35em}.link-label>span{display:block;transition:transform .55s var(--motion-ease);font:inherit!important;line-height:1.35}.link-label>span+span{position:absolute;inset:100% 0 auto}
a:hover>.link-label>span,a:focus-visible>.link-label>span{transform:translateY(-100%)}.button .link-label,.nav-support .link-label{font-size:inherit}.button>span[aria-hidden=true],.text-link>span[aria-hidden=true],.nav-support>span[aria-hidden=true]{display:inline-block;transition:transform .4s var(--motion-ease)}.button:hover>span[aria-hidden=true],.text-link:hover>span[aria-hidden=true],.nav-support:hover>span[aria-hidden=true]{transform:translate(3px,-3px)}.button{background:var(--navy);border-color:var(--navy)}.button:hover{background:var(--blue);border-color:var(--blue)}.site-header{border-bottom:1px solid #1923321a;background:var(--paper);transition:transform .5s var(--motion-ease)}.site-header.is-away{transform:translateY(-100%)}.site-header nav a[aria-current]:after{width:100%;height:1px;border-radius:0;left:0;bottom:5px}.nav-support{border-bottom:0}.nav-support:after{display:none}.text-link{position:relative}.text-link:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--motion-ease)}.text-link:hover:after{transform:scaleX(1)}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out 220ms ease both}::view-transition-new(root){animation:page-in 500ms var(--motion-ease) both}.site-header{view-transition-name:site-header}::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}
@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}@keyframes page-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.composition-stage{grid-template-columns:.8fr 1.8fr .8fr;gap:18px}.learning-cards{gap:10%;padding:0}.horizon{display:block}.horizon>div:last-child{margin-top:32px}.learning-section .stacked-heading{display:block}.learning-section .stacked-heading p{margin-top:25px;max-width:540px}.documentary-gallery{columns:2}.people-partner-pair{gap:7%}}
@media(max-width:760px){.home-heading h1{font-size:20vw;letter-spacing:-.06em;word-spacing:0;padding:28px var(--page-gutter) 30px;text-align:left}.hero-word{display:block}.hero-word>span,.hero-word:last-child>span{transform:none}.home-photo{transform:none}.home-intro{padding-top:37px}.home-purpose{padding-top:65px}.home-purpose h2{font-size:36px}.home-purpose>p{margin-left:0}.home-purpose>.text-link{margin-left:0}.home-impact{padding-bottom:15px}.photo-composition{padding:12px 0 45px}.composition-stage{grid-template-columns:1fr 1fr;gap:12px;margin:0 12px;align-items:start}.composition-stage>figure:first-child{grid-row:2;grid-column:1;transform:translateY(calc((1 - var(--scene-progress)) * 25px))}.composition-stage>figure:nth-child(2){grid-column:1/-1;grid-row:1;transform:none}.composition-stage>figure:nth-child(3){grid-row:2;grid-column:2;transform:translateY(calc((1 - var(--scene-progress)) * 45px))}.learning-section{padding-top:60px}.learning-section .stacked-heading{margin-bottom:38px}.learning-cards{grid-template-columns:1fr;gap:50px;padding:0}.learning-card h3{font-size:32px}.learning-card.resource-learning{margin-top:0;max-width:none}.learning-card>div{padding-top:27px}.learning-card.resource-learning figure{transform:none}.learning-card figure{width:88%}.learning-card.resource-learning figure{width:78%}.page-cta{padding-top:58px;padding-bottom:52px}.page-cta h2{font-size:clamp(48px,11vw,80px)}.page-cta .button{padding:18px 24px}.context-section{row-gap:30px}.context-section .context-landscape{width:100%;max-width:none;margin-top:0}.resource-help{grid-template-rows:auto;grid-template-columns:1fr;gap:32px}.resource-reader{grid-column:1;grid-row:auto;width:80%;margin-left:auto}.resource-help>div:first-child{padding-top:0}.resource-help>div:nth-child(2){padding-top:28px}.people-partner-pair{display:flex;flex-direction:column;align-items:start;gap:35px;padding-top:35px;margin-top:50px}.people-partner-pair>figure{width:76%;margin-left:auto}.people-partner-pair .partner-summary{order:1}.cinema-photo{padding:0}.cinema-photo .photo-button{transform:none}.involved-panorama{margin:45px 0 55px}.partner-community{width:100%}.partner-group{width:90%}.school-details{gap:18px}.documentary-gallery{columns:2;column-gap:12px}.gallery-item{margin-bottom:12px}.close-dialog{background:var(--navy);width:44px;height:44px;top:12px;right:12px}#mobile-nav:not([hidden]){animation:menu-open .55s var(--motion-ease) both}#mobile-nav a{animation:menu-link .65s var(--motion-ease) both}#mobile-nav a:nth-child(2){animation-delay:25ms}#mobile-nav a:nth-child(3){animation-delay:50ms}#mobile-nav a:nth-child(4){animation-delay:75ms}#mobile-nav a:nth-child(5){animation-delay:100ms}#mobile-nav a:nth-child(6){animation-delay:125ms}#mobile-nav a:nth-child(7){animation-delay:150ms}}
@keyframes menu-open{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes menu-link{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-word>span,.hero-word:last-child>span,.home-photo,.composition-stage>figure,.composition-stage>figure:nth-child(2),.composition-stage>figure:nth-child(3),.cinema-photo .photo-button,.learning-card.resource-learning figure,.resource-cover a{transform:none!important}.motion-ready [data-image-reveal]>*{clip-path:none!important}.site-header.is-away{transform:none}.link-label>span{transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}@view-transition{navigation:none}}
