.visual { isolation:isolate; background:#c7c9ca; }
.hero-slide { position:absolute;inset:0;opacity:0;transition:opacity 700ms ease-in-out;pointer-events:none; }
.hero-slide.is-active { opacity:1; }
.person-plane { position:absolute;left:0;top:0;width:100%;aspect-ratio:1122 / 1402; }
.hero-slide[data-person="man"] .person-plane { top:-4.3%; }
.model-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:fill; }
.frame-overlay { position:absolute;left:var(--frame-x);top:var(--frame-y);width:var(--frame-width);height:auto;transform:translate(-50%,-50%) rotate(var(--frame-angle,0deg));filter:drop-shadow(0 2px 1px rgba(40,25,15,.16)); }
.visual .label { z-index:4; }
.motion-controls { position:absolute;right:24px;top:24px;z-index:4;display:flex;gap:8px; }
.motion-controls button { font:inherit;font-size:11px;border:1px solid #fff;background:#fff;color:#1d1d1f;border-radius:999px;min-height:36px;padding:0 14px;cursor:pointer; }
.visual .product { z-index:4;gap:14px;padding:14px 18px;bottom:42px; }
.visual .product>img { width:86px;height:46px; }
.visual .product strong { font-size:14px; }
.visual .product .switch { border:0;background:none;font:inherit;color:#6e6e73;font-size:12px;padding:8px;cursor:pointer; }
.motion-pips { position:absolute;bottom:18px;left:30px;display:flex;gap:8px;z-index:4; }
.motion-pips button { width:26px;height:4px;padding:0;border:0;border-radius:3px;background:#fff8;cursor:pointer; }
.motion-pips button[aria-current="true"] { background:#fff; }
.visual small { z-index:4;background:#31313190;border-radius:4px;padding:3px 6px;bottom:12px;right:18px;font-size:9px;text-shadow:none; }
.motion-controls button:focus-visible,.motion-pips button:focus-visible { outline:3px solid #d24f00;outline-offset:4px; }
@media(max-width:600px){.motion-controls{right:14px;top:14px}.motion-controls button{min-height:30px;padding:0 10px;font-size:9px}.visual .product{bottom:34px;left:14px;right:14px;padding:11px 13px;gap:14px}.visual .product>img{width:74px;height:36px}.visual .product strong{font-size:12px}.visual .product p{font-size:9px}.motion-pips{left:20px;bottom:16px;gap:6px}.motion-pips button{width:18px}.visual small{font-size:7px;right:12px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
