/* Scroll distance, not delayed wheel handling: hero +5s, aging +2s nominally. */
[data-concept=cinema] .hero{height:calc(170svh + 1500px)}
.hero-scene{top:0;background:#4e4536}
.hero-pin{background:#4e4536}
.room-motion{transform-origin:70% 0%}
.room-motion>img{top:32px;height:calc(100% - 32px);object-position:70% top}
.hero-scene:after{content:'';position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(#302c24,transparent);pointer-events:none;opacity:.55}
.hero-copy{padding-top:120px}
.header.is-scrolling:before{box-shadow:0 16px 38px #25291f38,0 3px 8px #25291f12}
.header:before{transition:opacity .25s,box-shadow .3s}
.header.is-scrolling:not(.is-scrolled) .header-panel{box-shadow:0 15px 40px #171c1440}
/* The projection is clipped on its own layer, never clipping the mobile menu. */
.header-panel{position:relative;isolation:isolate}
.menu-light{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none;opacity:.24}
.menu-light:before{content:'';position:absolute;inset:-20px -620px -180px;background:url('assets/menu-window-shadow.svg') repeat-x 0 0 / 620px 240px;filter:blur(5px);transform:translate3d(var(--menu-shadow-x,0px),var(--menu-shadow-y,0px),0)}
.menu-light-wide{border-radius:0 0 28px 28px;opacity:0}
.header.is-scrolled .menu-light-wide{opacity:.24}
.header.is-scrolled .menu-light-panel{opacity:0}
.aging{height:calc(185svh + 600px)}
.aging-scroll-rail{position:absolute;left:2.3%;top:18%;height:64%;width:1px;background:#a795762f;pointer-events:none}
.aging-scroll-rail:before{content:'';position:absolute;inset:0;background:#a58a61;transform:scaleY(var(--aging-progress,0));transform-origin:top}
.aging-scroll-rail:after{content:'';position:absolute;left:-4px;top:calc(var(--aging-progress,0)*100%);width:9px;height:9px;border:1px solid #9c825e;background:#eee8dc;transform:translateY(-50%) rotate(45deg);box-shadow:0 0 0 5px #a58a6110}
.mirror-object{transform:translateY(calc(var(--aging-lift,0)*1px));will-change:transform;filter:drop-shadow(9px 7px 5px #453a292e) drop-shadow(25px 16px 20px #51433038)}
.mirror-ground{height:16px;bottom:12px;left:25%;width:58%;background:#51422d45;filter:blur(12px)}
/* Five visible positions on desktop, with complete uncropped photographs. */
.gallery-track{gap:16px;padding-inline:calc((100% - min(22vw,340px))/2);overflow-anchor:none}
.gallery-slide{flex-basis:min(22vw,340px);transform:scale(var(--gallery-scale,.78));opacity:var(--gallery-opacity,.32);transition:transform .25s,opacity .25s}
.gallery-slide.active{transform:scale(1);opacity:1}
[data-concept] .gallery-slide img{height:clamp(330px,calc(100svh - var(--header) - 230px),620px)}
.gallery-open{padding:12px}
.gallery-track.dragging{scroll-snap-type:none;cursor:grabbing}
.gallery-track.dragging .gallery-open{cursor:grabbing}
@media(hover:hover) and (pointer:fine){
 .team-card:hover .team-slogan{opacity:1;transform:none}
 .team-card:hover .team-portrait>img{transform:scale(1.025);filter:saturate(1)}
 .team-card:hover .team-plus{transform:rotate(45deg)}
}
@media(max-width:760px){
 .header nav{position:fixed}.menu-light{opacity:.16}.menu-light-wide{opacity:0;border-radius:0 0 22px 22px}.header.is-scrolled .menu-light-wide{opacity:.16}
 [data-concept=cinema] .hero{height:calc(155svh + 1200px)}
 .mirror-object{filter:drop-shadow(5px 5px 4px #453a2929) drop-shadow(15px 11px 13px #51433038)}
 .room-motion>img{object-position:72% top}.hero-copy{padding-top:92px}
 .aging{height:calc(175svh + 480px)}.aging-scroll-rail{left:10px;top:15%;height:66%}
 .gallery-track{gap:10px;padding-inline:14vw}.gallery-slide{flex-basis:72vw}
 [data-concept] .gallery-slide img{height:55svh;min-height:280px;max-height:520px}
 .gallery-open{padding:10px}
}
@media(prefers-reduced-motion:reduce){
 [data-concept=cinema] .hero{height:100svh!important;min-height:0}.hero-pin{min-height:0}
 .aging{height:auto}.aging-scroll-rail{display:none}.mirror-object{transform:none;will-change:auto}
 .gallery-slide{transition:none}.header:before{transition:none}
}
