@media (max-width: 1120px) {
    .hero h1 { font-size: 3.25rem; }
    .service-grid, .portfolio-grid, .project-grid, .team-grid, .feature-grid, .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .values-grid--detailed { grid-template-columns: 1fr; }
    .split-grid, .contact-layout, .sectors-grid, .service-detail { grid-template-columns: 1fr; }
    .contact-aside { order: 2; }
}

@media (max-width: 880px) {
    .container { width: min(100% - 28px, 1180px); }
    .topbar { display: none; }
    .navbar__inner { min-height: 72px; }
    .nav-toggle { display: block; }
    .nav-menu {
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        display: grid;
        gap: 0;
        padding: 16px 14px 18px;
        background: var(--white);
        border-top: 1px solid var(--line);
        box-shadow: 0 22px 38px rgba(7,31,63,.14);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity .16s ease, transform .16s ease;
    }
    .nav-menu.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .nav-link { padding: 13px 0; }
    .nav-link::after { display: none; }
    .nav-menu .btn { width: 100%; margin-top: 8px; }
    .hero, .hero--home, .hero--legal { min-height: 560px; }
    .hero__overlay { background: linear-gradient(90deg, rgba(7,31,63,.94), rgba(7,31,63,.66)); }
    .hero h1 { font-size: 2.35rem; }
    .hero__lead { font-size: 1rem; }
    .section { padding: 70px 0; }
    .section-copy h2, .section-heading h2 { font-size: 2rem; }
    .section-heading--row, .footer-cta__inner, .contact-strip__inner { align-items: flex-start; flex-direction: column; }
    .trust-grid, .service-grid, .portfolio-grid, .project-grid, .team-grid, .feature-grid, .process-grid, .form-grid, .footer-grid, .service-columns { grid-template-columns: 1fr; }
    .footer-cta .btn, .contact-form .btn { width: 100%; }
}

@media (max-width: 540px) {
    .brand__mark, .brand__logo { width: 42px; height: 42px; }
    .brand__text strong { font-size: .94rem; }
    .brand__text small { font-size: .7rem; }
    .hero, .hero--home, .hero--legal { min-height: 540px; }
    .hero__content { padding-block: 56px; }
    .hero h1, .section-copy h2, .section-heading h2 { font-size: 1.82rem; }
    .hero__actions, .hero__actions .btn { width: 100%; }
    .media-panel img, .service-detail img { min-height: 300px; }
    .service-card__body, .portfolio-card__body, .project-card__body, .team-card__body, .value-card, .feature-card, .legal-block, .service-detail__content, .contact-aside, .contact-form-panel, .process-step { padding: 22px; }
    .trust-grid div { padding: 22px; }
}
