@media (max-width: 1080px) {
    .nav { gap: 14px; }
    .nav a { font-size: 13px; }
    .brand { min-width: auto; }
    .brand-title { font-size: 30px; }
    .routes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .food-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cars-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .header-inner { min-height: 80px; }
    .brand-mark { width: 56px; height: 56px; }
    .brand-title { font-size: 27px; }
    .brand-sub { font-size: 9px; }

    .nav {
        position: fixed;
        inset: 80px 16px auto;
        display: none;
        padding: 18px;
        background: var(--surface);
        border-radius: 18px;
        box-shadow: var(--shadow-hover);
        flex-direction: column;
        align-items: stretch;
        z-index: 100;
    }
    .nav.open { display: flex; }
    .nav a { padding: 11px 8px; font-size: 15px; }
    .nav .register { justify-content: center; }
    .burger { display: flex; }

    .hero,
    .hero-inner { min-height: 560px; }
    .hero::before {
        background: linear-gradient(90deg, rgba(255,250,243,.98), rgba(255,250,243,.84) 58%, rgba(255,250,243,.3));
    }
    .hero-copy { width: 70%; }
}

@media (max-width: 650px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .brand-copy { display: none; }

    .hero,
    .hero-inner { min-height: 590px; }
    .hero-media img { object-position: 65% center; }
    .hero::before {
        background: linear-gradient(180deg, rgba(255,250,243,.98) 0%, rgba(255,250,243,.9) 48%, rgba(255,250,243,.3) 78%, rgba(255,250,243,.05) 100%);
    }
    .hero-inner { align-items: flex-start; }
    .hero-copy { width: 100%; padding-top: 52px; }
    .hero-copy h1 { font-size: clamp(40px, 12vw, 56px); max-width: 520px; }
    .hero-copy p { font-size: 18px; max-width: 360px; }

    .section { padding-top: 36px; }
    .section-title { grid-template-columns: 1fr; gap: 0; }
    .section-title .line { display: none; }

    .routes-grid { grid-template-columns: 1fr; }
    .food-grid { grid-template-columns: 1fr; }
    .cars-grid { grid-template-columns: 1fr; }

    .route-card,
    .route-card img { min-height: 390px; height: 390px; }
    .food-card,
    .food-card img { min-height: 300px; height: 300px; }
    .car-card,
    .car-card img { min-height: 280px; height: 280px; }

    .footer-main { grid-template-columns: 1fr; padding-top: 34px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}
