/* Site footer — desktop first */

.site-footer {
    margin-top: auto;
}

.site-footer__primary {
    background: #a69257;
    color: #ffffff;
}

.site-footer__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 3rem 2rem 3.25rem;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 3rem;
    align-items: start;
}

.site-footer__col-title {
    margin: 0 0 1rem;
    font-family: 'Montserrat', system-ui, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ffffff;
}

.site-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__list li + li {
    margin-top: 0.65rem;
}

.site-footer__list a {
    color: #ffffff;
    font-size: 0.9375rem;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.site-footer__list a:hover,
.site-footer__list a:focus-visible {
    color: #f0f5fa;
    border-bottom-color: rgba(255, 255, 255, 0.45);
}

.site-footer__list a:focus-visible {
    outline: 2px dotted #ffffff;
    outline-offset: 3px;
}

.site-footer__below {
    background: #a69257;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.site-footer__below-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 1rem 2rem 1.35rem;
    text-align: center;
}

.site-footer__copyright {
    margin: 0;
    font-size: 0.9375rem;
    color: #ffffff;
}

@media (max-width: 767.98px) {
    .site-footer__inner {
        padding: 2.25rem 1.25rem 2.5rem;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .site-footer__below-inner {
        padding: 1rem 1.25rem 1.25rem;
    }
}
