@media (min-width: 34rem) {
    .cookie-banner__actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .trust-strip ul,
    .landing-proof ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .value-grid,
    .modality-grid,
    .legal-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 48rem) {
    :root {
        --header-height: 5.5rem;
    }

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

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

    .post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .site-footer__bottom {
        align-items: center;
        flex-direction: row;
    }

    .landing-proof ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 62rem) {
    .site-header {
        position: sticky;
        top: 0;
    }

    .trust-strip ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .split {
        grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.88fr);
    }

    .split--reverse .split__content {
        order: 2;
    }

    .split--reverse .media-frame {
        order: 1;
    }

    .card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .numbered-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .differentials {
        align-items: center;
        grid-template-columns: 0.9fr 1.1fr;
    }

    .site-footer__grid {
        grid-template-columns: 1.45fr 0.8fr 1fr 1fr;
    }

    .site-footer__brand {
        padding-right: var(--space-7);
    }

    .cookie-banner {
        left: 50%;
        max-width: 71rem;
        transform: translateX(-50%);
    }

    .cookie-banner__content {
        align-items: center;
        grid-template-columns: 1fr auto;
    }

    .cookie-banner__actions {
        grid-template-columns: repeat(3, auto);
    }

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

    .service-overview {
        grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.8fr);
    }

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

    .contact-layout {
        grid-template-columns: minmax(17rem, 0.68fr) minmax(0, 1.32fr);
    }

    .contact-aside {
        position: sticky;
        top: calc(var(--header-height) + var(--space-5));
    }

    .value-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .modality-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 78rem) {
    .nav-list a {
        padding-inline: 0.85rem;
    }
}

@media (max-width: 22rem) {
    .nav-toggle__label {
        display: none;
    }

    .button {
        width: 100%;
    }

    .hero__actions,
    .cta-actions {
        display: grid;
    }
}

@media (prefers-contrast: more) {
    :root {
        --color-text-muted: #314d5a;
        --color-border: #9aadb5;
    }

    .button,
    .service-card,
    .info-card {
        border-width: 2px;
    }
}

@media (min-width: 75rem) {
    .nav-toggle {
        display: none;
    }

    .nav-panel {
        align-items: center;
        background: transparent;
        border: 0;
        display: flex;
        gap: var(--space-4);
        padding: 0;
        position: static;
    }

    .nav-list {
        align-items: center;
        display: flex;
        gap: 0;
    }

    .nav-list a {
        padding: 0.65rem 0.72rem;
    }

    .nav-panel .button--quiet {
        display: none;
    }

    .nav-panel__cta {
        margin-left: var(--space-2);
        width: auto;
    }

    .brand {
        width: 13.75rem;
    }


    .nav-list a, .nav-panel__cta { white-space: nowrap; }
}
