@media (max-width: 1120px) {
    .brand { min-width: 260px; }
    .brand-copy small { display: none; }
    .main-nav { gap: 16px; font-size: 13px; }
}

@media (max-width: 940px) {
    .header-inner { min-height: 72px; }
    .nav-toggle { display: block; }
    .main-nav {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 72px;
        background: #fff;
        border-bottom: 1px solid var(--border);
        padding: 18px 24px 26px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .main-nav.open { display: flex; }
    .main-nav > a { padding: 12px 4px; }
    .main-nav > a::after { display: none; }
    .client-login { text-align: center; margin-top: 8px; }

    .hero { min-height: auto; padding: 74px 0; }
    .hero-grid { grid-template-columns: 1fr; gap: 24px; }
    .hero-visual { min-height: 310px; max-width: 620px; width: 100%; margin: 0 auto; }

    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .container { width: min(calc(100% - 30px), var(--container)); }
    .brand { min-width: auto; }
    .brand-copy strong { font-size: 13px; }
    .brand-mark { width: 46px; height: 46px; font-size: 13px; }

    h1 { font-size: 40px; }
    .hero-text { font-size: 17px; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-visual { min-height: 270px; }
    .system-card.large { width: 78%; height: 205px; padding: 22px; }

    .section { padding: 64px 0; }
    .process-grid, .card-grid { grid-template-columns: 1fr; }
    .cta { flex-direction: column; align-items: flex-start; padding: 28px; }
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .footer-bottom { flex-direction: column; }
}

@media (max-width: 940px) {
    .solution-grid, .solution-grid.large, .support-options { grid-template-columns: repeat(2, 1fr); }
    .prose-grid, .two-column, .founder-box, .why-grid, .content-layout, .contact-layout { grid-template-columns: 1fr; }
    .side-cta { position: static; }
    .why-list { grid-template-columns: 1fr 1fr; }
    .app-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .solution-grid, .solution-grid.large, .support-options, .why-list { grid-template-columns: 1fr; }
    .solution-tile { grid-template-columns: auto 1fr; }
    .solution-tile > span:last-child { display: none; }
    .support-strip-inner, .support-desk-callout { flex-direction: column; align-items: flex-start; }
    .form-row.two { grid-template-columns: 1fr; }
    .page-hero.compact { padding: 58px 0 48px; }
}
