.home-banner { margin: 16px 0 0; }
.home-banner__viewport { position: relative; overflow: hidden; }
.home-banner__track { display: flex; transition: transform 1s cubic-bezier(.22, .61, .36, 1); will-change: transform; }
.home-banner__slide { flex: 0 0 100%; min-width: 0; }
.home-banner__link { display: flex; justify-content: center; }
.home-banner__image { display: block; width: 100%; height: auto; max-height: min(68svh, 680px); object-fit: contain; }
.home-banner__dots { position: absolute; right: 50%; bottom: 7px; display: flex; gap: 5px; transform: translateX(50%); }
.home-banner__dot { width: 7px; height: 7px; padding: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(31,49,43,.4); box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; }
.home-banner__dot.is-active { width: 18px; border-radius: 99px; background: #fff; }

@media (prefers-reduced-motion: reduce) {
    .home-banner__track { transition: none; }
}

@media (max-width: 720px) {
    .home-banner { margin-top: 10px; }
    .home-banner__image {
        width: auto;
        max-width: 100%;
        max-height: min(22svh, 180px);
    }
}

@media (max-width: 480px) {
    .home-banner__image { max-height: min(18svh, 150px); }
}
@media(max-width:720px){.home-banner__slide,.home-banner__link{width:100%;min-width:0}.home-banner__image{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;margin:auto}}
