/* Independent image, oversized type and foreground content planes. */
.footer .site-credit{grid-column:1/-1;text-align:right;max-width:none;margin:8px 0 0;padding-top:18px;border-top:1px solid #102f5014;font-size:10px;font-weight:400;letter-spacing:.02em;color:#617485}
.footer .site-credit a{text-decoration:none;color:inherit}
.footer .site-credit a:hover{text-decoration:underline;color:#007ca5}
.hero{height:calc(100svh - 96px);min-height:710px;max-height:1050px;background:#102f50;color:white;isolation:isolate}
.hero-photo-plane{inset:-3% -3% 0;width:106%;height:106%;clip-path:none;z-index:-3;transform:translateY(var(--hero-photo-y,0px))}
.hero-photo{object-position:58% 64%;filter:saturate(.84);transform:scale(var(--hero-scale,1.03));height:100%;width:100%}
.hero-clouds{position:absolute;inset:0;pointer-events:none;object-fit:cover}
.hero-clouds[hidden]{display:none}
.hero-photo-plane:after{background:linear-gradient(90deg,#071c30ee 0%,#0b243ec9 27%,#102f503f 61%,#102f5000 88%),linear-gradient(0deg,#081f38e6 0%,transparent 35%,#102f5022 100%)}
.hero-copy{padding:clamp(45px,6vh,80px) var(--gutter) 0;width:83%;transform:translateY(var(--hero-copy-y,0px));z-index:3}
.hero .overline{font-size:11px;letter-spacing:.16em;color:#e1f5fc;display:flex;align-items:center;gap:14px}
.hero-copy .overline>span{height:2px;width:40px;background:#00b9e5}
.hero h1{font-size:clamp(88px,9vw,142px);font-weight:600;line-height:.93;letter-spacing:-.065em;margin:32px 0 28px;max-width:9em}
.hero h1 em{font-style:normal;color:#6be0f8}
.hero-intro{font-size:18px;line-height:1.6;color:#edf8fc;max-width:34ch;margin-bottom:30px}
.hero-cta{background:#baf3ff;color:#102f50;border:0;gap:55px;padding:18px 24px}
.hero-cta:hover{background:#fff}
.hero-word{left:0;right:0;bottom:83px;width:100%;overflow:hidden;font-size:clamp(72px,9.8vw,164px);color:transparent;-webkit-text-stroke:1px #ffffff45;opacity:.7;white-space:nowrap;letter-spacing:-.055em;line-height:1.12;z-index:-1;transform:none}
.hero-word-track{display:flex;width:max-content;animation:hero-marquee 65s linear infinite;will-change:transform}
.hero-word-track>span{display:block;flex-shrink:0;padding-right:100px}
@keyframes hero-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-paused .hero-word-track,.marquee-offscreen .hero-word-track{animation-play-state:paused}
.hero-motion-toggle{position:absolute;right:var(--gutter);bottom:73px;z-index:6;padding:4px 8px;border:0;background:#102f5055;color:#e5eff5;font-size:10px;letter-spacing:.025em;line-height:1.5}
.hero-motion-toggle:hover{background:#102f50;color:#fff}
@media(max-width:760px){.hero-motion-toggle{display:none}}
@media(max-width:760px){.has-cloud-motion .hero-motion-toggle{display:block}}
@media(prefers-reduced-motion:reduce){.hero-word-track{animation:none;transform:none;will-change:auto}.hero-word-track>span+span,.hero-motion-toggle{display:none}}
.hero-project{position:absolute;right:var(--gutter);bottom:140px;width:280px;text-decoration:none;display:grid;gap:9px;border-top:1px solid #ffffff70;padding-top:18px;z-index:4;text-shadow:0 2px 12px #102f50}
.hero-project strong{font-size:24px;line-height:1.2;letter-spacing:-.025em;display:flex;justify-content:space-between;gap:12px}
.hero-project>span:last-child{font-size:13px;color:#deedf5}
.hero-foot{height:62px;background:#0b263fe6;border-top:1px solid #ffffff26;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.055em}
/* Keep the scene pinned below the persistent navigation for its whole wipe. */
.mheds-stage{position:sticky;top:96px;height:calc(100svh - 96px);overflow:clip}
@media(min-width:761px) and (max-height:800px){.hero{min-height:650px}.hero-copy{padding-top:38px}.hero h1{font-size:100px;margin:25px 0}.hero-project{bottom:110px}.hero-word{bottom:70px}.hero-intro{font-size:16px}.mheds-heading h2{font-size:48px}.mheds-heading .overline{font-size:10px}.mheds-heading .text-link{font-size:12px}.reveal-images{inset:32% 0 12%}.reveal-caption{bottom:7%}.design-disclosure{bottom:2%}}
@media(max-width:1050px) and (min-width:761px){.hero h1{font-size:108px}.hero-copy{width:95%}.hero-project{width:225px;bottom:115px}.hero-project strong{font-size:21px}}
@media(max-width:760px){.hero{height:850px;min-height:0;max-height:none}.hero-copy{width:100%;padding:38px 24px 0;transform:none}.hero h1{font-size:clamp(62px,14vw,98px);margin:28px 0 22px;line-height:.96}.hero .overline{font-size:9px;gap:10px;letter-spacing:.1em}.hero-copy .overline>span{width:22px}.hero-intro{font-size:16px;line-height:1.55;margin-bottom:22px}.hero-cta{padding:14px 20px;gap:40px}.hero-photo-plane{inset:0;width:100%;height:100%;transform:none}.hero-photo{object-position:55% 100%;object-fit:cover}.hero-photo-plane:after{background:linear-gradient(180deg,#091f37f5 0%,#0b263fec 31%,#102f5040 61%,#102f5025 76%,#081f38e8 95%)}.hero-project{left:24px;right:24px;bottom:90px;width:auto;max-width:300px;padding-top:14px}.hero-project strong{font-size:25px}.hero-word{display:none}.hero-foot{height:63px;padding:12px 24px;font-size:9px;gap:15px}.hero-foot span{max-width:155px}.hero-foot span:last-child{max-width:145px}.mheds-stage{top:auto}}
@media(max-width:380px){.hero{height:790px}.hero h1{font-size:62px}.hero-intro{font-size:15px}.hero-project{bottom:90px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-photo-plane,.hero-photo,.hero-word{transform:none!important}.mheds-stage{top:auto}}
@media(prefers-reduced-motion:reduce){.has-cloud-motion .hero-motion-toggle,.hero-clouds{display:none}}
