.site-footer {
    grid-template-columns: .7fr 1.25fr .95fr;
    gap: 28px 42px;
    align-items: start;
}

.site-footer > :first-child { grid-column: 1; grid-row: 1; }
.site-footer > p { grid-column: 2; grid-row: 1; }

.footer-links {
    grid-column: 3;
    grid-row: 1;
    display: grid;
    justify-content: start;
    gap: 7px 18px;
    grid-template-columns: repeat(2, max-content);
}

.footer-map {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr);
    gap: 22px;
    align-items: center;
    padding-top: 22px;
    border-top: 1px solid rgba(245, 240, 228, .18);
}

.footer-map iframe {
    display: block;
    width: 100%;
    height: 112px;
    min-height: 0;
    border: 1px solid rgba(245, 240, 228, .24);
    border-radius: 5px;
    background: #e7eee2;
}

.footer-map a {
    color: #d8f5cd;
    font: 10px/1.6 var(--mono);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.footer-map a:hover,
.footer-links a:hover {
    color: #7fe38e;
}

@media (max-width: 900px) {
    .site-footer { grid-template-columns: 1fr 1fr; }
    .site-footer > :first-child { grid-column: 1; }
    .site-footer > p { grid-column: 2; }
    .footer-links { grid-column: 1 / -1; grid-row: 2; }
    .footer-map { grid-row: 3; }
}

@media (max-width: 680px) {
    .site-footer { grid-template-columns: 1fr; gap: 22px; }
    .site-footer > :first-child,
    .site-footer > p,
    .footer-links,
    .footer-map { grid-column: auto; grid-row: auto; }
    .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-map { grid-template-columns: 1fr; gap: 11px; padding-top: 18px; }
    .footer-map iframe { height: 148px; }
}
