/* Scroll scenes use native document scrolling and progressive enhancement. */
.home-hero.scroll-depth .hero-art>img{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.08);transform-origin:center;will-change:transform}
.home-hero.scroll-depth .hero-inner>.pixels{transform:translate3d(0,var(--pixel-shift,0px),0)}
.home-hero.scroll-depth .hero-note{translate:0 var(--note-shift,0px)}
.about-scroll-story{--portrait-top:124px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:'intro portrait' 'history portrait';column-gap:clamp(55px,7vw,100px);padding-block:40px 80px;position:relative}
.about-story-intro{grid-area:intro;display:flex;align-items:center;min-height:560px;padding-block:30px 65px}
.about-story-intro .detail-copy h1{font-size:clamp(48px,5vw,70px)}
.about-story-intro .detail-copy .lead{font-size:20px}
.about-story-visual{grid-area:portrait;align-self:start;justify-self:end;width:100%;max-width:440px;min-width:0;padding-top:12px;position:relative}
.about-story-visual .detail-image{width:100%;height:auto;aspect-ratio:4/5;border-radius:32px 32px 66px 32px;overflow:hidden}
.about-story-visual .detail-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none}
.about-story-visual .detail-image:after{display:none}
.story-signature{position:relative;margin:22px 8px 0;padding-bottom:17px;border-bottom:1px solid #aac3d029;line-height:1.5}
.story-signature strong{display:block;font-size:16px}.story-signature span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.story-signature:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);transform:scaleX(var(--story-progress,0));transform-origin:left}
.about-history.about-story-history{grid-area:history;padding-block:35px 0;border:0;background:none;min-width:0}
.about-story-history .section-heading{margin-bottom:28px}.about-story-history .section-heading h2{font-size:clamp(30px,2.7vw,39px);line-height:1.15}
.about-story-history .career-path li{gap:35px;padding-block:27px}
.about-story-history .career-year{font-size:41px;width:94px;flex-shrink:0}
.about-story-history .career-path:before{left:111px}
.about-story-history .career-path li:before{left:106px;top:36px}
.about-story-history .career-path h3{font-size:26px;line-height:1.15;margin-bottom:13px}
.about-story-history .career-path p{font-size:16px;line-height:1.65}
@media(min-width:961px){
 /* Wide, readable case studies; a normal layout remains if a card is too tall. */
 .project-grid.scroll-stack{display:flex;flex-direction:column;gap:64px;position:relative;isolation:isolate;padding-block:12px 48px}
 .scroll-stack>.project-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,3vw,46px);align-items:center;background:linear-gradient(125deg,#365360,#2b4351 75%);border:1px solid #9ebdce3b;border-radius:30px;padding:28px;min-height:370px;position:relative;transform-origin:50% 0;box-shadow:0 18px 60px #10242f30}
 .scroll-stack .project-preview{aspect-ratio:1.5;border-radius:20px;box-shadow:none}
 .scroll-stack .project-copy,.all-projects.scroll-stack .project-copy{padding:18px 15px 18px 0;display:block}
 .scroll-stack .project-copy h3,.all-projects.scroll-stack h3{font-size:clamp(29px,3vw,43px);line-height:1.1;margin-bottom:18px}
 .scroll-stack .project-copy .project-category{display:block;font-size:10px;letter-spacing:1.7px;margin-bottom:14px;color:#d0dfe7}
 .scroll-stack .project-summary{font-size:18px;line-height:1.6;max-width:440px;margin-bottom:19px}
 .scroll-stack .project-copy .text-link{font-size:15px;margin-top:8px}
 .all-projects.scroll-stack .project-copy dd{font-size:16px;line-height:1.55}
 .all-projects.scroll-stack .project-copy dt{font-size:10px;margin-top:14px}
 .scroll-stack .project-credit{margin-top:17px;font-size:11px}
 .scroll-stack .project-open{opacity:1;transform:none;font-size:12px}
 .scroll-stack .project-motif{display:none}
}
@media(min-width:961px) and (min-height:760px) and (prefers-reduced-motion:no-preference){
 .scroll-stack.stack-enabled>.project-card{position:sticky;top:calc(var(--stack-top,122px) + var(--stack-index,0)*14px);z-index:calc(2 + var(--stack-index,0));transform:scale(var(--stack-scale,1));box-shadow:0 -7px 34px #142c384d,0 25px 70px #10242f40;scroll-margin-top:calc(var(--stack-top,122px) + 55px)}
 .scroll-stack.stack-enabled>.project-card:focus-within{z-index:30;transform:none;outline:1px solid #b8d2dc65;outline-offset:3px}
 .about-scroll-story.story-pinned .about-story-visual{position:sticky;top:var(--portrait-top)}
}
@media(max-width:1150px) and (min-width:961px){
 .about-scroll-story{column-gap:50px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .about-story-intro{min-height:520px}.about-story-intro .detail-copy .lead{font-size:18px}
 .about-story-history .career-year{font-size:35px;width:80px}.about-story-history .career-path li{gap:28px}
 .about-story-history .career-path:before{left:94px}.about-story-history .career-path li:before{left:89px;top:35px}
 .about-story-history .career-path h3{font-size:24px}.about-story-history .career-path p{font-size:15px}
 .scroll-stack>.project-card{padding:23px;gap:28px;min-height:340px}
 .scroll-stack .project-summary{font-size:17px}.all-projects.scroll-stack .project-copy dd{font-size:15px}
}
@media(max-width:960px){
 .about-scroll-story{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);grid-template-areas:'intro portrait' 'history history';gap:35px;padding-block:30px 55px}
 .about-story-intro{min-height:0;padding-block:12px 20px}.about-story-intro .detail-copy h1{font-size:51px}.about-story-intro .detail-copy .lead{font-size:17px}
 .about-story-visual{max-width:340px;position:relative!important;top:auto!important}.about-story-history .career-path h3{font-size:27px}
 .about-history.about-story-history{padding-top:15px}.about-story-history .section-heading h2{font-size:36px}
 .about-story-history .career-path p{font-size:17px}
}
@media(max-width:700px){
 .home-hero.scroll-depth .hero-art>img{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.05)}
 .about-scroll-story{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'portrait' 'history';gap:24px;padding-block:24px 40px}
 .about-story-intro{padding:0}.about-story-intro .detail-copy h1{font-size:clamp(43px,9vw,60px)}.about-story-intro .detail-copy .lead{font-size:18px}
 .about-story-visual{justify-self:center;max-width:370px;padding:6px 0 15px}
 .about-story-visual .detail-image{border-radius:28px 28px 55px 28px}.story-signature{margin-top:18px}.story-signature strong{font-size:15px}
 .about-history.about-story-history{padding-top:24px}.about-story-history .section-heading h2{font-size:33px}
 .about-story-history .career-path li{gap:27px;padding-block:24px}.about-story-history .career-year{font-size:34px;width:67px}
 .about-story-history .career-path:before{left:80px}.about-story-history .career-path li:before{left:75px;top:31px}
 .about-story-history .career-path h3{font-size:25px}.about-story-history .career-path p{font-size:16px}
}
@media(max-width:380px){
 .about-story-history .career-path li{display:block;padding-left:26px}
 .about-story-history .career-path:before{left:4px}.about-story-history .career-path li:before{left:-1px;top:30px}
 .about-story-history .career-year{display:block;margin-bottom:14px}.about-story-history .section-heading h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
 .home-hero.scroll-depth .hero-art>img,.home-hero.scroll-depth .hero-inner>.pixels{transform:none!important;will-change:auto}
 .home-hero.scroll-depth .hero-note{translate:none}
 .scroll-stack>.project-card{position:relative!important;top:auto!important;transform:none!important}
 .about-scroll-story .about-story-visual{position:relative!important;top:auto!important}.story-signature:after{display:none}
}
@media print{
 .home-hero.scroll-depth .hero-art>img{transform:none}
 .about-scroll-story{display:block;padding:0}.about-story-intro{min-height:0}.about-story-visual{position:static!important;max-width:250px;margin:20px 0}
 .scroll-stack>.project-card{position:relative!important;top:auto!important;transform:none!important;break-inside:avoid;margin-bottom:25px}
}
@media(min-width:961px) and (min-height:760px){
 .about-story-visual .detail-image{width:min(100%,calc((100svh - var(--portrait-top,124px) - 130px)*.8));margin-inline:auto}
}
