.location-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.location-card { min-width:0; background:var(--paper); padding:36px; border:1px solid var(--line); border-top:3px solid var(--brand); display:flex; flex-direction:column; }
.location-card > .eyebrow { color:var(--brand-dark); }
.location-card h3 { font-family:var(--serif); font-weight:500; font-size:clamp(22px,2.2vw,28px); margin:14px 0 26px; min-height:3.5em; }
.location-details { margin:0; }
.location-details > div { display:grid; grid-template-columns:5em minmax(0,1fr); gap:16px; padding:18px 0; border-top:1px solid var(--line); font-size:16px; }
.location-details dt { color:var(--muted); }
.location-details dd { margin:0; overflow-wrap:anywhere; }
.location-details strong { font-weight:500; }
.location-details a { display:inline-block; color:var(--brand-dark); font-size:20px; text-decoration:underline; text-underline-offset:5px; padding-block:4px; white-space:nowrap; }
.location-contact-note { display:block; font-size:14px; color:var(--muted); }
.location-note { padding:16px 18px; margin:18px 0; background:var(--light-gray); font-size:15px; }
.location-map-link { padding-top:24px; margin-top:auto; }
.location-map-link .text-link { font-size:15px; }
.location-hours { margin-top:28px; font-size:17px; }
.locations-page .scope-note { margin-top:18px; }
.locations-page .service-area-layout .text-link { margin-top:24px; }
.locations-page #visit .service-info-grid .text-link { display:flex; width:fit-content; margin-top:16px; font-size:15px; }
.location-recruit { display:flex; align-items:center; gap:36px; padding-top:36px; margin-top:40px; border-top:1px solid #c9d0d6; }
.location-recruit > div { flex:1; min-width:0; }
.location-recruit h3 { font-size:22px; font-family:var(--serif); font-weight:500; margin-bottom:14px; }
.location-recruit p { font-size:16px; }
.location-contact-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.location-contact-links .button { font-size:15px; padding:20px; text-align:left; }
.locations-page .mobile-service-bar a { font-size:14px; }
@media(max-width:900px) {
 .location-card { padding:26px; }
 .location-details > div { grid-template-columns:1fr; gap:6px; }
 .location-contact-links { grid-template-columns:1fr; }
 .location-recruit { flex-direction:column; align-items:flex-start; gap:24px; }
}
@media(max-width:640px) {
 .location-grid { grid-template-columns:1fr; gap:24px; }
 .location-card { padding:24px; }
 .location-card h3 { min-height:0; }
 .location-map-link .text-link { font-size:14px; }
}
