@media (max-width: 980px) {
    .primary-nav,
    .site-header > .site-shell > .language-nav {
        display: none;
    }

    .mobile-navigation {
        display: block;
    }

    .hero__grid,
    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .hero__content h1 {
        max-width: 16ch;
    }

    .site-footer__legal {
        grid-column: auto;
    }

    .card-grid--3,
    .card-grid--4,
    .story-grid,
    .testimonial-grid,
    .gallery,
    .statistics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    :root {
        --nw-shell: min(100% - 1.25rem, 1180px);
        --nw-shell-wide: min(100% - 1.25rem, 1380px);
        --nw-header-height: 4.25rem;
    }

    .brand__name {
        max-width: 10rem;
    }

    .card-grid--2,
    .card-grid--3,
    .card-grid--4,
    .story-grid,
    .testimonial-grid,
    .gallery,
    .statistics {
        grid-template-columns: 1fr;
    }

    .cta,
    .opening-hours div {
        align-items: flex-start;
        flex-direction: column;
    }

    .cta .button {
        width: 100%;
    }

    .opening-hours dd {
        text-align: start;
    }

    .site-header__inner {
        gap: var(--nw-space-2);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (forced-colors: active) {
    .button,
    .feature-card,
    .statistic,
    .quote,
    .mobile-navigation__panel {
        border: 1px solid CanvasText;
    }
}
