.locations-page { background: #fff; }
.locations-main { max-width: 1600px; margin: auto; }
.locations-intro { padding: 90px 6% 72px; background: #f0f4f7; }
.locations-intro h1 { max-width: 900px; margin: 18px 0 22px; font: 500 78px/1.06 Manrope, sans-serif; letter-spacing: -.06em; }
.locations-intro > p:last-child { max-width: 650px; color: #738697; line-height: 1.7; }
.locations-section { padding: 85px 6% 100px; }
.locations-section h2 { margin: 0 0 35px; font: 500 48px/1.1 Manrope, sans-serif; letter-spacing: -.05em; }
.locations-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.location-card { display: flex; flex-direction: column; min-width: 0; min-height: 440px; padding: 30px; background: #f0f4f7; border: 1px solid #dbe3e9; border-radius: 14px; }
.location-card .eyebrow { margin-bottom: 14px; }
.location-card h3 { min-height: 53px; margin: 0 0 24px; font: 600 22px/1.2 Manrope, sans-serif; letter-spacing: -.04em; }
.location-card address { min-height: 120px; font-style: normal; line-height: 1.7; color: #526a7f; }
.location-card address span { display: block; margin-top: 8px; color: #738697; font-size: 14px; }
.location-card dl { display: grid; grid-template-columns: 55px 1fr; gap: 9px 12px; margin: 0 0 20px; padding-top: 18px; border-top: 1px solid #dbe3e9; font-size: 14px; }
.location-card dt { color: #738697; }.location-card dd { margin: 0; overflow-wrap: anywhere; }
.location-card .text-link { display: inline-flex; align-self: flex-start; margin-top: auto; }
.move-notice { margin-top: 30px; padding: 28px 32px; border-left: 3px solid #667f94; background: #f8fafc; }
.move-notice h3 { margin: 0 0 9px; font: 600 20px Manrope, sans-serif; }
.move-notice p { margin: 0; color: #526a7f; line-height: 1.7; }
.move-notice .eyebrow { margin-bottom: 10px; }
@media (max-width: 1050px) { .locations-list { grid-template-columns: minmax(0, 1fr); } .location-card { min-height: 360px; } }
@media (max-width: 700px) { .locations-intro { padding: 58px 6% 55px; text-align: center; } .locations-intro h1, .locations-intro > p:last-child { margin-inline: auto; } .locations-section { padding: 65px 6% 80px; } .locations-section h2 { text-align: center; } .location-card { min-height: 0; padding: 25px; } .location-card h3 { min-height: 0; } .location-card address { min-height: 0; margin-bottom: 24px; } .location-card dl { margin-bottom: 24px; } .move-notice { padding: 25px; } }

@media (max-width: 1100px) { .locations-intro h1 { font-size: 62px; } .locations-section h2 { font-size: 40px; } }
@media (max-width: 700px) { .locations-intro h1 { font-size: 44px; } .locations-section h2 { font-size: 32px; } }
