@media (max-width: 1099px) {
    .hero {
        min-height: 0;
        display: flex;
        flex-direction: column;
        background: var(--paper);
    }

    .hero__stage {
        position: relative;
        order: -1;
        z-index: 1;
        height: 70vh;
        height: 70dvh;
        animation: none;
        clip-path: none;
    }

    .hero__stage::after {
        content: "";
        position: absolute;
        inset: auto 0 0;
        height: 46%;
        background: linear-gradient(transparent, rgba(28, 36, 22, 0.55));
    }

    .hero__media {
        animation: none;
        transform: none;
    }

    .hero__copy {
        z-index: 2;
        width: auto;
        margin-top: -5.5rem;
        padding: 0 1.25rem 1.5rem;
        color: var(--ink);
    }

    .hero__kicker,
    .hero__copy h1 {
        position: relative;
        z-index: 2;
        color: var(--paper);
        text-shadow: 0 1px 16px rgba(28, 36, 22, 0.35);
    }

    .hero__lede,
    .path,
    .path__title,
    .path__text {
        color: var(--ink);
    }

    .path {
        border-top-color: var(--line);
        background: var(--paper);
    }

    body.has-hero .site-header {
        position: sticky;
        background: rgba(243, 239, 228, 0.94);
    }

    body.has-hero .site-logo,
    body.has-hero .lang-switch a,
    body.has-hero .nav-toggle {
        color: var(--ink);
    }

    .nav-toggle {
        display: inline-flex;
    }

    .site-nav {
        display: none;
    }

    body.is-nav-open .site-nav {
        display: block;
        position: fixed;
        inset: var(--header) 0 4.5rem;
        background: var(--paper);
        z-index: 25;
        padding: 1rem 1.25rem;
        overflow: auto;
    }

    body.is-nav-open .nav-toggle__open {
        display: none;
    }

    body.is-nav-open .nav-toggle__close {
        display: inline;
    }

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

    .site-nav .menu a {
        font-family: var(--serif);
        font-size: 2rem;
        min-height: 56px;
        border-bottom: 1px solid var(--line);
    }

    body {
        padding-bottom: 4.6rem;
    }

    .site-nav {
        display: none;
    }

    .menu--footer,
    .site-footer .menu {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 28;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        background: var(--paper);
        border-top: 1px solid var(--line);
        padding: 0.2rem 0.4rem calc(0.2rem + env(safe-area-inset-bottom));
    }

    .site-footer .menu a {
        min-height: 48px;
        justify-content: center;
        font-size: 0.78rem;
        text-align: center;
    }

    .steps,
    .cards,
    .site-footer__grid,
    .project__body,
    .visit {
        grid-template-columns: 1fr;
        display: grid;
    }

    .visit {
        align-items: start;
    }

    .plate,
    .plate img {
        min-height: 86vh;
        height: 86vh;
    }

    .mosaic {
        columns: 2;
    }

    .site-footer {
        padding-bottom: 6.5rem;
    }
}

@media (max-width: 640px) {
    .mosaic {
        columns: 1;
    }

    h1 {
        font-size: clamp(2.3rem, 12vw, 3.4rem);
    }
}

