/* responsive.css */
@media (max-width: 960px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .grid-3 { grid-template-columns: repeat(2, 1fr); }
    .process-list { grid-template-columns: repeat(3, 1fr); }
    .split-panel, .audience-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .utility-bar .wrap { justify-content: center; text-align: center; }
    .site-logo { height: 40px; }
    .main-nav { display: none; }
    .nav-toggle { display: flex; }
    .btn-emergency-label { display: none; }
    .cert-badge { display: none; }
    .hero-grid, .two-col, .hero--media-lg .hero-grid { grid-template-columns: 1fr; }
    .hero-media { order: -1; }
    .footer-grid { grid-template-columns: 1fr; }
    .grid-4, .grid-3 { grid-template-columns: 1fr; }
    .process-list { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
    .mobile-call-bar {
        display: block; position: sticky; bottom: 0; z-index: 40;
        background: var(--emergency); color: var(--white); text-align: center;
        font-weight: 700; padding: 14px; letter-spacing: 0.02em;
    }
    body { padding-bottom: 0; }
    section { padding-block: 48px; }
}
