/* One city-first finder, with geographic anchors independent from text labels. */
body[data-route="offices"] .page-hero{min-height:310px}
.finder-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.finder-heading h2{margin:0;font-size:clamp(28px,3.5vw,44px)}.finder-heading>p{max-width:280px;color:#aebed5}
.office-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.2fr);gap:18px}.office-controls label{display:grid;gap:9px;min-width:0;font-size:13px;color:#c4d0e4}.office-controls input,.office-controls select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:48px;font:inherit;font-size:16px;color:#edf2fb;background:#122037;border:1px solid #617089;border-radius:7px;padding:10px 12px;text-overflow:ellipsis}.office-controls :focus-visible{outline:2px solid #c7a4f2;outline-offset:3px}
.map-explorer{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:start;border-radius:14px;overflow:hidden;min-height:620px}.map-canvas{align-self:start;min-width:0;margin:0;background:radial-gradient(ellipse at 50% 45%,#182841,#0a1425 72%)}.map-canvas>summary{padding:18px 22px;cursor:pointer;color:#e0d1f6;font-size:14px;border-bottom:1px solid #293e59}.region-map{aspect-ratio:4/3;width:100%;height:auto;overflow:hidden}.region-map .map-land{fill:#33455e;stroke:none;fill-rule:evenodd}.region-map .map-point text{pointer-events:all;font-size:16px;fill:#e0e9f5;font-weight:500;paint-order:stroke;stroke:#0b1526;stroke-width:3px;stroke-linejoin:round}.map-point .map-leader{stroke:#b5a2cf85;stroke-width:.9}.map-point.selected text{fill:#e8c2ff;font-weight:700}.map-point.selected circle:not(.map-hit){fill:#fff;stroke:#ba8ef0;stroke-width:3}.map-point:focus-visible{outline:none}.map-point:focus-visible text{fill:#fff;stroke:#7544a8;stroke-width:7px}.map-point.filtered-out{opacity:.18;pointer-events:none}.map-note{padding:0 18px;font-size:12px;margin:0}.map-credit{text-align:center;font-size:10px;color:#99abc4;margin:9px 0 18px}.map-credit a{text-decoration:underline}
.office-detail{align-self:stretch;min-width:0;min-height:620px;padding:28px;overflow-wrap:anywhere;border-left:1px solid #364661}.office-detail h3{font-size:29px;margin:0 0 15px}.office-detail .office-address{min-height:176px;font-size:14px}.office-detail #office-roles{min-height:38px;margin:0 0 16px}.office-detail .office-call{margin:18px 0;min-height:90px;display:grid;align-content:start;gap:7px}.office-detail .office-call span{font-size:12px}.office-detail .office-call a{font-size:14px}.office-detail .office-contact{margin:0}.office-actions{min-height:89px;display:flex;align-content:start;align-items:start;gap:12px;flex-wrap:wrap}.office-actions .text-link{font-size:13px}.office-closeup{margin:16px 0;background:#0a172a;border:1px solid #485674;border-radius:8px;overflow:hidden}.office-closeup svg{display:block;width:100%;height:126px;overflow:hidden}.office-closeup .map-land{fill:#364966;stroke:none;fill-rule:evenodd}.office-closeup circle{fill:#fff;stroke:#bd91f2;stroke-width:.5}.office-closeup figcaption{display:flex;justify-content:space-between;gap:12px;padding:10px;font-size:11px;color:#cbd6e8;background:#15233a}.office-closeup figcaption span:last-child{color:#a79bbd;text-align:right}.office-detail>.small-note{font-size:11px;margin:10px 0 0}
@media(max-width:1050px){.map-explorer{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.office-detail{padding:22px}.office-detail h3{font-size:25px}.office-controls{gap:12px}}
@media(max-width:1000px){.finder-heading{display:block}.finder-heading>p{margin-top:15px;max-width:none}.office-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.office-controls label:last-child{grid-column:1/-1}.map-explorer{display:flex;flex-direction:column;min-height:0}.office-detail{order:0;width:100%;min-height:0;border-left:0;padding:24px}.office-detail .office-address{min-height:0}.office-detail #office-roles{min-height:0}.office-detail .office-call{min-height:0}.office-actions{min-height:48px}.office-closeup{max-width:100%;margin-top:22px}.office-closeup svg{height:150px}.map-canvas{order:1;width:100%;border-top:1px solid #364661}.map-canvas>summary{min-height:48px}.region-map .map-point text{font-size:20px}.map-explorer .map-canvas[open] .region-map{min-width:600px}.map-canvas[open]{overflow:auto}.map-note,.map-credit{min-width:0}body[data-route="offices"] .page-hero{min-height:270px}}
@media(max-width:380px){.office-controls{grid-template-columns:1fr}.office-controls label:last-child{grid-column:auto}}

.map-mobile-hint{display:none}@media(max-width:1000px){.map-mobile-hint{display:block;font-size:12px;padding:0 18px;color:#c7b0e6}}

/* A clear choice replaces overlapping pointer hit areas for neighbouring cities. */
#office-nearby{width:min(420px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid #9c79c0;border-radius:14px;background:#111e32;color:#edf2fb;padding:30px;box-shadow:0 24px 80px #0009}#office-nearby::backdrop{background:#060b16ba}#office-nearby h2{font-size:25px;margin:0 32px 12px 0}#office-nearby p{font-size:14px;color:#bdcbe0;margin-bottom:20px}#office-nearby-close{position:absolute;right:10px;top:10px;width:44px;height:44px;background:transparent;border:0;color:white;font-size:30px}#office-nearby-choices{display:grid;gap:10px}.office-nearby-choice{display:grid;gap:4px;text-align:left;width:100%;min-height:64px;padding:12px 16px;background:#22334e;border:1px solid #586884;border-radius:8px;color:white;cursor:pointer}.office-nearby-choice:hover{background:#342d51;border-color:#c7a4f2}.office-nearby-choice strong{font-size:16px;font-weight:600}.office-nearby-choice span{font-size:12px;color:#c3b0e1}#office-nearby button:focus-visible{outline:2px solid #dec3ff;outline-offset:3px}
