/* Geographic member-company component. Scoped to avoid changing existing pages. */
.group-presence{--gp-ink:#084b59;--gp-teal:#13b2a5;--gp-line:#dfe7e8;--gp-copy:#465363;max-width:1536px;margin:0 auto;padding:54px 32px 36px;background:#fff;color:var(--gp-ink);scroll-margin-top:90px;font-family:"Noto Sans SC",system-ui,sans-serif;isolation:isolate}
.group-presence *{box-sizing:border-box}
.gp-heading{display:grid;grid-template-columns:370px minmax(0,1fr);gap:72px;align-items:center;margin:0 16px 32px}
.gp-title-block{border-right:1px solid var(--gp-line);padding:0 40px 2px 0}
.gp-eyebrow{margin:0 0 10px;font-family:Georgia,"Noto Serif SC",serif;font-size:13px;font-weight:600;letter-spacing:.25em;line-height:1.5}
.gp-heading h2{margin:0;font:700 clamp(38px,4.2vw,62px)/1.2 "Noto Serif SC",Georgia,serif;letter-spacing:.015em}
.gp-introduction h3{margin:0 0 10px;font:700 clamp(24px,2.6vw,38px)/1.4 "Noto Serif SC",Georgia,serif;letter-spacing:.02em}
.gp-introduction p{margin:0;color:var(--gp-copy);font-size:16px;line-height:1.8}
.gp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,29%);gap:28px;align-items:stretch}
.gp-map-column{min-width:0;position:relative}
.gp-map{position:relative;width:100%;aspect-ratio:1.25;overflow:hidden;background:#f5fafc}
.gp-geography{position:absolute;width:100%;height:100%;inset:0;object-fit:fill;pointer-events:none}
.gp-map-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gp-map.is-rendered .gp-geography{opacity:0}
.gp-points{position:absolute;inset:0}
.gp-point{position:absolute;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;transform:translate(-50%,-50%);border-radius:50%;color:var(--gp-ink)!important;text-decoration:none!important;z-index:2;outline-offset:3px;-webkit-tap-highlight-color:transparent}
.gp-dot{display:block;width:17px;height:17px;border:3px solid #fff;border-radius:50%;background:var(--gp-teal);box-shadow:0 0 0 4px #14b4a51f,0 0 16px #14b4a549;transition:box-shadow .2s,transform .2s}
.gp-point--hong-kong .gp-dot{width:23px;height:23px;box-shadow:0 0 0 2px var(--gp-teal),0 0 0 7px #fff9,0 0 20px #14b4a555}
.gp-point[aria-selected="true"] .gp-dot{background:#078f88;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--gp-teal),0 0 0 11px #14b4a51a}
.gp-point:hover .gp-dot{transform:scale(1.13)}
.gp-point:focus-visible{outline:2px solid #076e77;background:#ffffffa8;z-index:4}
.gp-point-label{position:absolute;left:calc(50% + 20px);top:50%;transform:translateY(-50%);white-space:nowrap;font-family:"Noto Serif SC",Georgia,serif;font-size:clamp(15px,1.45vw,21px);font-weight:700;line-height:1.5;text-shadow:0 1px 6px #fff,0 0 10px #fff;pointer-events:none}
.gp-point--hainan .gp-point-label{top:calc(50% + 13px);left:calc(50% - 20px);transform:translate(-100%,-50%)}
.gp-point--hong-kong .gp-point-label{top:calc(50% - 7px)}
.gp-map-caption{position:absolute;bottom:19px;left:17px;right:17px;display:flex;justify-content:space-between;gap:16px;pointer-events:none;color:#5d6b77;font-size:12px;letter-spacing:.04em;line-height:1.5}
.gp-map-caption small{font-size:11px;color:#71828d;text-align:right}
.gp-details{border-left:1px solid var(--gp-line);padding:10px 0 0 24px;min-width:0;position:relative}
.gp-panel{margin:0 0 30px;scroll-margin-top:110px}
.gp-panel[hidden]{display:none!important}
.gp-region-photo{display:block;width:100%;aspect-ratio:5/3;height:auto;object-fit:cover;background:#eef5f6}
.gp-panel-content{padding:22px 12px 0}
.gp-panel-content .gp-eyebrow{font-size:12px;letter-spacing:.21em;margin:0 0 5px}
.gp-panel-content h3{margin:0;font:700 clamp(34px,3.7vw,52px)/1.25 "Noto Serif SC",Georgia,serif;overflow-wrap:anywhere}
.gp-panel-content h3:after{content:"";display:block;width:44px;height:3px;background:var(--gp-teal);margin:24px 0 28px}
.gp-members-label{color:#6a7381;font-size:14px;letter-spacing:.08em;margin:0 0 9px}
.gp-company-list{margin:0;padding:0;list-style:none}
.gp-company-list li{margin:0;border-bottom:1px solid var(--gp-line);padding:16px 0;color:#3c495d;font-size:clamp(15px,1.3vw,18px);line-height:1.85;overflow-wrap:anywhere}
.gp-company-list li:last-child{border-bottom:0}
.gp-contact-link{display:inline-flex;align-items:center;gap:18px;margin-top:26px;border-bottom:1px solid currentColor;padding-bottom:4px;color:#078e85!important;text-decoration:none!important;font-size:16px;font-weight:500;line-height:1.5}
.gp-contact-link:hover{color:#075967!important}
.gp-contact-link:focus-visible{outline:2px solid var(--gp-ink);outline-offset:6px}
.gp-contact-link .material-symbols-outlined{font-size:21px}
.gp-region-select{display:none}
.gp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gp-other{border-top:1px solid var(--gp-line);padding:24px 0;margin-top:24px;color:var(--gp-copy)}
.gp-other h3{font-size:18px}.gp-other ul{padding-left:20px;line-height:2}
.group-presence[lang="en"] .gp-heading{grid-template-columns:33% minmax(0,1fr);gap:44px}
.group-presence[lang="en"] .gp-heading h2{font-size:clamp(34px,4vw,56px)}
.group-presence[lang="en"] .gp-introduction h3{font-size:clamp(24px,2.5vw,34px);letter-spacing:0}
.group-presence[lang="en"] .gp-point-label{font-family:Georgia,serif;font-size:clamp(13px,1.2vw,18px)}
.group-presence[lang="en"] .gp-company-list li{font-size:16px;line-height:1.6}
.group-presence[lang="en"] .gp-panel-content h3{font-size:38px}
@media(min-width:1540px){.gp-map{aspect-ratio:1.35}}
@media(max-width:1050px){.group-presence{padding:36px 24px}.gp-heading{grid-template-columns:31% minmax(0,1fr);gap:32px;margin-left:0;margin-right:0}.gp-title-block{padding-right:24px}.gp-layout{grid-template-columns:minmax(0,1fr) 30%;gap:18px}.gp-details{padding-left:18px}.gp-map{aspect-ratio:.98}.gp-point-label{font-size:15px}.gp-panel-content{padding-left:0;padding-right:0}.gp-panel-content h3{font-size:36px}.gp-company-list li{font-size:15px}.gp-map-caption{font-size:11px;left:8px;right:8px}}
@media(max-width:760px){.group-presence{padding:30px 18px}.gp-heading,.group-presence[lang="en"] .gp-heading{display:block;margin:0 0 24px}.gp-title-block{border:0;padding:0;margin-bottom:22px}.gp-heading h2{font-size:38px}.gp-eyebrow{font-size:10px;letter-spacing:.22em}.gp-introduction h3{font-size:24px;margin-bottom:8px}.gp-introduction p{font-size:14px;line-height:1.8}.gp-layout{display:block}.gp-map{aspect-ratio:.98;border-radius:0}.gp-map-caption{position:static;margin:12px 0 16px;font-size:11px;gap:12px}.gp-point-label{font-family:"Noto Sans SC",system-ui,sans-serif;font-size:14px}.group-presence[lang="en"] .gp-point-label{font-size:11px}.gp-dot{width:13px;height:13px;border-width:2px}.gp-point--hong-kong .gp-dot{width:17px;height:17px}.gp-point-label{left:calc(50% + 12px)}.gp-point--hong-kong .gp-point-label{top:calc(50% - 14px);left:calc(50% + 10px)}.gp-point--hainan .gp-point-label{left:calc(50% - 12px);top:calc(50% + 13px)}.gp-details{border:0;border-top:1px solid var(--gp-line);padding:24px 0 0}.gp-region-select{display:none;align-items:center;gap:16px;margin:10px 0 20px}.is-enhanced .gp-region-select{display:flex}.gp-region-select label{font-size:13px;color:var(--gp-copy);white-space:nowrap}.gp-region-select select{min-width:0;width:100%;background:#fff;color:var(--gp-ink);border:1px solid #b9cdce;border-radius:0;padding:11px 12px;font:inherit;font-size:15px;min-height:44px}.gp-region-select select:focus-visible{outline:2px solid var(--gp-ink);outline-offset:3px}.gp-panel{margin:0}.gp-panel-content{padding:22px 4px}.gp-panel-content h3{font-size:38px}.gp-panel-content h3:after{margin:18px 0 24px}.gp-company-list li{font-size:16px;padding:14px 0}.gp-contact-link{margin-top:22px}.group-presence[lang="en"] .gp-introduction h3{font-size:25px}.group-presence[lang="en"] .gp-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.group-presence *{transition:none!important;scroll-behavior:auto!important}}
@media print{.gp-panel[hidden]{display:block!important}.gp-details{border:0}.gp-layout{display:block}.gp-map{max-height:450px}.gp-region-select,.gp-contact-link{display:none!important}.gp-panel{break-inside:avoid}.gp-region-photo{max-width:240px}}
