.download-banner-slider {
    position: relative;
    width: min(100%, 920px);
    margin: 22px auto 30px;
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(11, 29, 58, .10);
    isolation: isolate;
}
.download-banner-slider-track {
    position: relative;
    width: 100%;
    min-height: 0;
}
.download-banner-slide {
    position: absolute;
    inset: 0;
    display: grid;
    width: 100%;
    height: auto;
    aspect-ratio: var(--download-banner-desktop-ratio, 12 / 5);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    transition:
        opacity var(--download-banner-transition, 600ms) ease,
        transform var(--download-banner-transition, 600ms) ease,
        visibility 0s linear var(--download-banner-transition, 600ms);
}
.download-banner-slide.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.download-banner-slide.transition-slide { transform: translateX(4%); }
.download-banner-slide.transition-slide.is-active { transform: translateX(0); }
.download-banner-slide.transition-zoom { transform: scale(1.025); }
.download-banner-slide.transition-zoom.is-active { transform: scale(1); }
.download-banner-link,
.download-banner-media,
.download-banner-media img {
    display: block;
    width: 100%;
    height: 100%;
}
.download-banner-link {
    color: inherit;
    text-decoration: none;
}
.download-banner-media img {
    object-position: var(--download-banner-object-position, center center);
    background: #fff;
}
.download-banner-media img.fit-contain { object-fit: contain; }
.download-banner-media img.fit-cover { object-fit: cover; }
.download-banner-dots {
    position: absolute;
    z-index: 3;
    inset-inline: 0;
    bottom: 12px;
    display: flex;
    justify-content: center;
    gap: 7px;
    pointer-events: none;
}
.download-banner-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(11, 29, 58, .28);
    cursor: pointer;
    pointer-events: auto;
    transition: width .2s ease, background .2s ease;
}
.download-banner-dots button.is-active {
    width: 24px;
    background: #0077ff;
}
@media (max-width: 720px) {
    .download-banner-slider {
        width: 100%;
        margin: 18px auto 24px;
        border-radius: 22px;
    }
    .download-banner-slider-track {
        min-height: 0;
    }
    .download-banner-slide {
        height: auto;
        aspect-ratio: var(
            --download-banner-mobile-ratio,
            var(--download-banner-desktop-ratio, 12 / 5)
        );
    }
}
@media (prefers-reduced-motion: reduce) {
    .download-banner-slide { transition: none; }
}

/* SVQ8 PHASE21H-N2 FULL BANNER HEIGHT */


/* SVQ8 INTERNAL BANNERS AUTO IMAGE RATIO V1
   The rendered banner follows the actual uploaded image ratio.
   No fixed mobile or desktop banner height is imposed here. */

/* SVQ8 INTERNAL BANNERS ZERO GAP V1
   Removes the inline-image baseline gap without changing image ratio. */
.download-banner-media {
    line-height: 0;
}

.download-banner-media img {
    display: block;
}
