html.motion-on{scroll-snap-type:y mandatory;scroll-padding-block:0;scroll-behavior:smooth}
.snap-page{scroll-snap-align:start;scroll-snap-stop:always;min-height:100svh}
.opening-page{min-height:100svh}
.partners-section{background:#eef2ef;border-block:1px solid #d1dbd9}
.partners-section .section-heading{display:grid;grid-template-columns:110px 1fr;column-gap:26px;align-items:end}
.partners-section .section-index{grid-row:1/3;margin:0}
.partners-section .eyebrow,.partners-section h2{grid-column:2}
.partners-section h2{margin-top:12px}
.institution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 50px;margin-top:68px}
.institution{min-width:0;text-align:center;padding:34px 20px 30px;border-top:1px solid #aebfc6}
.institution img{display:block;width:100%;height:98px;object-fit:contain;margin:auto;max-width:340px}
.institution p{font-size:24px;font-weight:500;line-height:1.7;margin-top:22px;color:#1b3d53}
.institution>span{display:block;margin-top:4px;font-size:18px;color:#486676}
.welcome>.section-heading{grid-column:1;grid-row:1}
.welcome-body{grid-column:1/-1;grid-row:2;max-width:940px;margin-inline:auto;padding-top:0}
.environment-demo{grid-column:2;grid-row:1;margin:0;min-width:0;align-self:start}
.test-scene{position:relative;overflow:hidden;background:#dbe3e5;isolation:isolate}
.test-scene>img{display:block;width:100%;height:auto;max-height:650px;object-fit:cover}
.test-heat,.test-humidity,.test-rain{position:absolute;inset:0;pointer-events:none;opacity:0}
.test-heat{background:linear-gradient(120deg,#f8ae4e2a,transparent 60%,#da7f4220);mix-blend-mode:screen}
.test-humidity{background:radial-gradient(ellipse at 30% 70%,#f0f6f5b0,transparent 70%),linear-gradient(transparent,#dae9f042);filter:blur(12px)}
.test-rain{inset:-70px -20px;background-image:repeating-linear-gradient(108deg,transparent 0 28px,#e0f3ff7a 29px 30px,transparent 31px 57px);background-size:76px 90px;mix-blend-mode:screen}
.test-phases{position:absolute;left:24px;bottom:24px;right:24px;display:flex;gap:14px;flex-wrap:wrap}
.test-phases>span{font-size:18px;line-height:1.5;padding:8px 14px;background:#17394de6;color:white;border:1px solid #e2edf344}
.environment-demo figcaption{padding-top:22px;color:#355567;line-height:1.8}
.environment-demo figcaption strong{display:block;font-size:26px;font-weight:500;color:#1a3b51}
.environment-demo figcaption>span{display:block;font-size:20px;margin-top:5px}
.environment-demo figcaption small{display:block;font-size:16px;color:#526c79;margin-top:10px}
.motion-on .test-scene.is-visible .test-heat{animation:test-heat 15s linear infinite}
.motion-on .test-scene.is-visible .test-humidity{animation:test-humidity 15s linear infinite}
.motion-on .test-scene.is-visible .test-rain{animation:test-rain-phase 15s linear infinite,test-rain-travel .65s linear infinite}
.motion-on .test-scene.is-visible .phase-heat{animation:phase-heat 15s linear infinite}
.motion-on .test-scene.is-visible .phase-humidity{animation:phase-humidity 15s linear infinite}
.motion-on .test-scene.is-visible .phase-rain{animation:phase-rain 15s linear infinite}
@keyframes test-heat{0%,28%{opacity:.85}33%,96%{opacity:0}100%{opacity:.85}}
@keyframes test-humidity{0%,28%,69%,100%{opacity:0}36%,60%{opacity:.7}}
@keyframes test-rain-phase{0%,61%,100%{opacity:0}70%,91%{opacity:.65}}
@keyframes test-rain-travel{to{background-position:-23px 90px}}
@keyframes phase-heat{0%,28%,100%{background:#005e9a;border-color:#c8e5ff}34%,94%{background:#17394de6;border-color:#e2edf344}}
@keyframes phase-humidity{0%,28%,69%,100%{background:#17394de6;border-color:#e2edf344}35%,61%{background:#005e9a;border-color:#c8e5ff}}
@keyframes phase-rain{0%,62%,100%{background:#17394de6;border-color:#e2edf344}70%,93%{background:#005e9a;border-color:#c8e5ff}}
.program-header .section-heading{display:block}
.program-header h2{margin-top:12px}
.program-header{display:flex;margin-bottom:44px;gap:24px}
#location>.section-heading{min-height:0}
.map-links{flex-wrap:wrap}
.button.tmap{background:#f0eef7;border:1px solid #cec8e5;color:#4c3c78}
.map-links .button{min-width:140px}
.closing-flight{position:relative}
.closing{--ci-reveal:1}
.closing-aircraft{visibility:hidden}
.closing-snap-end{position:absolute;top:calc(100% - 100svh);height:1px;width:100%;scroll-snap-align:start;scroll-snap-stop:always;pointer-events:none}
.closing-ci-reveal{position:absolute;right:2%;top:15%;width:46%;height:65%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:42px 24px;opacity:var(--ci-reveal,1);transform:translateY(calc((1 - var(--ci-reveal,1))*20px));pointer-events:none}
.closing-ci-reveal img{width:100%;height:110px;object-fit:contain;min-width:0}
.closing h2,.closing>p{max-width:47%}
.closing>p strong{font-weight:500;color:#005e9a}
.aircraft-ci-static .closing-aircraft{visibility:hidden}
.end-page{background:#faf9f5;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.end-page .closing-share{width:100%;background:#faf9f5;border-top:0}
.footer-note{font-size:20px;line-height:1.9;color:#294b61;margin-top:38px}
.footer-note strong{font-size:22px;font-weight:500;color:#005e9a}
@media(max-width:1050px) and (min-width:701px){
 .closing-ci-reveal{right:3%;width:44%;gap:34px 20px}
 .closing-ci-reveal img{height:90px}
 .institution-grid{gap:24px}
}
@media(max-width:700px){
 .partners-section .section-heading{grid-template-columns:72px minmax(0,1fr);column-gap:20px}
 .partners-section .section-index{font-size:72px}
 .partners-section h2{font-size:36px;line-height:1.45}
 .institution-grid{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:42px}
 .institution{padding:28px 16px 24px}
 .institution img{height:82px;max-width:300px}
 .institution p{font-size:24px;margin-top:20px}
 .welcome{display:flex;flex-direction:column;gap:0}
 .welcome>.section-heading{order:1}
 .environment-demo{order:2;margin-top:34px}
 .welcome-body{order:3;margin-top:40px}
 .test-scene>img{min-height:245px;object-fit:cover;object-position:58% center}
 .test-phases{left:10px;right:10px;bottom:12px;gap:7px}
 .test-phases>span{font-size:16px;padding:7px 9px}
 .environment-demo figcaption strong{font-size:24px}
 .environment-demo figcaption>span{font-size:20px}
 .environment-demo figcaption small{font-size:16px}
 .program-header{display:block;margin-bottom:34px}
 .program-header .text-link{margin-top:20px}
 .map-links .button{width:100%;min-width:0}
 .closing h2,.closing>p{max-width:none}
 .closing-ci-reveal{right:6%;top:48%;width:88%;height:36%;gap:24px 18px}
 .closing-ci-reveal img{height:72px}
 .closing-aircraft,.motion-on .closing-aircraft{top:45%;height:40%}
 .footer-note{font-size:20px;line-height:1.9}
 .footer-note strong{display:block;margin-top:12px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){
 html.motion-on{scroll-snap-type:none;scroll-behavior:auto}
 .test-scene *{animation:none!important}
 .closing-ci-reveal{opacity:1;transform:none}
 .closing-aircraft{visibility:hidden}
 .closing-snap-end{display:none}
}
@media print{html.motion-on{scroll-snap-type:none}.snap-page{min-height:0}.environment-demo{break-inside:avoid}.closing-ci-reveal{opacity:1;transform:none}.closing-aircraft{display:none}.closing-snap-end{display:none}}
