/* Office locations */
.sp-contact-locations { padding-block: clamp(4rem, 8vw, 7rem); background: var(--sp-color-surface, #f5f5f3); scroll-margin-top: 6rem; }
.sp-contact-locations h2 { margin: 1rem 0 2.5rem; font-size: var(--sp-text-section-title, 2.4rem); line-height: 1.2; }
.sp-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
.sp-location-card { min-width: 0; }
.sp-location-card h3 { margin: 0 0 .8rem; font-size: 1.4rem; }
.sp-location-card address { margin-bottom: 1.5rem; font-style: normal; line-height: 1.7; }
.sp-location-phone { margin: -1rem 0 1.5rem; color: var(--sp-color-text-secondary); }
.sp-location-phone a { display: inline-flex; min-height: 44px; align-items: center; color: var(--sp-color-navy); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.sp-location-card iframe { display: block; width: 100%; height: 360px; border: 1px solid var(--sp-color-border, #ddd); background: #eee; }
.sp-location-link, .sp-contact-location-shortcut { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; text-decoration: underline; text-underline-offset: .25em; }
.sp-location-link { margin-top: .6rem; }
.sp-contact-location-shortcut { margin-top: 1rem; }
.sp-location-contact { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin: 2rem 0 0; }
.sp-location-contact a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: .2em; }
.sp-contact-locations a:focus-visible, .sp-contact-location-shortcut:focus-visible { outline: 3px solid #486b93; outline-offset: 4px; }
@media (max-width: 700px) {
  .sp-location-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .sp-location-card iframe { height: 300px; }
}

.sp-contact-locations { word-break: keep-all; overflow-wrap: anywhere; }
.sp-contact-locations .sp-contact-eyebrow { margin: 0; color: var(--sp-color-muted); font-size: var(--sp-text-xs); letter-spacing: .1em; }
.sp-location-network { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin: 2rem 0 0; color: var(--sp-color-text-secondary); }
.sp-location-network span { color: var(--sp-color-text); }
