/* Original office data remains readable before the optional map enhancement. */
.migrated-content:has(.source-company-directory) { padding-block:56px 72px;border-top:1px solid #dbe8ee;background:#f7fafb; }
.source-reading:has(.source-company-directory) { width:min(1280px,calc(100% - 112px));max-width:1280px; }
.source-chapter:has(> .source-company-directory) { padding:0;margin:0;border:0; }
.source-company-directory,.source-company-explorer-layout,.source-company-panels { min-width:0; }
.source-company-directory [hidden] { display:none!important; }
.source-company-directory h2 { max-width:none;margin:0 0 18px;font-size:var(--type-h2,30px);line-height:1.3; }
.source-company-directory h3 { max-width:none;margin:0 0 10px;font-size:var(--type-h3,22px);line-height:1.4; }
.source-company-directory p { max-width:none;margin:0;font-size:16px;line-height:1.7;overflow-wrap:anywhere; }
.source-company-directory-heading { margin-bottom:28px; }
.source-company-directory-heading > p { margin:0 0 10px;color:#526b7c;font-size:14px; }
.source-company-directory-heading > h2 { margin:0; }
.source-company-panels { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.source-company-office { min-width:0;padding:28px;border:1px solid #d7e7ed;border-radius:10px;background:#fff; }
.source-company-office header { margin-bottom:20px; }
.source-company-office header > :is(h2,h3) { font-size:var(--type-h3,22px);margin:0 0 12px; }
.source-company-office header > p { color:#526b7c;font-size:14px;line-height:1.6; }
.source-company-details { display:grid;gap:10px; }
.source-company-directory a { min-height:44px;display:inline-flex;max-width:100%;align-items:center;color:#007e9f;overflow-wrap:anywhere;vertical-align:middle; }
.source-company-details a { font-size:14px;line-height:1.6; }
.source-company-map { margin-top:16px!important; }
.source-company-map a { gap:8px;font-size:14px;font-weight:650; }
.source-company-hours { display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #d7e7ed;min-width:0; }
.source-company-hours > svg { flex-shrink:0;color:#007e9f;margin-top:4px; }
.source-company-hours h3 { font-size:16px;margin-bottom:8px; }
.source-company-hours p { font-size:14px; }
.source-company-hours p + p { margin-top:8px; }
/* Map and details form one compact navigator only after successful mounting. */
.source-company-directory.is-enhanced .source-company-explorer-layout { display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:24px;align-items:start; }
.source-company-directory.is-enhanced .source-company-panels { display:block; }
.source-company-directory.is-enhanced .source-company-office { border-top:3px solid #0089a8;min-height:420px; }
.source-company-explorer { min-width:0;padding:26px;border:1px solid #d7e7ed;border-radius:10px;background:linear-gradient(145deg,#eef7fa,#fff); }
.source-company-explorer .source-company-map-hint { color:#4c687a;font-size:14px;line-height:1.7; }
.source-company-map-canvas { position:relative;aspect-ratio:1000/430;margin:28px 0 24px;min-width:0; }
.source-company-world-map { display:block;width:100%;height:100%;overflow:visible; }
.source-company-leader { display:none; }
.source-company-location-ring { fill:#fff;stroke:#fff;stroke-width:2; }
.source-company-location-dot { fill:#547f93; }
[data-company-marker].is-selected .source-company-location-ring { fill:#b2e9f1;stroke:#87d5e3; }
[data-company-marker].is-selected .source-company-location-dot { fill:#007e9f;r:6px; }
.source-company-pin-controls { position:absolute;inset:0;pointer-events:none; }
.source-company-pin { position:absolute;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);width:44px;height:44px;border:0;padding:0;border-radius:50%;background:transparent;pointer-events:auto;color:#31576b;cursor:pointer; }
.source-company-pin-dot { display:block;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#547f93;box-shadow:0 0 0 1px #7ca4b5; }
.source-company-pin-label { position:absolute;top:35px;left:50%;transform:translateX(-50%);padding:2px 7px;border:1px solid #d4e3eb;border-radius:4px;background:#fff;color:#31576b;font-size:13px;line-height:1.55;white-space:nowrap; }
.source-company-pin[data-company-select="tw"] .source-company-pin-label { top:10px;left:auto;right:30px;transform:none; }
.source-company-pin[data-company-select="jp"] .source-company-pin-label { top:10px;left:30px;transform:none; }
.source-company-pin[aria-pressed="true"] .source-company-pin-dot { width:13px;height:13px;background:#007e9f;box-shadow:0 0 0 5px #007e9f18; }
.source-company-pin[aria-pressed="true"] .source-company-pin-label { background:#007e9f;color:#fff;border-color:#007e9f; }
.source-company-pin:hover .source-company-pin-label { border-color:#007e9f; }
.source-company-regions { display:flex;flex-wrap:wrap;gap:8px;padding-top:20px;border-top:1px solid #d7e7ed; }
.source-company-region { min-height:44px;padding:9px 14px;border:1px solid #cbdfe8;border-radius:5px;background:#fff;color:#31576b;font-size:14px;line-height:1.6;font-weight:600;cursor:pointer; }
.source-company-region:hover { border-color:#0089a8;background:#edf8fb; }
.source-company-region[aria-pressed="true"] { background:#007e9f;color:#fff;border-color:#007e9f; }
.source-company-directory :is(a,button):focus-visible { outline:3px solid #0089a8;outline-offset:4px; }
@media(max-width:1200px) { .source-reading:has(.source-company-directory) { width:calc(100% - 64px); } }
@media(max-width:1050px) { .source-company-panels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) {
 .source-company-directory.is-enhanced .source-company-explorer-layout { grid-template-columns:minmax(0,1fr); }
 .source-company-directory.is-enhanced .source-company-office { min-height:0; }
}
@media(max-width:760px) {
 .source-reading:has(.source-company-directory) { width:calc(100% - 40px); }
 .source-company-pin-label { display:none; }
 .source-company-leader { display:none; }
 .source-company-location-ring { r:12px; }
 [data-company-marker].is-selected .source-company-location-ring { r:18px; }
}
@media(max-width:600px) {
 .migrated-content:has(.source-company-directory) { padding-block:36px 48px; }
 .source-company-directory-heading { margin-bottom:22px; }
 .source-company-explorer,.source-company-office { padding:20px; }
 .source-company-explorer-layout { gap:20px; }
 .source-company-panels { grid-template-columns:minmax(0,1fr);gap:16px; }
 .source-company-map-canvas { margin:22px 0 18px; }
 .source-company-regions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
 .source-company-region { width:100%; }
}
@media(max-width:380px) { .source-reading:has(.source-company-directory) { width:calc(100% - 32px); } }
