@media (max-width: 900px) {
    .split-grid,
    .split,
    .intro-grid,
    .faq-preview-grid,
    .form-grid,
    .map-grid,
    .service-area-grid,
    .social-panel,
    .trust-panel,
    .story-grid {
        grid-template-columns: 1fr;
    }

    .card-grid,
    .contact-grid,
    .card-grid-featured,
    .card-grid-decision,
    .card-grid-value,
    .card-grid-compact,
    .process-grid,
    .testimonial-grid,
    .team-grid,
    .stats-grid,
    .comparison-grid,
    .trust-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cta-band {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .image-cta {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .cta-split-cta {
        grid-template-columns: 1fr;
    }

    .stats-inline .stats-grid,
    .testimonials-spotlight .testimonial-grid,
    .comparison-guide .comparison-grid,
    .timeline-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comparison-rows .comparison-grid {
        grid-template-columns: 1fr;
    }

    .comparison-guide .shell {
        grid-template-columns: 1fr;
    }

    .comparison-guide .section-header,
    .comparison-guide .comparison-visual,
    .comparison-guide .comparison-grid {
        grid-column: auto;
    }

    .process-timeline .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-grid {
        grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr));
        column-gap: var(--space-xl);
    }

    .footer-summary {
        grid-column: span 2;
    }

    .cta-band .action-row,
    .cta-panel__actions {
        justify-content: flex-start;
        margin-top: var(--space-sm);
    }

    .image-cta__actions {
        justify-content: flex-start;
        margin-top: var(--space-sm);
    }
}

@media (max-width: 860px) {
    .header-shell {
        grid-template-columns: auto 1fr;
        min-height: 66px;
    }

    .header-logo {
        max-width: min(var(--header-logo-max-width), 150px);
        max-height: 44px;
    }

    .header-actions {
        grid-column: 2;
    }

    .nav-toggle {
        display: inline-grid;
        width: 44px;
        height: 44px;
        place-content: center;
        gap: 5px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background: var(--color-surface);
    }

    .nav-toggle span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 2px;
        background: var(--color-heading);
    }

    .site-nav {
        position: fixed;
        inset: 66px 0 auto;
        display: none;
        padding: 1rem;
        border-bottom: 1px solid var(--color-border);
        background: var(--color-surface);
        box-shadow: var(--shadow-subtle);
    }

    body.nav-open .site-nav {
        display: block;
    }

    .site-nav ul {
        align-items: stretch;
        flex-direction: column;
    }

    .site-nav a {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .header-shell {
        min-height: 66px;
    }

    .brand-text small {
        display: none;
    }

    .nav-toggle {
        display: inline-grid;
        width: 44px;
        height: 44px;
        place-content: center;
        gap: 5px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background: var(--color-surface);
    }

    .nav-toggle span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 2px;
        background: var(--color-heading);
    }

    .site-nav {
        position: fixed;
        inset: 66px 0 auto;
        display: none;
        padding: 1rem;
        border-bottom: 1px solid var(--color-border);
        background: var(--color-surface);
        box-shadow: var(--shadow-subtle);
    }

    body.nav-open .site-nav {
        display: block;
    }

    .site-nav ul {
        align-items: stretch;
        flex-direction: column;
    }

    .site-nav a {
        width: 100%;
    }

    .card-grid,
    .contact-grid,
    .footer-grid,
    .card-grid-featured,
    .card-grid-decision,
    .card-grid-value,
    .card-grid-compact,
    .process-grid,
    .testimonial-grid,
    .team-grid,
    .stats-grid,
    .comparison-grid,
    .trust-list {
        grid-template-columns: 1fr;
    }

    .footer-summary {
        grid-column: auto;
    }

    .section {
        padding-block: var(--section-space-sm);
    }

    .hero {
        min-height: 340px;
        padding-block: var(--section-space-sm);
    }

    .hero__overlay {
        background: rgb(4 9 14 / var(--hero-overlay-opacity, var(--default-hero-overlay-opacity)));
    }

    .image-cta__overlay {
        background: rgb(4 9 14 / var(--image-cta-overlay-opacity, var(--default-image-cta-overlay-opacity)));
    }

    .hero__content {
        padding-block: 0;
    }

    .hero h1 {
        max-width: 100%;
        font-size: clamp(2rem, 12vw, 2.75rem);
    }

    .button {
        width: 100%;
    }

    .card__button.button--small {
        width: fit-content;
    }

    .action-row {
        width: 100%;
    }

    .cta-band {
        padding: 2rem 1.25rem;
    }

    .text-section-legal .text-block {
        padding: 28px;
    }

    .image-cta {
        min-height: auto;
        padding: 2rem 1.25rem;
    }

    .image-cta--full-bleed {
        min-height: 360px;
        padding: 3rem 1rem;
    }

    .cta-simple-inline,
    .cta-inline-cta {
        padding: 0;
    }

    .trust-panel {
        padding: 1.25rem;
    }

    .contact-form-placeholder button {
        width: 100%;
    }

    .map-placeholder img,
    .map-placeholder .image-placeholder {
        min-height: 240px;
    }

    .stats-inline .stats-grid,
    .testimonials-spotlight .testimonial-grid,
    .comparison-guide .comparison-grid,
    .timeline-list {
        grid-template-columns: 1fr;
    }

    .process-decision .process-step-card {
        grid-template-columns: 1fr;
    }

    .process-decision .process-step-card h3,
    .process-decision .process-step-card p {
        grid-column: auto;
    }

    .process-timeline .process-grid {
        grid-template-columns: 1fr;
    }

    .timeline-list li {
        padding: var(--space-md);
    }

    .hero__tags {
        flex-direction: column;
    }

    .faq-tabs {
        width: 100%;
    }

    .faq-tab {
        flex: 1 1 100%;
    }
}
