.home-banner-slider{width:100%;max-width:none;position:relative;margin:8px 0 48px calc(50% - 50vw);background:#064526;overflow:hidden}.home-banner-viewport{width:100%;overflow:hidden}.home-banner-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}.home-banner-slide{min-width:100%;position:relative;display:block;aspect-ratio:3/1;background:#064526;overflow:hidden}.home-banner-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.home-banner-slide:focus-visible{outline:5px solid #ffc900;outline-offset:-5px}.home-banner-control{width:46px;height:46px;position:absolute;z-index:2;top:50%;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.66);color:#07542d;box-shadow:0 5px 18px rgba(0,0,0,.14);backdrop-filter:blur(5px);transform:translateY(-50%);cursor:pointer;transition:.2s}.home-banner-control:hover,.home-banner-control:focus-visible{background:#fff;transform:translateY(-50%) scale(1.07);outline:3px solid #ffc900}.home-banner-control svg{width:25px;height:25px}.home-banner-prev{left:22px}.home-banner-next{right:22px}.home-banner-dots{position:absolute;z-index:2;left:50%;bottom:17px;display:flex;gap:9px;transform:translateX(-50%)}.home-banner-dot{width:10px;height:10px;padding:0;border:2px solid #fff;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:0 2px 7px rgba(0,0,0,.2);cursor:pointer}.home-banner-dot.is-active{background:#ffc900;border-color:#ffc900}.home-banner-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:760px){.home-banner-slider{margin-top:6px;margin-bottom:34px}.home-banner-slide{aspect-ratio:16/8}.home-banner-slide img{object-position:center}.home-banner-control{width:36px;height:36px}.home-banner-control svg{width:20px}.home-banner-prev{left:9px}.home-banner-next{right:9px}.home-banner-dots{bottom:10px}}
@media(max-width:480px){.home-banner-slide{aspect-ratio:4/3}.home-banner-slide img{object-position:center}.home-banner-control{width:32px;height:32px}.home-banner-dots{gap:6px}.home-banner-dot{width:8px;height:8px}}
@media(prefers-reduced-motion:reduce){.home-banner-track{transition:none}}

/* Altura compacta para o banner panorâmico. */
.home-banner-slider{margin-bottom:42px}.home-banner-slide{height:clamp(270px,24vw,420px);aspect-ratio:auto}
@media(max-width:760px){.home-banner-slider{margin-bottom:30px}.home-banner-slide{height:clamp(190px,42vw,285px);aspect-ratio:auto}}
@media(max-width:480px){.home-banner-slide{height:200px;aspect-ratio:auto}}

/* No mobile a arte inteira permanece visível, sem recortar informações. */
@media(max-width:760px){.home-banner-slide{height:auto;aspect-ratio:3/1}.home-banner-slide img{object-fit:contain;object-position:center}.home-banner-control{width:30px;height:30px}.home-banner-control svg{width:17px;height:17px}.home-banner-dots{bottom:7px}.home-banner-dot{width:7px;height:7px}}
@media(max-width:480px){.home-banner-slide{height:auto;aspect-ratio:3/1}.home-banner-control{width:27px;height:27px}.home-banner-prev{left:5px}.home-banner-next{right:5px}}

/* Preenchimento total no mobile, sem faixas acima ou abaixo da arte. */
@media(max-width:760px){.home-banner-slide{height:auto;aspect-ratio:3.45/1}.home-banner-slide img{width:100%;height:100%;object-fit:cover;object-position:center}}
@media(max-width:480px){.home-banner-slide{height:auto;aspect-ratio:3.45/1}}

/* Ajuste fino solicitado: mais 15px de altura em todas as resoluções. */
.home-banner-slide{height:clamp(285px,calc(24vw + 15px),435px)}
@media(max-width:760px){.home-banner-slide{height:calc((100vw / 3.45) + 15px);aspect-ratio:auto}}
