/* One continuous photograph, composed on the GPU. No image sequences. */
body{position:relative;background:var(--paper)}
main,.footer{position:relative;z-index:1}
.camera-stage{position:fixed;inset:0;height:100lvh;overflow:hidden;z-index:0;pointer-events:none;background:var(--paper);contain:layout paint}
.camera-image{height:100%;width:100%;object-fit:cover;object-position:60% 50%;transform-origin:65% 50%;will-change:transform;backface-visibility:hidden;transform:perspective(1800px) translate3d(-2vw,1vh,0) rotateY(3deg) scale(1.14)}
.camera-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,244,239,.97),rgba(246,244,239,.74) 28%,transparent 64%);opacity:var(--camera-shade,1);will-change:opacity}
.hero{height:185svh;min-height:0;max-height:none;overflow:visible;background:none}
.hero:after{display:none}
.hero-sticky{position:sticky;top:96px;height:calc(100svh - 96px);min-height:560px;overflow:hidden}
.hero-content{width:60%;opacity:var(--hero-opacity,1);transform:translate3d(0,var(--hero-drift,0px),0);will-change:opacity,transform}
.scroll-cue{opacity:var(--hero-opacity,1)}
.intro,.services,.about,.method{background:rgba(246,244,239,.98)}
.intro{position:relative;border-top:1px solid var(--line)}
.services{padding-bottom:110px}
.scene-pause{height:72svh;min-height:400px;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:65px var(--gutter);isolation:isolate}
.scene-pause:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,26,23,.68),rgba(24,26,23,0) 75%);z-index:-1}
.scene-caption{font-family:var(--serif);font-size:clamp(48px,6.5vw,104px);line-height:1;letter-spacing:-.05em;color:var(--paper)}
.scene-caption p{line-height:1.05}.scene-caption span{color:#df9b65}
.about{padding-top:100px}
.footer{background:var(--ink)}
@media(min-width:1700px){.hero-sticky{top:110px;height:calc(100svh - 110px)}}
@media(max-width:1100px){.hero-sticky{top:80px;height:calc(100svh - 80px)}.hero-content{padding-top:65px}}
@media(max-width:760px){
 .camera-image{object-position:66% 50%;transform-origin:60% 50%}
 .camera-shade{background:linear-gradient(180deg,var(--paper) 1%,rgba(246,244,239,.96) 35%,rgba(246,244,239,.5) 53%,transparent 72%)}
 .hero{height:160svh}.hero-sticky{top:75px;height:calc(100svh - 75px);min-height:590px}
 .hero-content{width:100%;padding-top:35px}
 .scroll-cue{display:flex;font-size:9px;bottom:22px;color:var(--paper);text-shadow:0 1px 6px #0009}
 .intro,.services,.about,.method{background:var(--paper)}
 .scene-pause{height:62svh;min-height:380px;padding:40px var(--gutter)}
 .scene-caption{font-size:54px}.about{padding-top:65px}.services{padding-bottom:65px}
}
@media(prefers-reduced-motion:reduce){
 .camera-image{will-change:auto;transform:none!important}
 .hero{height:calc(100svh - 75px);min-height:650px}
 .hero-sticky{position:relative;top:0;height:100%;min-height:0}
 .hero-content{opacity:1!important;transform:none!important;will-change:auto}
 .camera-shade{opacity:1!important;will-change:auto}
 .scroll-cue{opacity:1!important}.scene-pause{height:50svh}
}
