/* Shared map and synchronized office details. */
.contact-page .office-city-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:24px 0}
.contact-page .office-city-picker a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 8px;font-size:16px;text-align:center;transition:background .15s,color .15s}
.contact-page .office-city-picker a:hover{background:#dfeadf}
.contact-page .office-city-picker a[aria-current=true]{background:#24553d;border-color:#24553d;color:#fff;font-weight:600}
.contact-page .office-city-picker a:focus-visible,.office-current-map:focus-visible,.office-directions:focus-visible{outline:2px solid #a85e50;outline-offset:4px}
.office-switcher{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(20px,3vw,42px);align-items:start}
.office-map-stage{min-width:0;background:#edf2eb;border:1px solid #d4dfd2}
.office-map-stage img{display:block;width:100%;height:auto;aspect-ratio:845/650;object-fit:contain;border:0}
.office-details{min-width:0}
.office-details .office-detail{padding:clamp(20px,2.2vw,30px);background:#edf2eb;border:1px solid #d4dfd2;overflow-wrap:anywhere}
.office-details .office-detail[hidden]{display:none}
.office-details .office-detail+.office-detail:not([hidden]){margin-top:18px}
.office-details .office-detail:has(~ .office-detail[hidden]),.office-details .office-detail[hidden]+.office-detail{margin-top:0}
.office-detail .office-title-row{display:block;margin:0 0 24px}
.office-detail .office-title-row h3{font-size:clamp(21px,1.8vw,25px);line-height:1.6;margin:0 0 14px}
.office-detail address{min-height:0;font-size:16px;line-height:1.9}
.office-detail .office-phone{margin:20px 0;font-size:15px;line-height:1.9}
.office-directions{display:inline-block;color:#24553d;font-size:14px;line-height:1.8;margin-top:8px;border-bottom:1px solid #799781;padding-bottom:4px}
@media(max-width:800px){.office-switcher{grid-template-columns:minmax(0,1fr);gap:20px}.contact-page .office-city-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.office-detail .office-title-row{display:flex;align-items:start;gap:14px;margin-bottom:18px}.office-detail .office-title-row h3{margin:0;font-size:21px}.office-detail .office-copy-address{margin-top:4px}.office-details .office-detail{padding:22px}.office-detail .office-phone{margin:14px 0}}
@media(max-width:380px){.contact-page .office-city-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-page .office-city-picker a{font-size:14px}.office-detail .office-title-row{display:block}.office-detail .office-title-row h3{margin-bottom:12px}.office-details .office-detail{padding:18px}}
@media(prefers-reduced-motion:reduce){.contact-page .office-city-picker a{transition:none}}

/* Network overview on the left; three-column city controls on the right. */
.office-distribution-overview{margin:0 0 32px;padding:clamp(16px,2vw,26px);border:1px solid #d4dfd2;background:#fff}
.office-distribution-overview figcaption{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin-bottom:22px}
.office-distribution-overview h3{margin:0;font-size:24px;font-weight:500;line-height:1.5}
.office-distribution-overview p{margin:0;color:#61706a;font-size:14px}
.office-distribution-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:clamp(20px,3vw,42px);align-items:stretch}
.contact-page .office-distribution-layout .office-city-picker{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(46px,1fr));margin:0;gap:10px}
.office-distribution-layout>.office-map-source{align-self:center;min-width:0}
.office-distribution-overview .office-map-source img{display:block;width:100%;height:auto;object-fit:contain;border:0}
.office-switcher{margin-top:24px}
@media(max-width:800px){.office-distribution-layout{grid-template-columns:minmax(0,1fr);gap:20px}.contact-page .office-distribution-layout .office-city-picker{grid-template-rows:repeat(4,minmax(46px,auto));gap:8px}.office-distribution-overview{margin-bottom:26px}.office-distribution-overview h3{font-size:21px}.office-distribution-overview figcaption{margin-bottom:18px}}
@media(max-width:380px){.contact-page .office-distribution-layout .office-city-picker a{font-size:13px;padding:8px 3px}.office-distribution-overview{padding:12px}}

.contact-page .office-distribution-layout .office-city-picker a{height:100%;padding:8px 4px;font-size:clamp(13px,1.2vw,16px);white-space:nowrap}
