/* The unenhanced layout exposes every feature; pinning starts only after video readiness. */
.zs-camera{background:#fff;color:#122b3b;position:relative;margin:0;border-block:1px solid #edf2f5}
.zs-camera-pin{padding:56px 0}
.zs-camera-heading{text-align:center;margin:0 auto 12px;max-width:820px}
.zs-camera-heading .eyebrow{margin-bottom:10px}
.zs-camera-heading h2{font-family:Saira,sans-serif;font-size:clamp(28px,3.1vw,48px);line-height:1.1;margin:0 0 10px;letter-spacing:-.035em}
.zs-camera-heading p{color:#637986;margin:0;font-size:16px}
.zs-camera-stage{position:relative;isolation:isolate}
.zs-camera-visual{width:60%;margin:auto;position:relative}
.zs-camera-visual video{filter:brightness(1.15) contrast(1.08);display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent);-webkit-mask-composite:source-in}
.zs-camera-orbit{display:block;text-align:center;font-family:Saira,sans-serif;font-size:11px;letter-spacing:.28em;color:#526674;margin-top:-10px}
.zs-camera-steps{display:grid;gap:28px;margin-top:28px}
.zs-camera-step{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.zs-camera-feature{min-width:0;align-self:center}
.zs-camera-step-label,.zs-camera-detail{font-size:10px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:#006da8;display:block;margin-bottom:14px}
.zs-camera-detail{color:#526674}
.zs-camera-feature h3{font-family:Saira,sans-serif;font-size:clamp(22px,2vw,31px);line-height:1.15;margin:0 0 12px;letter-spacing:-.025em}
.zs-camera-feature p{font-size:14px;line-height:1.75;color:#5c7382;margin:0;max-width:300px}
.zs-camera-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px}
.zs-camera-cue{display:none;font-size:11px;color:#526674}
.zs-camera-track{width:170px;height:2px;background:#e4edf2;margin-top:12px;overflow:hidden}
.zs-camera-track i{display:block;background:#008fdd;width:100%;height:100%;transform:scaleX(0);transform-origin:left}
.zs-camera-actions{display:flex;align-items:center;gap:24px}
.zs-camera-actions .btn{border-radius:9999px}
.zs-camera-finder{color:#34566a;font-size:13px;font-weight:600;text-decoration:none;padding:12px 0}
.zs-camera a:focus-visible{outline:3px solid #008fdd;outline-offset:5px}
.zs-camera:is(.is-interactive,.is-preparing){height:280svh}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-pin{position:sticky;top:100px;height:calc(100svh - 100px);max-height:900px;padding:28px 0;display:flex;align-items:center}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-pin>.container{flex-shrink:0}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-stage{height:clamp(250px,43svh,440px)}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-visual{height:100%;width:64%;display:flex;flex-direction:column;justify-content:center}
.zs-camera:is(.is-interactive,.is-preparing) video{min-height:0;height:calc(100% - 24px)}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-steps{position:absolute;inset:0;display:block;margin:0;pointer-events:none}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step{position:absolute;inset:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56%;visibility:hidden;transition:visibility 0s linear 180ms}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step.is-active{visibility:visible;transition-delay:0s}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-cue{display:block}
body.admin-bar .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-pin{top:132px;height:calc(100svh - 132px)}
@media(max-width:900px){
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step{column-gap:48%}
 .zs-camera-feature p{font-size:13px;line-height:1.6}
 .zs-camera-actions{gap:16px}
}
@media(max-width:650px){
 .zs-camera-pin{padding:40px 0}
 .zs-camera-heading h2{font-size:28px}
 .zs-camera-heading p{font-size:13px}
 .zs-camera-visual{width:100%}
 .zs-camera-step{gap:20px}
 .zs-camera-feature h3{font-size:20px;margin-bottom:8px}
 .zs-camera-step-label,.zs-camera-detail{font-size:9px;letter-spacing:.06em;margin-bottom:8px}
 .zs-camera-footer{display:block;margin-top:20px}
 .zs-camera-actions{justify-content:center;gap:12px;flex-wrap:wrap}
 .zs-camera-actions .btn{font-size:12px;padding:11px 18px}
 .zs-camera-finder{font-size:12px}
 .zs-camera:is(.is-interactive,.is-preparing){height:260svh}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-pin{top:80px;height:calc(100svh - 80px);padding:18px 0}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-stage{height:clamp(330px,55svh,490px)}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-visual{width:100%;height:57%}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step{top:60%;column-gap:20px}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-cue{display:none}
 body.admin-bar .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-pin{top:80px;height:calc(100svh - 80px)}
}
@media(prefers-reduced-motion:reduce){.zs-camera-step{transition:none!important}}

@media(max-width:650px) and (max-height:740px){
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-pin{padding:12px 0}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-stage{height:360px}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-visual{height:43%}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step{top:44%}
 .zs-camera-heading h2{font-size:24px}
 .zs-camera-feature p{font-size:12px;line-height:1.5}
 .zs-camera-feature h3{font-size:18px}
 .zs-camera-footer{margin-top:16px}
}
@media(max-width:359px){.zs-camera-step{grid-template-columns:1fr}.zs-camera-feature p{max-width:none}}

/* Independently interrupted entrances: the second side follows by 70 ms. */
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature{position:relative;opacity:0;transform:translateY(8px);transition:opacity 160ms cubic-bezier(.23,1,.32,1),transform 160ms cubic-bezier(.23,1,.32,1)}
.zs-camera:is(.is-interactive,.is-preparing) .is-active .zs-camera-feature{opacity:1;transform:translate(0,0);transition-duration:220ms}
.zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature:after{content:"";position:absolute;top:calc(100% + 14px);left:0;width:56px;height:1px;background:linear-gradient(90deg,#008fdd,rgba(0,143,221,.2));transform:scaleX(0);transform-origin:left;transition:transform 140ms cubic-bezier(.23,1,.32,1)}
.zs-camera:is(.is-interactive,.is-preparing) .is-active .zs-camera-feature:after{transform:scaleX(1);transition-duration:180ms;transition-delay:60ms}
@media(min-width:651px){
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature--left{top:-24px;transform:translate(-14px,6px)}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature--right{top:28px;transform:translate(14px,6px)}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step:nth-child(2n) .zs-camera-feature--left{top:22px}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-step:nth-child(2n) .zs-camera-feature--right{top:-26px}
 .zs-camera:is(.is-interactive,.is-preparing) .is-active .zs-camera-feature{transform:translate(0,0)}
 .zs-camera:is(.is-interactive,.is-preparing) .is-active .zs-camera-feature--right{transition-delay:70ms}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature:after{top:calc(100% + 20px);width:clamp(64px,7vw,100px)}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature--left:after{left:auto;right:-20px}
 .zs-camera:is(.is-interactive,.is-preparing) .zs-camera-feature--right:after{left:-20px;transform-origin:right;background:linear-gradient(270deg,#008fdd,rgba(0,143,221,.2))}
 .zs-camera:is(.is-interactive,.is-preparing) .is-active .zs-camera-feature--right:after{transition-delay:130ms}
}
@media(max-width:650px){
 .zs-camera-visual video{mask-image:linear-gradient(90deg,transparent,#000 27%,#000 73%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 27%,#000 73%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent)}
}
@media(prefers-reduced-motion:reduce){
 .zs-camera .zs-camera-feature,.zs-camera .zs-camera-feature:after{transition:none!important;transform:none!important}
}

/* Enlarge the camera itself on phones, cropping only the surrounding video space. */
@media(max-width:650px){
 .zs-camera-visual{overflow:hidden;overflow:clip}
 .zs-camera-visual video{transform:scale(1.32);transform-origin:50% 50%}
 .zs-camera-orbit{display:none}
}
