.locations-content{width:calc(100% - 64px);max-width:1280px;margin:56px auto 100px;color:#182844}
.locations-map-frame{position:relative;overflow:hidden;border:1px solid #e0e3e6;background:#f3f5f7}
.locations-map{height:520px;width:100%}
.locations-map-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:32px;text-align:center;color:#586579;background:#f3f5f7;line-height:1.8}
.locations-map-status[hidden]{display:none}
.locations-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:56px 0 0;padding-bottom:24px;border-bottom:1px solid #182844}
.locations-heading h2{font-size:28px;font-weight:600;margin:0;letter-spacing:-.04em}
.locations-heading p{font-size:16px;margin:0;white-space:nowrap}
.locations-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px;padding:0;margin:0}
.location-card{display:flex;flex-direction:column;min-width:0;padding:32px 0;border-bottom:1px solid #dfe3e8;scroll-margin-top:100px}
.location-card h3{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:-.035em;margin:0 0 12px;overflow-wrap:anywhere}
.location-address{font-size:16px;line-height:1.7;color:#586579;margin:0 0 16px;overflow-wrap:anywhere}
.location-contact{font-size:14px;line-height:1.7;color:#66717e;margin:0 0 4px;overflow-wrap:anywhere}
.location-actions{display:flex;flex-wrap:wrap;gap:12px 16px;padding-top:24px;margin-top:auto}
.location-actions a,.location-actions button{padding:0;border:0;background:none;color:#182844;font:inherit;font-size:14px;text-decoration:none;cursor:pointer;line-height:1.7}
.location-actions a:hover,.location-actions button:hover{text-decoration:underline}
.locations-more{text-align:center;margin-top:40px}
.locations-more p{font-size:15px;line-height:1.7;color:#586579}
.locations-more button{min-width:220px;min-height:56px;padding:14px 32px;background:#fff;border:1px solid #182844;color:#182844;font:inherit;cursor:pointer}
.locations-more button span{margin-left:40px}
.locations-more button:disabled{opacity:.5;cursor:wait}
.locations-more button[hidden]{display:none}
.locations-empty{text-align:center;padding:64px 16px;color:#586579}
.locations-page button:focus-visible,.locations-page a:focus-visible{outline:2px solid #182844;outline-offset:4px}
.locations-info{max-width:260px;color:#182844;line-height:1.7;padding:4px}
.locations-info h3{font-size:17px;margin:0 0 8px;overflow-wrap:anywhere}
.locations-info p{font-size:14px;margin:0 0 12px;overflow-wrap:anywhere}
.locations-info a{color:#182844;text-decoration:underline;font-size:14px}
@media(max-width:991px){.locations-list{grid-template-columns:repeat(2,minmax(0,1fr))}.locations-map{height:440px}}
@media(max-width:767px){.locations-content{width:calc(100% - 32px);margin:32px auto 64px}.locations-map{height:360px}.locations-heading{margin-top:36px;padding-bottom:20px}.locations-heading h2{font-size:22px}.locations-list{grid-template-columns:1fr}.location-card{padding:24px 0}.location-card h3{font-size:18px}.locations-more{margin-top:32px}.locations-more button{width:100%}}

.locations-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#dfe3e8;border:1px solid #dfe3e8;margin-bottom:32px}
.locations-filters a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 12px;background:#f5f6f8;color:#586579;font-size:15px;line-height:1.5;text-decoration:none;text-align:center}
.locations-filters a:hover{background:#e9edf2;color:#182844}
.locations-filters a[aria-current="page"]{background:#182844;color:#fff;font-weight:600}
@media(max-width:767px){.locations-filters{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.locations-filters a{min-height:48px;font-size:14px}}
