@media (max-width: 1080px) {
    .card-grid.four { grid-template-columns: repeat(2, 1fr); }
    .site-menu a { font-size: 13px; padding-inline: 7px; }
    .nav-wrap { gap: 12px; }
}

@media (max-width: 880px) {
    .announcement { flex-direction: column; gap: 2px; text-align: center; }
    .nav-wrap {
        grid-template-columns: 1fr auto;
        min-height: 68px;
    }
    .brand span { font-size: 21px; }
    .nav-toggle {
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: #fff;
    }
    .nav-toggle span:not(.sr-only) {
        display: block;
        width: 20px;
        height: 2px;
        background: var(--chocolate);
        margin: 2px 0;
    }
    .site-menu {
        position: absolute;
        top: 100%;
        left: 16px;
        right: 16px;
        display: none;
        grid-template-columns: 1fr;
        padding: 12px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        box-shadow: var(--shadow);
    }
    .site-menu.is-open { display: grid; }
    .site-menu a { padding: 12px; font-size: 15px; }
    .nav-actions { display: none; }
    .hero, .page-hero { min-height: 560px; }
    .hero-content, .page-hero .container { padding: 90px 0 70px; }
    .split-grid, .spotlight, .contact-grid, .band-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .card-grid.three { grid-template-columns: 1fr 1fr; }
    .quote-grid { grid-template-columns: 1fr 1fr; }
    .inline-form { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-bottom { flex-direction: column; }
}

@media (max-width: 640px) {
    :root { --container: min(100vw - 24px, 1120px); }
    .section { padding: 58px 0; }
    .hero, .page-hero { min-height: 620px; }
    .hero::after, .image-hero::after {
        background: linear-gradient(0deg, rgba(31,18,13,.94), rgba(31,18,13,.7) 58%, rgba(31,18,13,.22));
    }
    .hero h1, .page-hero h1 { font-size: clamp(40px, 13vw, 58px); }
    .hero p, .page-hero p { font-size: 17px; }
    .hero-actions, .cookie-banner {
        align-items: stretch;
        flex-direction: column;
    }
    .cookie-actions { align-items: stretch; }
    .cookie-links { justify-content: flex-start; }
    .btn, .nav-cta { width: 100%; }
    .card-grid.three, .card-grid.four, .quote-grid { grid-template-columns: 1fr; }
    .product-card div, .info-card, .form-card { padding: 18px; }
    .spotlight { padding: 16px; }
    .callout-card { min-height: auto; }
    .page-hero.compact { min-height: 400px; }
    .page-hero.compact .container { padding: 70px 0 58px; }
    .brand img { width: 42px; height: 42px; }
    .brand span { font-size: 20px; }
    .footer-grid { grid-template-columns: 1fr; }
    .lead-popup-card { padding: 24px 18px; }
}
