/* ---------- 1. แผนที่ + ทีมไทย ---------- */
.s1{display:grid;grid-template-columns:880px 1fr;gap:36px}
.map-panel{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#132D50 0%,#0F2647 100%)}
#map{position:absolute;inset:0;width:100%;height:100%}
#map .land path{fill:var(--map-land);stroke:var(--map-line);stroke-width:1;stroke-linejoin:round}
#map .land path.hl{fill:var(--map-land-hl)}
#map .graticule line{stroke:rgba(255,255,255,.07);stroke-width:1}
#map .link{fill:none;stroke:rgba(180,208,255,.55);stroke-width:2;stroke-dasharray:9 9;animation:dash 1.4s linear infinite;transition:stroke .2s,opacity .2s}
#map .link.on{stroke:#9CC7FF;stroke-width:3.5;stroke-dasharray:none;animation:none}
#map.has-sel .link:not(.on){opacity:.35}
@keyframes dash{to{stroke-dashoffset:-36}}
.pin{cursor:pointer}
.pin .halo{fill:rgba(156,199,255,.18);stroke:rgba(156,199,255,.5);stroke-width:1.5;transition:r .2s,fill .2s}
.pin .dot{fill:#FFFFFF;stroke:var(--blue-2);stroke-width:4}
.pin.hq .dot{fill:#FFD166;stroke:#FFFFFF}
.pin text{fill:#FFFFFF;font-family:var(--font);font-weight:600;font-size:22px;paint-order:stroke;stroke:rgba(15,38,71,.9);stroke-width:5px;stroke-linejoin:round}
.pin text.sub{font-weight:400;font-size:17px;opacity:.9}
.pin:hover .halo,.pin.on .halo{fill:rgba(156,199,255,.32);r:26}
.pin.on .dot{stroke:#9CC7FF}
.pin:focus-visible{outline:none}
.pin:focus-visible .halo{stroke:#FFFFFF;stroke-width:3}
.ctabs{position:absolute;right:16px;top:16px;display:grid;gap:6px;width:170px}
.ctab{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(15,38,71,.7);color:var(--white);text-align:left;transition:background .15s}
.ctab:hover{background:rgba(255,255,255,.14)}
.ctab.on{background:var(--white);color:var(--navy);border-color:var(--white)}
.ctab .cc{font-weight:700;font-size:11px;letter-spacing:.06em;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.16);flex:none}
.ctab.on .cc{background:var(--sky);color:var(--blue)}
.ctab .nm{font-size:13px;font-weight:500;line-height:1.15}
.site-card{position:absolute;left:18px;bottom:18px;width:400px;background:var(--white);border-radius:14px;padding:16px 18px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.site-card.swap{animation:swap .25s ease}
.site-card .p-top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--slate)}
.site-card .p-cc{font-weight:700;letter-spacing:.06em;background:var(--sky);color:var(--blue);padding:3px 8px;border-radius:7px}
.site-card h3{font-size:19px;font-weight:600;color:var(--navy);line-height:1.2;margin-top:8px}
.site-card .p-en{font-size:13px;color:var(--slate)}
.site-card .p-loc{font-size:13px;color:var(--ink);margin-top:4px}
.site-card .p-model{margin-top:10px;padding:8px 12px;border-left:4px solid var(--blue);background:var(--sky-2);border-radius:0 8px 8px 0;font-size:13px}
.site-card .p-model b{display:block;color:var(--blue);font-weight:600;font-size:14px}
.site-card .p-points{margin-top:8px;display:grid;gap:4px}
.site-card .p-points li{position:relative;padding-left:14px;font-size:13px;line-height:1.4}
.site-card .p-points li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--blue-2)}
.rightcol{display:flex;flex-direction:column;min-width:0}
.org{display:flex;flex-direction:column;gap:14px;min-width:0;flex:1}
.org.off{display:none}
.cpanel{display:none;flex-direction:column;gap:16px;flex:1}
.cpanel.on{display:flex;animation:swap .25s ease}
.cpanel .c-head{display:flex;align-items:center;gap:16px;background:var(--navy);color:var(--white);border-radius:16px;padding:18px 24px}
.cpanel .c-head .cc{font-weight:700;font-size:18px;letter-spacing:.08em;background:rgba(255,255,255,.16);padding:6px 12px;border-radius:10px}
.cpanel .c-head h3{font-size:26px;font-weight:600}
.cpanel .c-head p{font-size:15px;opacity:.85}
.cpanel .c-body{background:var(--white);border:1.5px solid var(--line);border-radius:16px;padding:26px 28px;flex:1;display:flex;flex-direction:column}
.cpanel .c-body h4{font-size:15px;font-weight:600;color:var(--slate);margin-bottom:8px}
.cpanel .c-body .c-name{font-size:24px;font-weight:600;color:var(--navy);line-height:1.2}
.cpanel .c-body .c-en{font-size:16px;color:var(--slate)}
.cpanel .c-body .c-loc{font-size:16px;margin-top:6px}
.cpanel .c-body .p-model{margin:20px 0;padding:14px 18px;border-left:4px solid var(--blue);background:var(--sky-2);border-radius:0 10px 10px 0;font-size:16px}
.cpanel .c-body .p-model b{display:block;color:var(--blue);font-weight:600;font-size:19px;margin-bottom:2px}
.cpanel .c-body ul{display:grid;gap:12px}
.cpanel .c-body li{position:relative;padding-left:22px;font-size:17px;line-height:1.55}
.cpanel .c-body li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:9px;border-radius:50%;background:var(--blue-2)}
.cpanel .c-back{margin-top:auto;font-size:14px;color:var(--slate);padding-top:16px}
.org-head{display:flex;align-items:center;gap:18px;background:var(--navy);color:var(--white);border-radius:16px;padding:16px 22px}
.org-head .big{font-size:44px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.org-head .big small{font-size:14px;font-weight:400;opacity:.8;margin-left:6px}
.org-head h3{font-size:22px;font-weight:600}
.org-head p{font-size:14px;opacity:.85}
.org-head .dir{margin-left:auto;text-align:right;font-size:13px;opacity:.9}
.org-head .dir b{display:block;font-size:15px;font-weight:600}
.org-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0}
.dept{position:relative;text-align:left;background:var(--white);border:1.5px solid var(--line);border-radius:14px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:6px;transition:transform .15s,box-shadow .15s,border-color .15s}
.dept:hover{transform:scale(1.02);border-color:var(--blue);box-shadow:0 10px 26px rgba(23,54,93,.14)}
.dept .dn{font-size:17px;font-weight:600;color:var(--navy);line-height:1.2}
.dept .dh{font-size:13.5px;color:var(--ink)}
.dept .dh small{display:block;color:var(--slate);font-size:12px}
.dept .dm{margin-top:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dept .cnt{font-weight:600;color:var(--navy);font-size:14px}
.dept .cnt small{font-weight:400;color:var(--slate)}
.dept .tag{font-size:11.5px;font-weight:500;color:var(--blue);background:var(--sky);padding:2px 8px;border-radius:999px}
.dept .tag.warn{color:#8A5A00;background:#FFF1D6}
.dept .go{position:absolute;right:14px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--sky-2);color:var(--blue);display:grid;place-items:center}
.dept .go svg{width:14px;height:14px}
