/* Shared image-only hero. Carousel behavior remains Bootstrap's. */
.fef-hero-region { width: 100%; max-width: none; margin: 0; font-family: var(--fef-sans, "Source Sans 3", sans-serif); text-align: left; }
.fef-hero, .fef-hero * { box-sizing: border-box; }
.fef-hero { position: relative; isolation: isolate; background: #123f5e; }
.fef-hero .carousel-item { height: 320px; min-height: 0; padding: 0; }
.fef-hero-figure { position: absolute; inset: 0; margin: 0; }
.fef-hero-picture { display: block; width: 100%; height: 100%; }
.fef-hero .fef-hero-image { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center; }
.fef-hero-image-title { position: absolute; right: 0; bottom: 0; max-width: 50%; padding: 4px 10px; font-size: 0.75rem; line-height: 1.4; overflow-wrap: anywhere; background: rgba(11,42,69,.85); color: #fff; }
.fef-hero .fef-hero-control { position: absolute; z-index: 3; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; padding: 0; background: rgba(255,255,255,.9); color: #123f5e; font-size: 2rem; line-height: 1; cursor: pointer; }
.fef-hero-control-prev, .fef-hero-control-next { top: 50%; transform: translateY(-50%); }
.fef-hero-control-prev { left: 16px; }
.fef-hero-control-next { right: 16px; }
.fef-hero .fef-hero-toggle { bottom: 8px; left: 16px; }
.fef-hero .fef-hero-toggle[hidden] { display: none; }
.fef-hero .fef-hero-icon-play { display: none; }
.fef-hero .fef-hero-toggle[aria-pressed="true"] .fef-hero-icon-pause { display: none; }
.fef-hero .fef-hero-toggle[aria-pressed="true"] .fef-hero-icon-play { display: block; }
.fef-hero-indicators { position: absolute; bottom: 8px; left: 72px; right: 72px; display: flex; justify-content: center; flex-wrap: wrap; gap: 0; z-index: 2; }
.fef-hero-dot { display: flex; justify-content: center; align-items: center; width: 28px; min-height: 28px; border: 0; padding: 0; background: transparent; }
.fef-hero-dot span { width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; background: #ffffff26; }
.fef-hero-dot.active span { background: #fff; }
.fef-hero button:focus-visible { outline: 3px solid #123f5e; outline-offset: 3px; box-shadow: 0 0 0 6px #fff; }
@media (max-width: 991.98px) {
    .fef-hero .carousel-item { height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
    .fef-hero .carousel-item { transition: none; }
}
