/* Keep each active banner complete at every viewport width and browser zoom. */
.home-banner-carousel {
    display: grid;
    height: auto;
    aspect-ratio: auto;
    perspective: none;
    transform-style: flat;
}

.home-banner-carousel .home-banner-slide {
    height: auto;
}

.home-banner-carousel .home-banner-slide__content {
    position: relative;
    inset: auto;
    display: block;
    height: auto;
    clip-path: none;
    transform: none;
}

.home-banner-carousel .home-banner-slide__content > img,
.home-banner-carousel .home-banner-slide__content > video {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto 16 / 9;
    object-fit: contain;
    object-position: center;
}

.home-banner-carousel .home-banner-slide__content > div {
    position: relative;
    inset: auto;
    aspect-ratio: 16 / 9;
}

.home-banner-carousel .home-banner-slide--center,
.home-banner-carousel .home-banner-loading {
    position: relative;
    top: auto;
    left: auto;
    margin-inline: auto;
    transform: none;
}

.home-banner-carousel .home-banner-loading {
    height: auto;
    aspect-ratio: 16 / 9;
}

.home-banner-carousel .home-banner-slide--left {
    transform: translate(-127%, -50%) scale(0.86) rotate(-0.5deg);
}

.home-banner-carousel .home-banner-slide--right {
    transform: translate(27%, -50%) scale(0.86) rotate(0.5deg);
}

.home-banner-carousel .home-banner-slide--hidden {
    transform: translate(-50%, -50%) scale(0.58);
}

@media (prefers-reduced-motion: reduce) {
    .home-banner-carousel .home-banner-slide {
        transition: none;
    }
}
