/* Homepage only: never change product galleries. */
.home-slider .slide-area > li > .background {
    position: relative;
    height: 440px;
    height: clamp(340px, 32vw, 560px);
    overflow: hidden;
    background: #f4f6fa;
}
.home-slider .background > picture { display: block; width: 100%; height: 100%; }
.home-slider .has-video > picture { display: none; }
.home-slider .slider-video { display: block; width: 100%; height: 100%; object-fit: cover; background: #111; }
.home-slider .video-error > .slider-video { display: none; }
.home-slider .video-error > picture { display: block; }
.home-slider .slider-media-error { display: none; }
.home-slider .video-error > .slider-media-error { display: block; padding: 32px; color: #33426c; }
.home-slider .slider-youtube { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; z-index: 1; }
.home-slider .slider-youtube { overflow: hidden; }
.home-slider .slider-youtube.is-playing { background: #111; }
.home-slider .video-fit-cover .slider-video { object-fit: cover; }
.home-slider .video-fit-contain .slider-video { object-fit: contain; }
.home-slider .video-position-center .slider-video { object-position: center; }
.home-slider .video-position-top .slider-video { object-position: center top; }
.home-slider .video-position-bottom .slider-video { object-position: center bottom; }
.home-slider .video-position-left .slider-video { object-position: left center; }
.home-slider .video-position-right .slider-video { object-position: right center; }
.home-slider .youtube-notice { background: #fff; color: #222; padding: 4px 8px; text-align: center; }
.home-slider .slider-youtube iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.home-slider .youtube-host { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-slider .has-youtube .slider-box { z-index: 2; }
.home-slider .background > picture > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.home-slider .slider-box {
    position: absolute;
    bottom: 48px;
    width: auto;
    max-width: calc(100% - 128px);
    margin: 0;
}
.home-slider .slider-box .slider-cta { display: inline-flex; align-items: center; gap: 8px; white-space: normal; max-width: 100%; }
.home-slider .slider-position-left { left: 64px; right: auto; text-align: left; transform: none; }
.home-slider .slider-position-center { left: 50%; right: auto; text-align: center; transform: translateX(-50%); }
.home-slider .slider-position-right { left: auto; right: 64px; text-align: right; transform: none; }
.home-slider .controller .indicate-area a:after { border-color: #475c95; }
.home-slider .controller .indicate-area a.on:after { background-color: #475c95; }
/* On smaller screens reserve a real CTA row, away from image lettering. */
@media (max-width: 1199px) {
    .home-slider .has-youtube > picture { display: none; }
    .home-slider .slider-youtube { position: relative; min-height: 200px; aspect-ratio: 3 / 1; background: #202638; }
    .home-slider .slider-video { height: auto; aspect-ratio: 3 / 1; object-fit: contain; }
    .home-slider .slide-area > li > .background { height: auto; }
    .home-slider .background > picture { height: auto; }
    .home-slider .background > picture > img { height: auto; object-fit: contain; }
    .home-slider .slider-box {
        position: static;
        width: auto;
        max-width: none;
        padding: 16px 48px 40px;
        transform: none;
        color: #33426c;
    }
    .home-slider .slider-box .h1 { color: inherit; font-size: 24px; }
    .home-slider .slider-box p { color: inherit; }
    .home-slider .slider-box .slider-cta { font-size: 16px; }
}
@media (max-width: 767px) {
    .home-slider .slider-youtube { aspect-ratio: 16 / 9; }
    .home-slider .slider-video { aspect-ratio: 16 / 9; }
    .home-slider .slider-box { padding: 14px 28px 38px; }
    .home-slider .slider-mobile-left { text-align: left; }
    .home-slider .slider-mobile-center { text-align: center; }
    .home-slider .slider-mobile-right { text-align: right; }
    .home-slider .slider-box .h1 { font-size: 20px; }
}

@media (max-width: 767px) {
    .info-cards .info-card { margin-top: 0; padding: 18px 0; }
    .info-cards .info-card + .info-card { border-top: 1px solid #e5e8ee; }
}
