.site-footer {
    --footer-paper: #f9f0ea;
    --footer-muted: #d0c0bb;
    --footer-line: #54413f;
    color: var(--footer-paper);
    background: #201819;
    border-top: 1px solid var(--footer-line);
}
.site-footer__inner { padding-block: clamp(28px, 5vw, 64px) 18px }
.site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) minmax(0, 1.2fr);
    gap: clamp(20px, 4vw, 52px);
    align-items: start;
}
.site-footer__grid > * { min-width: 0 }
.site-footer h2 {
    margin: 0 0 12px;
    color: var(--footer-paper);
    font: 400 clamp(1.35rem, 2.2vw, 1.65rem)/1.15 var(--type-display, Georgia, serif);
}
.site-footer ul { list-style: none; padding: 0; margin: 0 }
.site-footer li, .site-footer address { font-size: .9375rem; line-height: 1.45 }
.site-footer a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    max-width: 100%;
    padding-block: 4px;
    color: var(--footer-muted);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px }
.site-footer a:focus-visible { outline: 2px solid #ffd3dc; outline-offset: 3px }
.site-footer address { margin: 0; font-style: normal; color: var(--footer-muted) }
.site-footer address p { margin: 0 0 9px; line-height: 1.55 }
.site-footer .icon { width: 16px; height: 16px }
.site-footer .site-footer__directions { font-size: .875rem; text-decoration: underline; text-underline-offset: 4px }
.site-footer .site-footer__whatsapp {
    display: flex;
    width: fit-content;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 10px 13px;
    min-height: 44px;
    border: 1px solid #4f7163;
    border-radius: 8px;
    color: #e3ffef;
    background: #254538;
    font-weight: 700;
    font-size: .9375rem;
}
.site-footer .site-footer__whatsapp:hover { background: #345a48 }
.site-footer__base {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px 14px;
    justify-content: space-between;
    color: var(--footer-muted);
    margin-top: clamp(22px, 4vw, 42px);
    padding-top: 12px;
    border-top: 1px solid var(--footer-line);
    font-size: .8125rem;
}
.site-footer__base p, .site-footer__staging { margin: 0 }
.site-footer__staging { color: var(--footer-muted); font-size: .8125rem; margin-top: 8px }
@media (min-width: 1100px) {
    .site-footer__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 2.4fr) minmax(0, 1.2fr) }
    .site-footer__service-list { columns: 2; column-gap: clamp(16px, 2vw, 32px) }
    .site-footer__service-list li { break-inside: avoid }
}
@media (max-width: 779px) {
    .site-footer__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
        gap: 24px clamp(15px, 4vw, 28px);
    }
    .site-footer h2 { margin-bottom: 8px }
    .site-footer a { min-height: 44px }
    .site-footer__grid > section {
        grid-column: 1 / -1;
        padding-top: 19px;
        border-top: 1px solid var(--footer-line);
    }
}
@media (max-width: 359px) {
    .site-footer li, .site-footer address { font-size: .875rem }
}
