/* Extend the portrait with quiet neutral tones, not an enlarged blurred face. */
.hero-slide:before{inset:0;filter:none;transform:none}
.hero-slide[data-person=woman]:before{background:linear-gradient(115deg,#9da0a2,#a9acae 48%,#96999e)}
.hero-slide[data-person=man]:before{background:linear-gradient(115deg,#999da3,#adb2b8 48%,#8d9299)}
.hero-slide .model-photo{mask-image:linear-gradient(to right,transparent,#000 13%,#000 87%,transparent)}
/* Primary and secondary imagery share a common top and bottom. */
.scene-grid{align-items:stretch}
.scene-primary{position:relative;display:block;overflow:hidden;border-radius:22px;min-height:0}
.scene-primary .scene-image{height:100%;min-height:360px;aspect-ratio:auto;border-radius:0}
.scene-primary .scene-text{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:70px 24px 23px;background:linear-gradient(transparent,rgba(14,15,17,.77));color:white}
.scene-primary .scene-text small,.scene-primary .scene-text p,.scene-primary .scene-text h3,.scene-primary .scene-label{color:white}
.scene-primary .scene-text p{max-width:420px;color:#ffffffe0}
.scene-primary .scene-label{font-size:24px}
.scene-secondary-stack{align-content:stretch;grid-template-rows:1fr 1fr}
.scene-secondary{align-items:center}
/* The three demonstrations form one connected path. */
.merchant-simple li{position:relative}
.merchant-simple li:not(:last-child):after{content:'→';position:absolute;top:99px;right:-24px;width:18px;z-index:2;text-align:center;color:#b9b9bd;font-size:19px}
.demo-cursor{width:19px;height:25px;font-size:0;filter:drop-shadow(0 1px 1px #0003)}
.demo-cursor svg{width:100%;height:100%;display:block}
.demo-preview{perspective:400px;overflow:hidden}
.demo-preview img{transform-origin:center;animation:frame-inspection 5s ease-in-out infinite}
@keyframes frame-inspection{0%,12%,100%{transform:rotateY(0deg)}32%{transform:rotateY(48deg)}52%{transform:rotateY(0deg)}72%{transform:rotateY(-48deg)}88%{transform:rotateY(0deg)}}
#contactDetails{margin-top:26px}.contact-call{padding:2px 0 9px;gap:22px;border:0;border-bottom:1px solid #b5b5b9;border-radius:0;background:transparent;box-shadow:none;align-items:end}
.contact-call:hover{border-color:#d24f00;transform:none}.contact-call small{font-size:12px;color:#6e6e73}.contact-call strong{font-size:22px;letter-spacing:.5px;font-weight:600}.call-arrow{margin:0 0 2px;color:#d24f00;font-size:20px;transition:transform .2s}
.contact-call:hover .call-arrow{transform:translate(3px,-3px)}
@media(hover:hover){
 .button.primary{transition:transform .22s ease,background-color .22s ease,border-color .22s ease}
 .button.primary:hover{background:#e85b00;border-color:#e85b00;transform:scale(1.035)}
 .scene-image img,.privacy-image img,.phone-demo img{transition:transform .55s cubic-bezier(.2,.65,.2,1),opacity .6s ease,filter .6s ease}
 .motion-ready [data-reveal].is-visible .scene-image:hover img,.scene-image:hover img,.motion-ready [data-reveal].is-visible .privacy-image:hover img,.privacy-image:hover img,.phone-demo:hover img{transform:scale(1.045)}
}
@media(max-width:600px){
 .scene-primary{display:flex;flex-direction:column;border-radius:0;overflow:visible}
 .scene-primary .scene-text{position:static;order:0;padding:0 0 14px;background:none;color:#1d1d1f}
 .scene-primary .scene-text small,.scene-primary .scene-text p,.scene-primary .scene-text h3{color:#6e6e73}.scene-primary .scene-label{color:#1d1d1f}
 .scene-primary .scene-image{order:1;height:auto;min-height:0;aspect-ratio:1.45;border-radius:22px}
 .scene-secondary-stack{grid-template-rows:auto}
 .merchant-simple li:not(:last-child):after{content:'↓';top:auto;right:calc(50% - 9px);bottom:-24px}
}
@media(prefers-reduced-motion:reduce){.demo-preview img{animation:none}.button.primary,.scene-image img,.privacy-image img,.phone-demo img{transition:none!important}}
@media(hover:hover){.motion-ready [data-reveal].is-visible.scene-primary:hover .scene-image img,.scene-primary:hover .scene-image img{transform:scale(1.045)}}
