.site-footer { margin-top: 70px; background: white; position: relative; isolation: isolate; }
.site-footer__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .12; z-index: -1; }
.site-footer__inner { max-width: 1440px; margin-inline: auto; padding: 50px 28px 23px; display: grid; grid-template-columns: 12px 2fr 40px .95fr 40px 1fr 12px; grid-template-areas: 'brand brand . phone . email .' 'brand brand . nav . directions .' '. legal legal legal legal legal .'; row-gap: 38px; align-items: start; }
.site-footer__branding { grid-area: brand; display: flex; flex-direction: column; gap: 30px; }
/* The source logo and text use separate grid starts: x28 and x40. */
.site-footer__brand { grid-area: brand; margin-top: 2px; }
.site-footer__logo { width: 415.709px; height: auto; }
.site-footer__identity { grid-area: identity; padding-inline-start: 12px; color: var(--color-muted); line-height: 1.25; white-space: pre-line; }
.site-footer__phone { grid-area: phone; }
.site-footer__email { grid-area: email; overflow-wrap: anywhere; }
.site-footer__phone, .site-footer__email { text-decoration: none; font-size: 25px; font-weight: 500; line-height: .98; margin-top: 28px; letter-spacing: -.01em; }
.site-footer__email { margin-top: 25px; }
.site-footer__navigation { grid-area: nav; }
.site-footer__directions { grid-area: directions; }
.site-footer__label { font-size: 12px; line-height: 1; letter-spacing: -.05em; color: var(--color-muted); margin-bottom: 15px; }
.site-footer__link { display: block; text-align: left; padding: 0; margin: 0 0 9px; background: transparent; border: 0; color: inherit; text-decoration: none; line-height: .98; letter-spacing: -.01em; }
.site-footer__link:last-child { margin-bottom: 0; }
.site-footer__legal { grid-area: legal; display: grid; grid-template-columns: 2fr .95fr 1fr; gap: 40px; color: var(--color-muted); margin-top: 54px; line-height: .98; letter-spacing: -.01em; }
.site-footer__legal-link { text-decoration: none; }
@media (hover: hover) { .site-footer__phone:hover, .site-footer__email:hover, .site-footer__link:hover, .site-footer__legal-link:hover { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em; } }
@media (max-width: 1000px) { .site-footer__inner { grid-template-columns: 12px 1.1fr 24px 1fr 24px 1fr 12px; } .site-footer__phone, .site-footer__email { font-size: 18px; } }
@media (max-width: 740px) {
 .site-footer { margin-top: 60px; }
 .site-footer__background { inset: 85px 0 0; height: calc(100% - 85px); transform: scaleX(-1); }
 .site-footer__inner { padding: 62px 10px 24px; grid-template-columns: 1fr; grid-template-areas: 'brand' 'phone' 'email' 'nav' 'directions' 'identity' 'legal'; gap: 0; }
 .site-footer__branding { display: contents; }
 .site-footer__brand { margin: 0; }
 .site-footer__logo { width: 307px; }
 .site-footer__phone, .site-footer__email { font-size: 20px; margin-top: 0; }
 .site-footer__phone { margin-top: 35px; }
 .site-footer__email { margin-top: 15px; }
 .site-footer__navigation { margin-top: 35px; }
 .site-footer__directions { margin-top: 30px; }
 .site-footer__label { margin-bottom: 15px; }
 .site-footer__link { margin-bottom: 9.28px; }
 .site-footer__link:last-child { margin-bottom: 5px; }
 .site-footer__identity { margin-top: 40px; padding-inline-start: 0; line-height: 1.23; }
 .site-footer__legal { grid-template-columns: 1fr; gap: 10.28px; margin-top: 27px; }
}
