/* Carrusel fotográfico exclusivo de Inicio. */
.hero__slides { position: absolute; inset: 0; overflow: hidden; }
.hero__track { display: flex; width: 100%; height: 100%; transition: transform .9s cubic-bezier(.65, 0, .35, 1); }
.hero__track img { display: block; flex: 0 0 100%; width: 100%; min-width: 0; height: 100%; object-fit: cover; }
.hero__overlay, .hero::before { z-index: 1; pointer-events: none; }
.hero__carousel-controls { position: absolute; z-index: 4; right: 32px; bottom: 20px; display: flex; align-items: center; gap: 6px; }
.hero__carousel-controls[hidden] { display: none; }
.hero__carousel-controls button { position: relative; width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
.hero__carousel-controls [data-hero-slide] { width: clamp(32px, 5vw, 76px); }
.hero__carousel-controls [data-hero-slide]::before,
.hero__carousel-controls [data-hero-slide]::after { content: ''; position: absolute; left: 0; top: 14px; width: 100%; height: 4px; transform: skewX(-35deg); }
.hero__carousel-controls [data-hero-slide]::before { background: #ffffff55; }
.hero__carousel-controls [data-hero-slide]::after { background: var(--color-acento); transform: skewX(-35deg) scaleX(0); transform-origin: left; }
.hero__carousel-controls [aria-pressed="true"]::after { transform: skewX(-35deg) scaleX(var(--progress, 0)); }
.hero__carousel-controls .hero__pause { margin-left: 8px; font-size: 18px; color: #ffffffaa; }
.hero__carousel-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 800px) {
  .hero__carousel-controls { right: 18px; }
  .hero__track img { object-position: 62% center; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__track { transition: none; }
  .hero__carousel-controls [aria-pressed="true"]::after { transform: skewX(-35deg) scaleX(1); }
}
