/* Homepage layout: a shared alignment grid, deliberate photo motion, clear next steps. */
.home-page{--gutter:4.4vw}
.home-page .editorial-hero{max-width:1600px;margin:auto;min-height:490px;padding:65px var(--gutter) 85px;grid-template-columns:minmax(0,1.9fr) minmax(250px,.85fr);gap:5%;align-items:center}
.home-page .editorial-hero h1{font-size:clamp(52px,6.4vw,110px);text-align:left;justify-self:start;letter-spacing:-.065em;line-height:1.04}
.home-page .hero-copy{justify-self:start;margin:0;max-width:330px;font-size:16px;line-height:1.5}
.home-page .hero-copy p{margin-bottom:22px}
.home-page .wrap{max-width:1600px;padding-left:var(--gutter);padding-right:var(--gutter)}
.home-page .feature-photo{height:auto;overflow:visible;background:#252c29}
.home-page .feature-stage{height:85vh;min-height:420px;position:relative;overflow:hidden}
.home-page .feature-photo.motion-active{height:165vh}
.home-page .motion-active .feature-stage{position:sticky;top:0;height:100vh;min-height:0}
.home-page .feature-stage>img{position:absolute;inset:-10% 0 auto;width:100%;height:120%;max-height:none;margin:0;object-fit:cover;object-position:50% 53%;transform:translate3d(0,var(--photo-y,0px),0);will-change:transform}
.home-page .project-panel{left:var(--gutter);bottom:7%;width:270px;padding:27px;background:#f4efe9f5}
.home-page .project-panel h2{font-size:30px;margin:0 0 28px;line-height:1.1}
.home-page .project-panel a{display:block;border-top:1px solid #16151440;padding-top:18px;font-size:14px}
.home-page .home-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding-top:105px;padding-bottom:105px;align-items:start}
.home-page .editorial-heading .eyebrow{margin:0 0 27px}
.home-page .editorial-heading h2{font-size:clamp(37px,4.3vw,64px);line-height:1.1;margin:0;max-width:12ch}
.home-page .editorial-body{padding-top:42px}
.home-page .editorial-body p{max-width:48ch;font-size:18px;line-height:1.65;margin:0 0 24px}
.home-page .editorial-body .text-link{margin:5px 0 0;font-size:16px}
.home-page .home-hybrid{border-top:1px solid #16151425;border-bottom:1px solid #16151425;background:#e5e8e2;max-width:none}
.home-page .portfolio{padding-top:90px;padding-bottom:100px}
.home-page .section-heading{margin-bottom:40px}
.home-page .section-heading h2{font-size:clamp(38px,4.3vw,64px)}
.home-page .section-heading .eyebrow{margin-bottom:20px}
.home-page .project-grid{gap:48px 30px}
.home-page .caption h3{font-size:23px;margin-top:20px}
.home-page .home-panel{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:70px;padding-bottom:70px;align-items:start}
.home-page .home-panel .eyebrow{margin-bottom:22px}
.home-page .home-panel h2{font-size:clamp(36px,4.3vw,60px);margin:0;display:flex;gap:25px;align-items:baseline}
.home-page .home-panel h2 span{font-size:25px;font-weight:400}
.home-page .home-panel>div:last-child{padding-top:36px}
.home-page .home-panel p{font-size:18px;line-height:1.6;max-width:48ch}
.home-page .home-panel .supply-note{font-size:14px;color:#57534e}
.home-page .home-application{display:grid;grid-template-columns:1fr 1fr;gap:0 8%;padding-top:85px;padding-bottom:100px;border-top:1px solid #16151430}
.home-page .home-application .eyebrow{grid-column:1/-1;margin-bottom:25px}
.home-page .home-application h2{grid-column:1;grid-row:2/4;font-size:clamp(40px,4.8vw,70px);margin:0}
.home-page .home-application>p:not(.eyebrow){grid-column:2;font-size:18px;line-height:1.6;max-width:45ch}
.home-page .home-application .text-link{grid-column:2;align-self:start;justify-self:start;font-size:21px;gap:20px;margin:0;padding:15px 0}
.home-page .skip:focus{position:fixed;left:15px;top:10px;padding:10px 15px;z-index:20}
@media(min-width:1700px){.home-page{--gutter:5vw}}
@media(max-width:950px){
 .home-page .editorial-hero{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:55px;min-height:0}
 .home-page .editorial-hero h1{font-size:8.8vw;text-align:left;justify-self:start}
 .home-page .hero-copy{max-width:580px;justify-self:start}
 .home-page .home-editorial,.home-page .home-panel{gap:5%}
 .home-page .editorial-body p{font-size:17px}
}
@media(max-width:650px){
 .home-page{--gutter:20px}
 .home-page .bar{position:relative;padding:20px 20px 15px;gap:20px}
 .home-page .bar nav{width:100%;gap:17px;padding-right:0}
 .home-page .bar nav a{font-size:12px}
 .home-page .bar nav .button{position:absolute;right:20px;top:18px;padding:8px 14px!important;font-size:13px;gap:18px}
 .home-page .editorial-hero{padding-top:32px;padding-bottom:45px;gap:28px}
 .home-page .editorial-hero h1{font-size:8.6vw}
 .home-page .hero-copy{font-size:15px}
 .home-page .feature-photo.motion-active{height:145vh}
 .home-page .feature-stage>img{object-position:61% center}
 .home-page .project-panel{width:215px;padding:22px;bottom:5%}
 .home-page .project-panel h2{font-size:26px;margin-bottom:22px}
 .home-page .home-editorial,.home-page .home-panel,.home-page .home-application{display:block;padding-top:55px;padding-bottom:55px}
 .home-page .editorial-heading h2{font-size:39px;max-width:14ch}
 .home-page .editorial-heading .eyebrow{margin-bottom:20px}
 .home-page .editorial-body{padding-top:28px}
 .home-page .editorial-body p{font-size:16px;line-height:1.65}
 .home-page .portfolio{padding-top:55px;padding-bottom:55px}
 .home-page .section-heading{margin-bottom:28px}
 .home-page .project-grid{gap:30px}
 .home-page .caption h3{font-size:21px}
 .home-page .home-panel>div:last-child{padding-top:25px}
 .home-page .home-panel p{font-size:16px}
 .home-page .home-application h2{font-size:42px;margin-bottom:28px}
 .home-page .home-application>p:not(.eyebrow){font-size:16px}
 .home-page .home-application .text-link{font-size:19px;gap:15px}
}
@media(prefers-reduced-motion:reduce){.home-page .feature-photo.motion-active{height:auto}.home-page .motion-active .feature-stage{position:relative;height:75vh}.home-page .feature-stage>img{transform:none!important;will-change:auto}}

.home-page .home-panel .eyebrow{font-size:12px}

/* Stable viewport sizing avoids mobile browser-bar changes resizing the scroll scene. */
@supports(height:100svh){
 .home-page .feature-photo.motion-active{height:165svh}
 .home-page .motion-active .feature-stage{height:100svh}
 @media(max-width:650px){.home-page .feature-photo.motion-active{height:145svh}}
 @media(prefers-reduced-motion:reduce){.home-page .feature-photo.motion-active{height:auto}.home-page .motion-active .feature-stage{height:75svh}}
}
.home-page .motion-control{position:absolute;top:20px;right:var(--gutter);z-index:1;border:1px solid #16151455;border-radius:25px;background:#f4efe9f2;color:#161514;padding:11px 17px;font:400 13px 'DM Sans',sans-serif;cursor:pointer;min-height:44px}
.home-page .motion-control[hidden]{display:none}

/* Scroll with the document, without a pinned photographic interlude. */
.home-page .feature-photo,.home-page .feature-photo.motion-active{height:auto}
.home-page .feature-stage,.home-page .motion-active .feature-stage{position:relative;top:auto;height:72svh;min-height:380px;max-height:850px}
.home-page .feature-stage>img{inset:0 0 auto;height:125%;object-position:50% 48%;transform:translate3d(0,var(--photo-y,0px),0)}
@media(max-width:650px){.home-page .feature-stage,.home-page .motion-active .feature-stage{height:62svh;min-height:340px}.home-page .feature-stage>img{object-position:61% center}}

.home-page .editorial-heading h2{max-width:17ch;font-size:clamp(36px,4vw,60px)}
