        .main-banner{margin:0 0 24px;}
        .main-banner_mobile{display:none;}
        .main-banner__viewport{position:relative;overflow:hidden;background:#f4f7fa;aspect-ratio:7/2;}
        .main-banner__slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;}
        .main-banner__slide.is-active{opacity:1;visibility:visible;z-index:1;}
        .main-banner__slide img{display:block;width:100%;height:100%;object-fit:cover;}
        .main-banner__arrow{position:absolute;top:50%;z-index:2;width:42px;height:42px;margin-top:-21px;border:0;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 2px 10px rgba(0,0,0,.14);cursor:pointer;}
        .main-banner__arrow:before{content:"";position:absolute;top:14px;width:12px;height:12px;border-top:2px solid #494949;border-left:2px solid #494949;}
        .main-banner__arrow_prev{left:14px;}
        .main-banner__arrow_prev:before{left:17px;transform:rotate(-45deg);}
        .main-banner__arrow_next{right:14px;}
        .main-banner__arrow_next:before{right:17px;transform:rotate(135deg);}
        .main-banner__dots{position:absolute;left:0;right:0;bottom:12px;z-index:2;display:flex;justify-content:center;gap:8px;}
        .main-banner__dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 1px 4px rgba(0,0,0,.2);cursor:pointer;}
        .main-banner__dot.is-active{background:#75b943;}
        @media (max-width:767px){
            .main-banner{margin-bottom:16px;}
            .main-banner_desktop{display:none;}
            .main-banner_mobile{display:block;}
            .main-banner__viewport{aspect-ratio:19/10;}
            .main-banner__arrow{display:none;}
            .main-banner__dots{bottom:8px;}
        }

/* Installation banners use the same controls, with the original image proportions. */
.main-banner_montage { margin: 0 0 24px; }
.main-banner_montage .main-banner__viewport { aspect-ratio: 1230 / 400; }
.main-banner_montage .main-banner__slide img { object-fit: contain; }
@media (max-width:767px) { .main-banner_montage .main-banner__viewport { aspect-ratio: 1230 / 400; } }
