/* v6: stable scroll story and responsive gallery behavior. */
html,body { overflow-x:clip; }
.slider-track,.gallery-frame .slider-track { touch-action:auto; overscroll-behavior-x:auto; overscroll-behavior-y:auto; }
.work-open,.work-open img { touch-action:auto; }
.gallery-frame .work-open img,.portfolio-group[data-size=large] .work-open img { object-fit:cover; object-position:center; }
.gallery-frame .work-title { line-height:1.5; }
.gallery-frame .group-intro h2 { overflow-wrap:normal; word-break:normal; hyphens:none; font-size:clamp(27px,2.55vw,48px); }
.footer-grid a[href^="mailto:"] { overflow-wrap:anywhere; }
@media(min-width:901px) {
 .stage .hero { left:var(--gutter); right:var(--gutter); max-width:none; }
 .stage .hero h1 { max-width:min(60%,1000px); }
 .stage .hero .copy { position:absolute; top:50%; left:62%; width:38%; max-width:640px; margin:0; transform:translateY(-25%); font-size:clamp(18px,1.35vw,28px); color:#bebfbb; line-height:1.55; }
 .stage .hero .copy p { margin-bottom:22px; }
}
@media(max-width:700px) {
 html,body { overflow-x:clip!important; }
 .sequence { height:165svh; }
 .stage { position:sticky; top:0; height:100svh; padding-top:0; }
 .hero { bottom:clamp(85px,12svh,125px); }
 .hero h1 { line-height:1.4; }
 .hero h1 span { line-height:1.4; overflow:visible; }
 .hero .copy { margin-top:17px; }
 .hero .copy .hero-item { opacity:1; transform:none; }
 .portfolio { padding-top:36px; }
 .portfolio-kicker { margin-bottom:24px; }
 .gallery-frame .slider-track { touch-action:auto; scroll-snap-type:x mandatory; }
 .gallery-frame .work-open,.portfolio-group[data-size=large] .work-open { touch-action:auto; }
 .gallery-frame .group-intro h2 { font-size:clamp(23px,6.4vw,35px); line-height:1.42; }
 .gallery-frame .slider-nav { position:relative; z-index:3; }
 .gallery-frame .slider-nav button { min-width:48px; min-height:48px; }
 .gallery-frame .work-open { position:relative; z-index:0; }
}
