/* Homepage pagination overlays the bottom center of the banner image. */
html body.home .cp-auto-hero {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: #fff !important;
}
@media (min-width: 768px) {
    html body.home .cp-auto-hero > .cp-auto-carousel-track {
        height: clamp(480px, 42.857143vw, min(88vh, 900px)) !important;
        min-height: 0 !important;
    }
}
html body.home .cp-auto-hero > .cp-auto-carousel-track {
    touch-action: pan-y pinch-zoom;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
html body.home .cp-auto-hero > .cp-auto-carousel-track.is-dragging { cursor: grabbing; }
html body.home .cp-auto-hero .cp-auto-carousel-controls .carousel-control-prev,
html body.home .cp-auto-hero .cp-auto-carousel-controls .carousel-control-next {
    display: none !important;
}
html body.home .cp-auto-hero .cp-auto-carousel-controls,
html body.home .cp-auto-hero:hover .cp-auto-carousel-controls,
html body.home .cp-auto-hero .cp-auto-carousel-controls:focus-within {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    inset: auto !important;
    bottom: 12px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    max-width: none !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    gap: 0 !important;
    opacity: 1 !important;
    border-radius: 22px !important;
    background: rgba(7, 24, 44, .38) !important;
}
@media (max-width: 767px) {
    /* The mobile image is 1672:941; the CTA row remains below that image. */
    html body.home .cp-auto-hero .cp-auto-carousel-controls,
    html body.home .cp-auto-hero:hover .cp-auto-carousel-controls,
    html body.home .cp-auto-hero .cp-auto-carousel-controls:focus-within {
        top: calc(100vw * 941 / 1672 - 56px) !important;
        bottom: auto !important;
    }
}
html body.home .cp-auto-hero .cp-auto-carousel-controls .carousel-indicators {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body.home .cp-auto-hero .cp-auto-carousel-controls .carousel-indicators button {
    box-sizing: content-box !important;
    width: 24px !important;
    height: 4px !important;
    min-height: 0 !important;
    max-height: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 20px solid transparent !important;
    border-bottom: 20px solid transparent !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .55) !important;
    background-clip: padding-box !important;
    opacity: 1 !important;
}
html body.home .cp-auto-hero .cp-auto-carousel-controls .carousel-indicators button.active {
    width: 36px !important;
    background: #fff !important;
    background-clip: padding-box !important;
}
