/* Scene descriptions remain readable outside the photography. */
.scene-grid{align-items:start}
.scene-primary{display:flex;flex-direction:column;overflow:visible;border-radius:0}
.scene-primary .scene-image{order:0;height:clamp(280px,31vw,380px);min-height:0;aspect-ratio:auto;border-radius:22px}
.scene-primary .scene-text{order:1;position:static;color:#1d1d1f;background:none;padding:16px 2px 0}
.scene-primary .scene-text small,.scene-primary .scene-text p{color:#6e6e73}
.scene-primary .scene-label,.scene-primary .scene-text h3{color:#1d1d1f}
.scene-primary .scene-label{font-size:23px;margin-top:5px}
.scene-primary .scene-text h3{font-size:16px;color:#505055;margin:5px 0}
.scene-secondary-stack{height:clamp(280px,31vw,380px);grid-template-rows:repeat(2,minmax(0,1fr));gap:20px}
.scene-secondary{height:100%;align-items:stretch}
.scene-secondary .scene-image{height:100%;aspect-ratio:auto}
.scene-secondary .scene-text{align-self:center}
/* Keep the steps connected where they are read. */
.merchant-simple li:not(:last-child):after{content:'';top:calc(220px + 34px);right:-24px;width:19px;height:1px;background:#c2c2c7}
.merchant-simple li:not(:last-child):before{content:'';position:absolute;top:calc(220px + 30px);right:-24px;width:8px;height:8px;border-top:1px solid #c2c2c7;border-right:1px solid #c2c2c7;transform:rotate(45deg);z-index:2}
.demo-preview .demo-glasses{position:relative;width:140px;height:65px;transform-style:preserve-3d;animation:frame-inspection 5s ease-in-out infinite}
.demo-preview .demo-glasses svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.demo-preview .demo-glasses img{position:absolute;left:20px;top:8px;width:100px;height:50px;animation:none;z-index:1}
/* Gentle snapping on desktop; long sections remain scrollable. */
@media(min-width:900px) and (min-height:700px){
 html{scroll-snap-type:y proximity;scroll-padding-top:0}
 main>section{scroll-snap-align:start;scroll-snap-stop:normal}
 main>section:not(.hero){min-height:100svh;display:flex;flex-direction:column;justify-content:center}
 main>section:not(.hero)>.section-inner{width:100%}
 .story,.site-section,.contact{padding-top:clamp(52px,7vh,90px);padding-bottom:clamp(52px,7vh,90px)}
}
@media(max-width:600px){
 .scene-primary .scene-image{order:0;height:auto;aspect-ratio:1.45;border-radius:22px}
 .scene-primary .scene-text{order:1;padding:15px 0 0}
 .scene-secondary-stack{height:auto;grid-template-rows:auto}
 .scene-secondary .scene-image{height:auto;aspect-ratio:1.12}
 .merchant-simple li:not(:last-child):after{top:auto;bottom:-16px;right:calc(50% - .5px);width:1px;height:13px}
 .merchant-simple li:not(:last-child):before{top:auto;bottom:-17px;right:calc(50% - 4px);transform:rotate(135deg)}
}
@media(prefers-reduced-motion:reduce){.demo-preview .demo-glasses{animation:none}}
/* Full-bleed square portraits: no artificially extended edges. */
.hero-slide:before{display:none}
.person-plane,.hero-slide[data-person=man] .person-plane{left:50%;top:50%;width:max(100%,100cqh);aspect-ratio:1;transform:translate(-50%,-50%)}
.hero-slide .model-photo{mask-image:none}
@media(min-width:900px) and (min-height:700px){main>.hero{scroll-snap-align:none}}
