/* Homepage hero only: keep the text and contrast overlay fixed. */
.hero-slider .hero-slides { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.hero-slider .hero-slide { z-index: 0; opacity: 0; transition: opacity 900ms ease-in-out; }
.hero-slider .hero-slide.is-active { opacity: 1; }
.hero-slider-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.hero-slider-controls[hidden] { display: none; }
.hero-slider-dots { display: flex; gap: 2px; }
.hero-slider-dot { display: grid; place-items: center; width: 44px; height: 44px; border: 0; padding: 0; background: transparent; cursor: pointer; }
.hero-slider-dot::before { content: ''; width: 9px; height: 9px; border: 1px solid #fff; border-radius: 50%; background: transparent; }
.hero-slider-dot[aria-pressed="true"]::before { background: var(--theme-accent); border-color: var(--theme-accent); }
.hero-slider-dot:disabled { opacity: .4; cursor: default; }
.hero-slider-pause { min-height: 44px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.65); border-radius: 6px; background: rgba(0,0,0,.25); color: #fff; font: inherit; font-size: .8rem; cursor: pointer; }
.hero-slider-controls button:focus-visible { outline: 3px solid var(--theme-accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .hero-slider .hero-slide { transition: none; opacity: 0 !important; }
  .hero-slider .hero-slide:first-child { opacity: 1 !important; }
  .hero-slider-controls { display: none; }
}
@media print {
  .hero-slider-controls { display: none; }
  .hero-slider .hero-slide { opacity: 0; }
  .hero-slider .hero-slide:first-child { opacity: 1; }
}
