/* Hero Banner — responsive image slider, flush under fixed header */

.hero-banner {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: var(--header-height) 0 0;
    padding: 0;
    background: transparent;
    overflow: hidden;
}

.hero-banner__slider {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

/* Before Swiper init — show first slide only (prevents side-by-side flash) */
.hero-banner__slider:not(.swiper-initialized) .swiper-wrapper {
    display: block;
}

.hero-banner__slider:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none;
}

.hero-banner__slide {
    width: 100%;
    line-height: 0;
}

.hero-banner__slide picture {
    display: block;
    width: 100%;
    line-height: 0;
}

.hero-banner__slide img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .hero-banner__slide img {
        object-fit: cover;
        object-position: center;
       
    }
}

/* Fade — Swiper stacks slides; one image visible at a time */
.hero-banner__slider.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.9s;
}

.hero-banner__slider.swiper-fade .swiper-slide-active {
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .hero-banner__slider.swiper-fade .swiper-slide {
        transition-duration: 0.01ms;
    }
}
