@media (max-width: 1180px) {
    .navbar__side { gap: 14px; }
    .nav-link { font-size: 13px; }
    .brand { width: 165px; }
    .button--header { padding-inline: 14px; }
    .hero-slide__content { width: min(650px, 68%); }
    .footer-main__grid { grid-template-columns: 1.2fr .8fr .8fr 1fr; gap: 32px; }
}

@media (max-width: 1024px) {
    .container { width: min(90%, var(--container)); }
    .topbar__contacts a:nth-child(2) { display: none; }
    .navbar__side { display: none; }
    .navbar__grid { min-height: 80px; grid-template-columns: auto 1fr auto; }
    .brand { grid-column: 2; justify-self: center; width: 180px; }
    .mobile-menu-toggle { display: grid; grid-column: 3; }

    .hero,
    .hero-slide__inner { min-height: 820px; }
    .hero-slide__inner { padding-top: 140px; padding-bottom: 130px; }
    .hero-slide__content { width: min(650px, 78%); }
    .hero-slide__overlay {
        background:
            linear-gradient(90deg, rgba(8,8,8,.86) 0%, rgba(8,8,8,.63) 55%, rgba(8,8,8,.25) 100%),
            linear-gradient(180deg, rgba(8,8,8,.2), rgba(8,8,8,.45));
    }

    .newsletter__grid { grid-template-columns: 1fr; gap: 26px; }
    .newsletter__copy { max-width: 620px; }
    .footer-main__grid { grid-template-columns: 1.25fr 1fr 1fr; }
    .footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .container { width: min(92%, var(--container)); }
    .topbar { max-height: 38px; }
    .topbar__inner { min-height: 38px; justify-content: center; }
    .topbar__contacts { display: none; }
    .topbar__rotator { font-size: 11px; text-align: center; }
    .navbar__grid { min-height: 74px; }
    .brand { width: 155px; }
    .mobile-menu-toggle { width: 44px; height: 44px; }

    .hero,
    .hero-slide__inner { min-height: 760px; }
    .hero-slide__inner { align-items: flex-end; padding-top: 132px; padding-bottom: 130px; }
    .hero-slide__content { width: 100%; }
    .hero-slide__overlay {
        background:
            linear-gradient(180deg, rgba(8,8,8,.2) 5%, rgba(8,8,8,.46) 40%, rgba(8,8,8,.91) 100%);
    }
    .hero-slide:nth-child(1) .hero-slide__background img { object-position: 62% center; }
    .hero-slide:nth-child(2) .hero-slide__background img { object-position: 58% center; }
    .hero-slide:nth-child(3) .hero-slide__background img { object-position: 60% center; }
    .hero-slide h1,
    .hero-slide h2 { font-size: clamp(42px, 12vw, 62px); }
    .hero-slide__description { font-size: 15px; }
    .hero-slide__actions { flex-direction: column; align-items: stretch; }
    .hero-slide__actions .button { width: 100%; }
    .hero-slide__kicker { margin-bottom: 14px; font-size: 11px; letter-spacing: .11em; }
    .hero__pagination { bottom: 26px; }

    .newsletter { padding: 42px 0 46px; }
    .newsletter__grid { gap: 22px; }
    .newsletter__copy h2 { font-size: clamp(34px, 9vw, 44px); }
    .newsletter__copy p { font-size: 13px; }
    .newsletter-consent { margin-left: 4px; }
    .newsletter-form__control { min-height: 62px; }

    .footer-main { padding: 70px 0 60px; }
    .footer-main__grid { grid-template-columns: 1fr 1fr; }
    .footer-brand,
    .footer-contact { grid-column: 1 / -1; }
    .footer-bottom__inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 520px) {
    .hero,
    .hero-slide__inner { min-height: 780px; }
    .hero-slide__inner { padding-bottom: 122px; }
    .hero-slide h1,
    .hero-slide h2 { font-size: clamp(40px, 11.5vw, 54px); }

    .newsletter-form__control {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 58px;
        padding: 5px;
        border-radius: 15px;
    }
    .newsletter-form__control input { min-height: 48px; padding: 0 10px; font-size: 13px; }
    .newsletter-form__submit { min-width: 108px; min-height: 48px; padding: 0 15px; }
    .newsletter-form__submit svg { display: none; }
    .newsletter-consent { align-items: flex-start; line-height: 1.4; }

    .footer-main__grid { grid-template-columns: 1fr; }
    .footer-column { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
