@media (min-width: 48rem) {

    .container {
        width: min(
            calc(100% - 4rem),
            var(--container-width)
        );
    }

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

    .site-navigation__toggle {
        display: none;
    }

    .site-navigation__list {
        display: flex;
        align-items: center;
    }

    .hero {
        min-height: 520px;
        display: flex;
        align-items: center;
    }

    .hero__title {
        max-width: 900px;
    }
}


@media (min-width: 64rem) {

    h1 {
        font-size: var(--font-size-5xl);
    }

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

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

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


@media (max-width: 47.99rem) {

    .site-navigation__list {
        position: absolute;
        top: var(--header-height);
        right: 0;
        left: 0;
        display: none;
        padding: var(--space-4) 1rem var(--space-6);
        background-color: var(--color-white);
        border-bottom: 1px solid var(--color-border);
        box-shadow: var(--shadow-md);
    }

    .site-navigation__list.is-open {
        display: grid;
        gap: 0;
    }

    .site-navigation__list li {
        border-bottom: 1px solid var(--color-border);
    }

    .site-navigation__list li:last-child {
        border-bottom: 0;
    }

    .site-navigation__list a {
        display: block;
        padding-block: var(--space-4);
    }

    .site-navigation__list a::after {
        display: none;
    }

    .site-footer .container {
        align-items: flex-start;
        flex-direction: column;
    }
}