.footer:has(.arch-footer-contact) {
    flex-wrap: wrap;
    row-gap: 22px;
}
.footer .arch-footer-contact {
    flex: 0 0 100%;
    padding-top: 20px;
    border-top: 1px solid #d6ae8833;
    color: #f2e9de;
    font-family: Montserrat, system-ui, sans-serif;
}
.footer .arch-footer-contact h2 {
    margin: 0 0 16px;
    font: 600 1rem/1.35 Montserrat, system-ui, sans-serif;
}
.arch-footer-contact dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 16px 24px;
    margin: 0;
}
.arch-footer-contact dt { color: #d6ae88; font-size: .75rem; margin-bottom: 4px; }
.arch-footer-contact dd { margin: 0; font-size: .9rem; overflow-wrap: anywhere; }
.arch-footer-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.arch-footer-socials a {
    padding: 6px 11px;
    border: 1px solid #d6ae8855;
    border-radius: 999px;
    font-size: .78rem;
}
.arch-footer-contact a:hover { color: #e9bf97; text-decoration: underline; }
.arch-footer-contact a:focus-visible { outline: 2px solid #e9bf97; outline-offset: 4px; }
@media (max-width: 560px) {
    .footer .arch-footer-contact { width: 100%; }
}
