.contact-map-section{background:var(--surface);border-block:1px solid var(--line)}
.contact-map-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.contact-map-copy{max-width:36rem}
.contact-map-copy h2{font-size:clamp(2.1rem,4vw,3.75rem);margin-bottom:1.25rem}
.contact-map-copy>p:not(.section-label){color:var(--muted-ink);font-size:clamp(1rem,1.4vw,1.15rem);margin-bottom:1.5rem}
.contact-map-address{color:var(--brand-navy-deep);font-style:normal;font-weight:750;line-height:1.55;margin-bottom:1.35rem}
.contact-map-link{align-items:center;color:var(--brand-navy);display:inline-flex;gap:.55rem;font-weight:800;text-decoration:underline;text-decoration-color:var(--brand-copper);text-decoration-thickness:2px;text-underline-offset:5px}
.contact-map-link:hover{color:var(--brand-copper-dark)}
.contact-map-link svg{flex:0 0 auto}
.contact-map-frame{background:var(--surface-strong);border:1px solid var(--line);min-height:clamp(22rem,42vw,34rem);overflow:hidden}
.contact-map-frame iframe{border:0;display:block;height:100%;min-height:inherit;width:100%}
@media (max-width:780px){.contact-map-grid{grid-template-columns:1fr;gap:2rem}.contact-map-copy{max-width:none}.contact-map-frame{min-height:clamp(21rem,88vw,30rem)}}
@media (max-width:520px){.contact-map-section{padding-block:3.5rem}.contact-map-frame{min-height:24rem}}
@media (prefers-reduced-motion:reduce){.contact-map-link{scroll-behavior:auto}}