/* Estilos restritos ao carrossel, preservando a geometria do HERO. */
.hero-visual{touch-action:pan-y}
.hero-visual>.hero-slide{inset:0;opacity:0;transition:opacity .85s ease;will-change:opacity,transform;pointer-events:none}
.hero-visual>.hero-slide.is-active{opacity:1;z-index:1}
.hero-visual>.image-shade{z-index:2;pointer-events:none}
.hero-visual>.photo-label{z-index:4;pointer-events:none}
.hero-photo-open{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:transparent;padding:0;cursor:pointer}
.hero-photo-open:focus-visible{outline-offset:-7px;border-radius:inherit}
.hero-visual>.hero-property{z-index:4}
.hero-carousel-controls[hidden]{display:none}
.hero-carousel-arrow,.hero-carousel-pause{position:absolute;z-index:5;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #c9ac7a66;border-radius:50%;background:#0a172459;color:var(--gold);backdrop-filter:blur(6px);transition:background .25s,border-color .25s}
.hero-carousel-arrow{top:48%;transform:translateY(-50%)}
.hero-carousel-arrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.hero-carousel-prev{left:16px}.hero-carousel-next{right:16px}
.hero-carousel-pause{right:56px;top:26px;width:28px;height:28px;font-size:11px;line-height:1}
.hero-carousel-arrow:hover,.hero-carousel-pause:hover{background:#0a1724cc;border-color:var(--gold)}
.hero-progress{position:absolute;z-index:5;bottom:6px;left:28px;right:28px;display:flex;gap:5px;--progress:0}
.hero-progress button{position:relative;flex:1;min-width:0;height:20px;border:0;padding:8px 0;background:transparent}
.hero-progress button:before,.hero-progress button>span{content:'';position:absolute;left:0;right:0;top:9px;height:2px;background:var(--gold);opacity:.3;pointer-events:none}
.hero-progress button>span{opacity:1;transform:scaleX(0);transform-origin:left}
.hero-progress button[aria-current=true]>span{transform:scaleX(var(--progress))}
.hero-progress button[aria-current=true]:before,.hero-progress button:hover:before{opacity:.8}
@media(max-width:1000px){.hero-progress{left:18px;right:18px}}
@media(max-width:680px){.hero-carousel-arrow{width:32px;height:32px}.hero-carousel-prev{left:12px}.hero-carousel-next{right:12px}.hero-carousel-pause{top:22px}.hero-progress{bottom:2px;gap:4px}}
@media(prefers-reduced-motion:reduce){.hero-visual>.hero-slide{transition:none;will-change:auto}.hero-progress button[aria-current=true]>span{transform:scaleX(1)}}
