@media (max-width: 1100px) {
    .brand-text { max-width: 145px; overflow: hidden; text-overflow: ellipsis; }
    .primary-nav { gap: 1px; font-size: .87rem; }
    .nav-link, .nav-dropdown-toggle { padding: 0 8px; }
}

@media (max-width: 980px) {
    .primary-nav {
        position: fixed;
        inset: 0 0 0 auto;
        display: none;
        width: min(420px, 100vw);
        height: 100vh;
        overflow-y: auto;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 4px;
        padding: 20px;
        border-left: 1px solid var(--color-border);
        background: var(--color-background);
        box-shadow: -22px 0 50px rgba(25,25,25,.12);
    }
    .primary-nav.is-open { display: flex; }
    .nav-toggle { display: block; }
    .mobile-menu-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; color: var(--color-primary); font-weight: 600; }
    .nav-link, .nav-dropdown-toggle { justify-content: space-between; min-height: 48px; width: 100%; padding: 0 4px; border-radius: 0; background: transparent; color: var(--color-text); text-align: left; }
    .nav-link.is-active, .nav-dropdown-toggle.is-active { color: var(--color-primary); background: transparent; }
    .nav-dropdown-menu { position: static; display: none !important; width: 100%; min-width: 0; padding: 4px 0 12px 14px; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
    .nav-dropdown.is-open .nav-dropdown-menu { display: block !important; }
    .nav-dropdown-menu::before, .dropdown-title { display: none; }
    .dropdown-grid { grid-template-columns: 1fr; gap: 0; }
    .nav-dropdown-menu a { min-height: 40px; padding: 8px 0; }
    .nav-cta { width: 100%; margin: 16px 0 0; }
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .container { width: min(100% - 32px, var(--container-width)); }
    .nav-shell { min-height: 66px; }
    .brand-mark { width: 36px; height: 36px; }
    .brand-text { max-width: none; font-size: .96rem; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer-bottom { display: grid; justify-items: start; }
    .footer-bottom nav { flex-wrap: wrap; }
}
