@media (min-width: 992px) {

    /* opt-in by JS: adds .modern-carousel + .carousel-fade */
    .modern-carousel.carousel.carousel-fade .carousel-inner {
        overflow: hidden !important;
        position: relative !important;
    }

    .modern-carousel.carousel.carousel-fade .carousel-item {
        display    : block !important;
        position   : absolute !important;
        inset      : 0 0 0 0 !important;
        opacity    : 0 !important;
        /* subtle zoom-out */
        will-change: opacity, transform, filter !important;
        z-index    : 0 !important;
    }

    .modern-carousel.carousel.carousel-fade .carousel-item.active {
        opacity : 1 !important;
        position: relative !important;
        z-index : 1 !important;
    }

    .modern-carousel.carousel.carousel-fade .carousel-item-next,
    .modern-carousel.carousel.carousel-fade .carousel-item-prev {
        opacity: 0 !important;
        z-index: 2 !important;
    }

    .modern-carousel.carousel.carousel-fade .carousel-item-next.carousel-item-left,
    .modern-carousel.carousel.carousel-fade .carousel-item-prev.carousel-item-right {
        opacity: 1 !important;
    }

    /* Progress bar (bottom center) */
    .modern-carousel .carousel-progress {
        position      : absolute !important;
        left          : 4% !important;
        right         : 4% !important;
        bottom        : 8px !important;
        height        : 3px !important;
        background    : rgba(18, 23, 148, 0.15) !important;
        border-radius : 999px !important;
        overflow      : hidden !important;
        z-index       : 5 !important;
        pointer-events: none !important;
    }

    .modern-carousel .carousel-progress__bar {
        height          : 100% !important;
        width           : 100% !important;
        transform-origin: left !important;
        background      : var(--default-blue, #122394) !important;
    }

    .modern-carousel.is-paused .carousel-progress__bar {
        animation-play-state: paused !important;
    }

    /* Ken Burns + caption reveal [desktop] */
    /* Image inside each slide that should animate */
    .modern-carousel .carousel-item .kb-img {
        will-change        : transform !important;
        backface-visibility: hidden !important;
    }

    /* Caption reveal (apply .caption-anim to any caption container) */
    .modern-carousel .caption-anim {
        opacity: 0 !important;
    }

    .modern-carousel .carousel-item.active .caption-anim {
        opacity: 1 !important;
    }
}

/* Stable carousel sizing (desktop): prevents layout jump */
@media (min-width: 992px) {
    .modern-carousel.carousel-stable {
        height    : var(--carousel-height, clamp(420px, 42vh, 640px)) !important;
        max-height: 70vh !important;
    }

    .modern-carousel.carousel-stable .carousel-inner,
    .modern-carousel.carousel-stable .carousel-item {
        height: 100% !important;
    }

    /* Ensure images fill without stretch; reserve intrinsic size */
    .modern-carousel.carousel-stable .kb-img,
    .modern-carousel.carousel-stable picture>img,
    .modern-carousel.carousel-stable .carousel-item img {
        width                 : 100% !important;
        height                : 100% !important;
        object-fit            : cover !important;
        object-position       : center !important;
        contain               : paint layout size !important;
        content-visibility    : auto !important;
        contain-intrinsic-size: 640px 360px !important;
        /* reserve space for offscreen items */
        backface-visibility   : hidden !important;
    }

    /* Hide any lingering progress UI */
    .modern-carousel .carousel-progress,
    .modern-carousel .carousel-progress__bar {
        display: none !important;
    }
}

/* Mobile titles: keep fade smooth without reflow */
#mSlides .m-slide-item {
    position: relative !important;
}

#mSlides .m-slide-item.active {
    opacity: 1 !important;
}

#mSlides .m-slide-item.leaving {
    opacity: 0 !important;
}

/* Soft reveal kept (no progress) */
@media (min-width: 992px) {
    .modern-carousel .kb-img.soft-reveal {
        opacity    : 0 !important;
        filter     : blur(6px) saturate(0.95) contrast(0.98) !important;
        will-change: opacity, filter, transform !important;
    }

    .modern-carousel .carousel-item.active .kb-img.soft-reveal.is-loaded {
        opacity: 1 !important;
        filter : none !important;
    }
}

/* Override: soft reveal without blur (desktop) */
@media (min-width: 992px) {
    .modern-carousel .kb-img.soft-reveal {
        opacity: 0 !important;
        filter : none !important;
    }

    .modern-carousel .carousel-item.active .kb-img.soft-reveal.is-loaded {
        opacity: 1 !important;
        filter : none !important;
    }
}

/* Reduced motion: show immediately */
@media (prefers-reduced-motion: reduce) {
    .modern-carousel .kb-img.soft-reveal {
        opacity: 1 !important;
        filter : none !important;
    }
}

/* Keyframes */
@keyframes kb-pan-ltr {
    0% {}

    100% {}
}

@keyframes kb-pan-rtl {
    0% {}

    100% {}
}

@keyframes kb-zoom {
    0% {}

    100% {}
}

@keyframes gdt-carousel-fill {
    from {}

    to {}
}

/* Hide any existing progress indicator completely */
.modern-carousel .carousel-progress {
    display: none !important;
}

.modern-carousel .carousel-progress__bar {
    display: none !important;
}

/* mobile phones: portrait + small-height landscape */

@media (max-width: 575.98px),
(orientation: landscape) and (max-height: 480px) {
    #mSlides {
        --m-img-h  : 240px !important;
        --m-line   : 22px;
        --m-lines  : 3;
        --m-title-h: calc(var(--m-line) * var(--m-lines));
    }

    #mSlides .m-stage .lazy-wrap>img,
    #mSlides .m-stage .m-slide-img {
        width: 92% !important;
    }
}

@media (min-width: 574px) {
    #mSlides {
        --m-img-h: 329px !important;
    }
}

@media (min-width: 650px) {
    #mSlides {
        --m-img-h: 350px !important;
    }
}

@media (min-width: 770px) {
    #mSlides {
        --m-img-h: 500px !important;
    }
}