/* Scoped to the existing home-page figure; the page layout stays in styles.css. */
.hero-carousel [hidden] { display: none !important; }
.hero-carousel-frame { position: relative; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 12px; }
.home-story-image .hero-carousel-frame > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 0; }
.hero-carousel-controls { position: absolute; top: 12px; right: 12px; display: flex; gap: 1px; padding: 3px; border: 1px solid #dce3eec9; border-radius: 24px; background: #ffffffeb; box-shadow: 0 2px 12px #17263c10; }
.hero-carousel-controls button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #1e3c93; font: 18px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; cursor: pointer; }
.hero-carousel-controls button:hover { background: #eaf0fa; }
.hero-carousel-controls button:focus-visible { outline: 2px solid #3366cc; outline-offset: 1px; }
.hero-carousel[data-hero-ready] figcaption { min-height: 10rem; }
.hero-carousel[data-hero-ready] [data-hero-caption] { display: block; color: #34465e; font-size: 16px; line-height: 1.45; margin-bottom: 5px; overflow-wrap: break-word; }
.hero-carousel[data-hero-ready] .hero-caption-separator { display: none; }
.hero-carousel[data-hero-ready] [data-hero-disclosure] { display: block; font-size: 12px; line-height: 1.5; }
.hero-carousel [data-hero-caveat] { display: block; margin-top: 3px; font-size: 12px; line-height: 1.5; }
.hero-carousel-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 540px) {
  .hero-carousel[data-hero-ready] figcaption { min-height: 10rem; }
  .hero-carousel-controls { top: 9px; right: 9px; }
}

@media (max-width: 360px) {
  .hero-carousel[data-hero-ready] figcaption { min-height: 12rem; }
}
