/* The map fills the entire stage. Editable Elementor metrics float over the Pacific. */
.idst-overview .idst-map-stage { position:relative; }
.idst-overview .idst-map-column { width:100%!important; }
.idst-overview { width:var(--idst-viewport-width,100%)!important; max-width:none!important; }
.idst-overview .idst-map-shortcode { width:calc(100% + var(--idst-gutter) * 2); flex:0 0 calc(100% + var(--idst-gutter) * 2); margin-left:calc(-1 * var(--idst-gutter)); }
.idst-overview .idst-map-stage > .elementor-container { position:relative; }
.idst-overview .idst-metrics-column { position:absolute; width:23%!important; right:0; top:50%; transform:translateY(-50%); z-index:4; pointer-events:none; transition:opacity .3s; }
.idst-overview .idst-metrics-column > .elementor-widget-wrap { padding-left:30px; }
.idst-overview .idst-metrics-column:before { content:""; position:absolute; inset:-30px -25px -30px -50px; background:radial-gradient(ellipse,rgba(10,13,12,.75),transparent 72%); pointer-events:none; }
.idst-overview .idst-world-visual { height:clamp(620px,43vw,840px); width:100%; position:relative; isolation:isolate; color:#d9dbd5; font-family:"DM Sans",sans-serif; font-size:17px; line-height:30px; letter-spacing:normal; }
.idst-world-canvas { position:absolute; inset:0; overflow:hidden; touch-action:pan-y; }
.idst-world-canvas canvas { display:block; width:100%; height:100%; cursor:grab; touch-action:none; }
.idst-world-canvas canvas:active { cursor:grabbing; }
.idst-world-fallback { position:absolute; inset:0; pointer-events:none; }
.idst-world-visual[data-renderer="webgl"] .idst-world-fallback { display:none; }
.idst-world-visual[data-renderer="fallback"] .idst-world-canvas { display:none; }
.idst-world-visual:not([data-renderer="webgl"]) .idst-world-tools { display:none; }
.idst-world-leaders { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:2; }
.idst-world-labels { position:absolute; inset:0; pointer-events:none; z-index:3; }
.idst-world-labels button.idst-world-pin { position:absolute; width:36px; height:36px; min-width:0; padding:0; margin:-18px 0 0 -18px; border:0; border-radius:50%; background:transparent; box-shadow:none; color:#dbd6c9; pointer-events:auto; overflow:visible; cursor:pointer; font:inherit; line-height:1.35; transform:none; }
.idst-world-labels button.idst-world-pin[hidden] { display:none!important; }
.idst-world-pin:before { content:""; position:absolute; width:13px; height:13px; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid #dbbf8e; border-radius:50%; background:#161c19; box-shadow:0 0 0 4px #d7bf9615,0 0 15px #d7bf9620; transition:box-shadow .2s,background .2s; }
.idst-world-pin:after { content:""; position:absolute; width:5px; height:5px; left:50%; top:50%; transform:translate(-50%,-50%); background:#f5dcb1; border-radius:50%; }
.idst-world-pin.is-korea:before { width:23px; height:23px; box-shadow:0 0 0 6px #d7bf9620,0 0 24px #d7bf9630; }
.idst-world-pin .idst-world-pin-label { position:absolute; left:calc(50% + var(--label-x)); top:calc(50% + var(--label-y)); transform:translate(-50%,-50%); white-space:nowrap; font-size:13px; font-weight:400; line-height:19px; text-align:center; pointer-events:auto; text-shadow:0 2px 5px #060a08,0 0 5px #060a08; transition:opacity .2s,color .2s; }
.idst-world-pin .idst-world-pin-label b { display:block; font-weight:inherit; }
.idst-world-pin .idst-world-pin-label small { display:none; font-size:13px; margin-top:3px; font-weight:400; }
.idst-world-pin.is-korea .idst-world-pin-label { color:#f0d5a4; font-size:21px; line-height:25px; }
.idst-world-pin.is-korea .idst-world-pin-label small { display:block; }
.idst-world-pin.is-active { z-index:5; }
.idst-world-pin.is-active:before,.idst-world-pin:focus-visible:before { background:#d7bf96; box-shadow:0 0 0 8px #d7bf9624,0 0 30px #ead0a366; }
.idst-world-pin.is-active .idst-world-pin-label { font-size:17px; line-height:22px; font-weight:700; color:#fff0d4; padding:7px 12px; border:1px solid #d7bf9650; border-radius:3px; background:#111917ed; text-shadow:none; }
.idst-world-pin.is-active .idst-world-pin-label small { display:block; }
.idst-world-visual[data-active]:not([data-active=""]) .idst-world-pin:not(.is-active):not(.is-korea) .idst-world-pin-label { opacity:.4; }
.idst-world-tools { display:flex; gap:6px; position:absolute; bottom:41px; left:var(--idst-gutter); align-items:center; z-index:8; }
.idst-world-visual button { font-family:inherit; letter-spacing:normal; text-transform:none; }
.idst-world-tools button { min-width:38px; min-height:38px; padding:6px 13px; border:1px solid #a5917066; border-radius:3px; color:#ded6c6; background:#111715e8; font-size:14px; font-weight:400; line-height:24px; box-shadow:none; cursor:pointer; }
.idst-world-tools button:hover { color:#fff2d6; border-color:#cbb388; background:#252d27; }
.idst-world-tools .idst-world-korea-button { border-color:#cdb88b; color:#ead5ad; margin-left:5px; }
.idst-world-zoom { color:#929d94; padding-left:8px; font-size:13px; }
.idst-world-hint { position:absolute; left:var(--idst-gutter); bottom:5px; color:#929d94; font-size:12px; line-height:25px; pointer-events:none; }
.idst-world-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.idst-world-factories { position:absolute; top:50%; transform:translateY(-50%); right:var(--idst-gutter); width:340px; max-height:calc(100% - 54px); overflow:auto; padding:22px 0 22px 28px; z-index:7; background:none; text-shadow:0 2px 10px #000; text-align:right; scrollbar-width:thin; }
.idst-world-factories[hidden] { display:none; }
.idst-world-panel-head { display:flex; align-items:center; justify-content:space-between; color:#b9a584; font-size:13px; line-height:24px; }
.idst-world-panel-head button { padding:0 5px; border:0; color:#d7bf96; background:none; font-size:24px; line-height:30px; box-shadow:none; cursor:pointer; }
.idst-overview .idst-world-factories h3 { font-family:"Founders Grotesk","DM Sans",sans-serif; font-weight:500; font-size:30px; line-height:1.25; color:#f0f0e9; margin:12px 0 6px; }
.idst-overview .idst-world-panel-note { font-size:12px; line-height:20px; color:#95a198; }
.idst-world-factory-list { margin:17px 0 20px; display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.idst-world-factory-list button { text-align:left; padding:8px 9px; background:#ffffff04; border:1px solid #79887840; border-radius:2px; color:#c2cec2; font-size:12px; font-weight:400; line-height:19px; box-shadow:none; cursor:pointer; }
.idst-world-factory-list button.is-selected { color:#f0d9ad; border-color:#c5ab78; background:#d5b78314; }
.idst-world-factory-detail { padding:0; }
.idst-overview .idst-world-factory-detail h4 { color:#ead7b6; font:500 30px/40px "Founders Grotesk","DM Sans",sans-serif; margin:0 0 18px; }
.idst-overview .idst-world-factory-detail p { color:#c8cec7; font-size:17px; line-height:30px; margin:5px 0; }
.idst-overview .idst-world-factory-detail .idst-world-factory-address { margin-top:23px; }
.idst-overview .idst-world-factory-detail .idst-world-factory-address-en { color:#929c96; font-size:15px; line-height:26px; }
.idst-world-factory-detail small { color:#8f9e92; font-size:12px; line-height:20px; }
.idst-overview .idst-world-location-link { display:inline-block; color:#dac49a; border-bottom:1px solid #aa946858; font-size:13px; margin-top:17px; }
.idst-map-stage.is-world-detail .idst-metrics-column { opacity:0; visibility:hidden; }
.idst-world-visual button:focus-visible { outline:2px solid #e8d4ae; outline-offset:4px; }
@media (min-width:768px) and (max-width:1200px) { .idst-world-factories { width:300px; right:30px; padding:17px; } }
@media (max-width:767px) {
 .idst-overview .idst-world-visual { height:300px; }
 .idst-overview .idst-metrics-column { position:relative; width:100%!important; transform:none; top:auto; }
 .idst-overview .idst-metrics-column:before { display:none; }
 .idst-overview .idst-metrics-column > .elementor-widget-wrap { padding:25px 0 0; }
 .idst-map-stage.is-world-detail .idst-metrics-column { display:none; }
 .idst-world-tools { bottom:35px; left:16px; right:16px; gap:4px; }
 .idst-world-tools button { padding:6px 9px; font-size:12px; min-width:34px; }
 .idst-world-zoom { font-size:11px; padding-left:4px; }
 .idst-world-hint { left:16px; font-size:11px; bottom:2px; }
 .idst-world-pin .idst-world-pin-label { font-size:10px; line-height:15px; }
 .idst-world-pin.is-korea .idst-world-pin-label { font-size:17px; line-height:21px; }
 .idst-world-pin.is-active .idst-world-pin-label { font-size:13px; line-height:18px; }
 .idst-world-pin .idst-world-pin-label small { font-size:10px; }
 .idst-world-factories { position:relative; top:auto; right:auto; transform:none; width:auto; max-height:none; margin:0 23px; padding:12px 0 0; text-align:left; background:none; }
 .idst-world-visual.is-korea-detail { height:auto; padding-top:440px; padding-bottom:16px; }
 .idst-world-visual.is-korea-detail .idst-world-canvas { height:440px; }
 .idst-world-visual.is-korea-detail .idst-world-tools { top:361px; bottom:auto; }
 .idst-world-visual.is-korea-detail .idst-world-hint { top:410px; bottom:auto; }
}
@media (prefers-reduced-motion:reduce) { .idst-world-visual *, .idst-metrics-column { transition:none!important; } }

/* Regional labels identify production lines without requiring a hover. */
.idst-world-pin.is-regional .idst-world-pin-label { font-size:14px; line-height:21px; }
.idst-world-pin.is-regional .idst-world-pin-label b { font-weight:500; }
.idst-world-pin.is-regional .idst-world-pin-label small { display:block; color:#adb5b6; font-size:12px; line-height:18px; }
.idst-world-pin.is-regional.is-active .idst-world-pin-label { font-size:15px; line-height:22px; }
.idst-world-pin.is-regional.is-active .idst-world-pin-label b { font-weight:700; }
.idst-world-pin.is-headquarters:before { width:21px; height:21px; border-width:2px; }
.idst-world-pin.is-headquarters .idst-world-pin-label { color:#f0d5a4; }
.idst-world-visual.is-korea-detail .idst-world-pin:not(.is-active) .idst-world-pin-label { opacity:1; }
@media(max-width:767px) {
 .idst-world-pin.is-regional .idst-world-pin-label { font-size:10px; line-height:15px; }
 .idst-world-pin.is-regional .idst-world-pin-label small { font-size:9px; line-height:13px; white-space:normal; max-width:148px; }
 .idst-world-pin.is-regional.is-active .idst-world-pin-label { font-size:11px; line-height:16px; padding:5px 6px; }
}

/* One desktop viewport. Text stays in its editable Elementor widgets over the map. */
@media (min-width:1025px) {
 .idst-overview { height:calc(100svh - var(--idst-admin-height,0px)); padding:0; border:0; position:relative; }
 .idst-overview > .elementor-container,
 .idst-overview > .elementor-container > .elementor-column,
 .idst-overview > .elementor-container > .elementor-column > .elementor-widget-wrap { height:100%; position:relative; }
 .idst-overview .idst-map-stage { position:absolute; inset:0; margin:0; width:100%; height:100%; z-index:0; }
 .idst-overview .idst-map-stage > .elementor-container,
 .idst-overview .idst-map-column,
 .idst-overview .idst-map-column > .elementor-widget-wrap,
 .idst-overview .idst-map-shortcode,
 .idst-overview .idst-map-shortcode > .elementor-widget-container,
 .idst-overview .idst-map-shortcode .elementor-shortcode { height:100%; }
 .idst-overview .idst-map-shortcode { width:100%; flex-basis:100%; margin:0; }
 .idst-overview .idst-world-visual { height:100%; }
 .idst-overview .idst-world-visual:before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,#090b0beb 0%,#090b0b66 15%,transparent 30%,transparent 54%,#090b0b99 76%,#090b0bf2 100%); }
 .idst-overview .idst-overview-header { position:absolute; top:clamp(20px,3.2vh,40px); left:var(--idst-gutter); width:calc(100% - 2 * var(--idst-gutter)); margin:0; z-index:5; pointer-events:none; }
 .idst-overview .idst-overview-title .elementor-heading-title { margin-top:8px; font-size:clamp(36px,3.5vw,50px); }
 .idst-overview .idst-overview-bottom { position:absolute; bottom:clamp(72px,9vh,106px); left:var(--idst-gutter); width:calc(100% - 2 * var(--idst-gutter)); margin:0; padding:0; border:0; z-index:5; pointer-events:none; }
 .idst-overview .idst-overview-footer { position:absolute; bottom:clamp(18px,2.8vh,34px); left:var(--idst-gutter); width:calc(100% - 2 * var(--idst-gutter)); padding:0; z-index:5; pointer-events:none; }
 .idst-overview .idst-overview-footer > .elementor-container > .elementor-column { width:100%; }
 .idst-overview .idst-location-link a { pointer-events:auto; }
 .idst-overview .idst-copy-column > .elementor-widget-wrap { padding-left:38px; }
 .idst-overview .elementor-widget.idst-overview-copy,
 .idst-overview .elementor-widget.idst-overview-copy-en { font-size:clamp(14px,1.03vw,17px); line-height:1.65; }
 .idst-overview .elementor-widget.idst-overview-copy-en { margin-top:10px; }
 .idst-overview .idst-statement .elementor-heading-title { font-size:clamp(26px,2.1vw,34px); line-height:1.35; }
 .idst-overview .elementor-widget.idst-fields { font-size:clamp(12px,.95vw,15px); line-height:1.6; }
 .idst-overview .idst-location-link .elementor-button { font-size:clamp(14px,1.03vw,17px); line-height:1.6; padding-bottom:5px; }
 .idst-overview .idst-metrics-column { width:22%!important; right:var(--idst-gutter); top:43%; }
 .idst-overview .idst-metric-value .elementor-heading-title { font-size:clamp(48px,7vh,78px); }
 .idst-overview .idst-metric-word .elementor-heading-title { font-size:clamp(44px,6vh,64px); line-height:1.05; }
 .idst-overview .idst-metric-divider { margin-top:clamp(10px,1.7vh,20px); padding-top:clamp(8px,1.5vh,18px); }
 .idst-overview .idst-metric-label .elementor-heading-title { font-size:14px; line-height:22px; }
 .idst-overview .elementor-widget.idst-metric-caption { font-size:15px; line-height:23px; }
 .idst-world-factories { top:43%; width:27%; max-height:40%; padding:10px 0; overflow:visible; }
 .idst-overview .idst-world-factory-detail h4 { font-size:28px; line-height:34px; margin-bottom:12px; }
 .idst-overview .idst-world-factory-detail p { font-size:15px; line-height:25px; }
 .idst-overview .idst-world-factory-detail .idst-world-factory-address-en { font-size:13px; line-height:22px; }
 .idst-world-visual.is-korea-detail[data-active]:not([data-active=""]) .idst-world-pin:not(.is-active):not(.is-korea) .idst-world-pin-label { opacity:1; }
}
@media (min-width:1025px) and (max-height:700px) {
 .idst-overview .idst-overview-header { top:16px; }
 .idst-overview .idst-kicker .elementor-heading-title { font-size:14px; line-height:22px; }
 .idst-overview .idst-overview-title .elementor-heading-title { font-size:34px; margin-top:4px; }
 .idst-overview .elementor-widget.idst-overview-copy,
 .idst-overview .elementor-widget.idst-overview-copy-en { font-size:13px; line-height:1.5; }
 .idst-overview .idst-metric-label .elementor-heading-title { font-size:12px; line-height:19px; }
 .idst-overview .elementor-widget.idst-metric-caption { font-size:13px; line-height:21px; }
}
