:root{color-scheme:dark}
html,body{background:#08090F;margin:0}
body{padding:0}
.deck{position:relative}
.sec{padding-inline:clamp(16px,3.2vw,56px);padding-block:24px 30px;min-height:100vh;box-sizing:border-box;
  background:#08090F radial-gradient(ellipse 80% 55% at 50% 40%,#0B0D16 0%,#08090F 70%)}
.sec.off{visibility:hidden;position:absolute;top:0;left:0;right:0;height:0;min-height:0;overflow:hidden;pointer-events:none;padding-block:0}


.sec-ns{
  color-scheme:dark;
  --bg:#08090F; --bg2:#0B0D16; --cream:#E8E2D4; --cream-hi:#F2EDE0;
  --gray:#6B6660; --muted:#8C867D; --dim:#2A2722; --rule:rgba(232,226,212,.12);
  --accent:#B0533F; --accent-lt:#D88C79;
  --display:"Cormorant SC","Cormorant Garamond",Georgia,serif;
  --body:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}
.sec-ns *{box-sizing:border-box}
.sec-ns{background:var(--bg)}
.sec-ns{color:var(--cream);font-family:var(--body);font-weight:300;font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-inline:clamp(16px,3.2vw,56px);padding-block:24px 30px;
  background-image:radial-gradient(ellipse 80% 55% at 50% 42%,var(--bg2) 0%,var(--bg) 70%)}
.sec-ns ::selection{background:var(--cream);color:var(--bg)}
.sec-ns .stage{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:22px;min-height:min(820px,calc(100vh - 54px))}
.sec-ns .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.sec-ns .mark{font-family:var(--display);font-weight:500;font-size:.82rem;letter-spacing:.38em;text-transform:uppercase;color:var(--cream-hi)}
.sec-ns .kick{font-family:var(--display);font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.sec-ns .body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:28px;padding-block:20px}
.sec-ns .frame{display:flex;flex-direction:column;gap:26px;align-items:center;text-align:center;transition:opacity .45s ease}
.sec-ns .frame[hidden]{display:none}
.sec-ns .q{font-family:var(--body);font-weight:300;font-size:clamp(40px,6vw,86px);line-height:1.05;margin:0;text-wrap:balance;color:var(--cream-hi)}
.sec-ns .q em{font-style:italic;font-weight:400;color:var(--accent)}
.sec-ns .sub{font-family:var(--body);font-style:italic;font-size:clamp(21px,2.1vw,29px);line-height:1.3;color:var(--muted);margin:0;max-width:34ch;text-wrap:balance}
.sec-ns .h2{font-family:var(--body);font-weight:300;font-size:clamp(30px,3.6vw,50px);line-height:1.12;margin:0;max-width:26ch;text-wrap:balance}
.sec-ns .h2 em{font-style:italic;font-weight:400;color:var(--accent)}
.sec-ns .fig{overflow-x:auto;width:100%}
.sec-ns svg.st{display:block;width:100%;max-width:980px;min-width:620px;height:auto;margin:0 auto}
.sec-ns .layer rect{fill:rgba(232,226,212,.06);stroke:rgba(232,226,212,.34);stroke-width:1}
.sec-ns .ln{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:.14em;fill:var(--cream)}
.sec-ns .perim{fill:none;stroke:var(--accent);stroke-width:1.3;stroke-dasharray:7 5}
.sec-ns .pt{font-family:var(--display);font-size:15px;letter-spacing:.3em;fill:var(--accent-lt)}
.sec-ns .arw{stroke:var(--cream);stroke-width:1.6;fill:none}
.sec-ns .dir{font-family:var(--display);font-size:13px;letter-spacing:.3em;fill:var(--gray)}
.sec-ns .who{font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:.08em;fill:var(--cream-hi)}
.sec-ns .how{font-family:var(--body);font-style:italic;font-size:20px;fill:var(--muted)}
.sec-ns .an{font-family:var(--display);font-size:.85rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent-lt)}
.sec-ns .formal{margin:0;font-size:19px;line-height:1.5;color:var(--muted);max-width:60ch}
.sec-ns .formal b{font-weight:500;color:var(--cream)}
.sec-ns .foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:14px}
.sec-ns .src{font-size:16px;line-height:1.5;color:var(--muted);max-width:90ch;margin:0}
.sec-ns .src a{color:var(--cream);text-decoration:underline;text-decoration-color:var(--dim);text-underline-offset:4px}
.sec-ns .src a:hover{color:var(--accent)}
.sec-ns .nav{display:flex;align-items:center;gap:10px}
.sec-ns .nav button{font-family:var(--display);font-size:15px;color:var(--cream);background:transparent;border:1px solid var(--dim);border-radius:0;padding:6px 13px;cursor:pointer}
.sec-ns .nav button:hover{border-color:var(--cream)}
.sec-ns .nav button:focus-visible{outline:1px solid var(--cream);outline-offset:3px}
.sec-ns .tick{width:22px;height:2px;background:var(--dim);border:0;padding:0;cursor:pointer}
.sec-ns .tick[aria-current="true"]{background:var(--accent)}
@media (prefers-reduced-motion:reduce){.sec-ns .frame{transition:none}
}

.sec-map{
  color-scheme:dark;
  --bg:#08090F; --bg2:#0B0D16;
  --cream:#E8E2D4; --cream-hi:#F2EDE0;
  --gray:#6B6660; --muted:#8C867D; --dim:#2A2722;
  --rule:rgba(232,226,212,.12);
  --land:#12141D; --land-edge:#262833;
  --accent:#B0533F;
  --display:"Cormorant SC","Cormorant Garamond",Georgia,serif;
  --body:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}
.sec-map *{box-sizing:border-box}
.sec-map{background:var(--bg)}
.sec-map{color:var(--cream);font-family:var(--body);font-weight:300;font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-inline:clamp(16px,3.2vw,56px);padding-block:24px 30px;font-feature-settings:"onum" 1,"pnum" 1;
  background-image:radial-gradient(ellipse 80% 55% at 50% 38%,var(--bg2) 0%,var(--bg) 70%)}
.sec-map ::selection{background:var(--cream);color:var(--bg)}
.sec-map .stage{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.sec-map .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.sec-map .mark{font-family:var(--display);font-weight:500;font-size:.82rem;letter-spacing:.38em;text-transform:uppercase;color:var(--cream-hi)}
.sec-map .kick{font-family:var(--display);font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.sec-map .kick b{font-weight:500;color:var(--cream)}
.sec-map h1{font-family:var(--body);font-weight:300;font-size:clamp(28px,3.3vw,48px);line-height:1.12;margin:4px 0 0;max-width:32ch;text-wrap:balance;min-height:2.3em;transition:opacity .45s ease}
.sec-map h1 em{font-style:italic;font-weight:400;color:var(--accent)}
.sec-map .fig{overflow-x:auto;margin-inline:-6px}
.sec-map svg.map{display:block;width:100%;min-width:760px;height:auto}
.sec-map .land{fill:var(--land);stroke:var(--land-edge);stroke-width:.6}
.sec-map .pax{fill:rgba(232,226,212,.09);stroke:rgba(232,226,212,.32);stroke-width:.6;transition:fill .45s ease,stroke .45s ease}
.sec-map .map.paxon .pax{fill:rgba(232,226,212,.22);stroke:rgba(232,226,212,.7)}
.sec-map .tw{fill:none;stroke:var(--cream);stroke-width:.9;stroke-dasharray:2 2}
.sec-map .eu-t{font-family:var(--body);font-style:italic;font-size:14px;fill:var(--muted)}
.sec-map .grat{fill:none;stroke:rgba(232,226,212,.045);stroke-width:.6}
.sec-map .inset-frame{fill:#0A0B12;stroke:rgba(232,226,212,.28);stroke-width:.8}
.sec-map .inset-src{fill:none;stroke:rgba(232,226,212,.28);stroke-width:.7;stroke-dasharray:2 3}
.sec-map .lead{stroke:rgba(232,226,212,.16);stroke-width:.7}
.sec-map .flow{fill:none;stroke-linecap:round;transition:opacity .45s ease,stroke-width .45s ease}
.sec-map .flow.route{stroke:var(--cream);stroke-width:1.6}
.sec-map .flow.input{stroke:var(--muted);stroke-width:1.1;stroke-dasharray:1 5}
.sec-map .flow.cn{stroke:var(--accent);stroke-width:1.6}
.sec-map .flow.busan{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:7 5}
.sec-map .site{transition:opacity .45s ease}
.sec-map .dot{stroke:var(--bg);stroke-width:1.2}
.sec-map .dot.us{fill:var(--cream)}
.sec-map .dot.cn{fill:var(--accent)}
.sec-map .dot.fab{fill:var(--muted);stroke:none}
.sec-map .dot.plan{fill:none;stroke:var(--cream);stroke-width:1.2;stroke-dasharray:2 2}
.sec-map .halo{fill:none;stroke:var(--cream);stroke-width:.8;opacity:0;transition:opacity .45s ease}
.sec-map .halo.cn{stroke:var(--accent)}
.sec-map .on .halo{opacity:.55}
.sec-map .lbl{font-family:var(--display);font-size:13.5px;letter-spacing:.12em;fill:var(--cream)}
.sec-map .lbl.sm{font-size:12px;fill:var(--muted)}
.sec-map .lbl.cn{fill:#D88C79}
.sec-map .cap{font-family:var(--display);font-size:11.5px;letter-spacing:.26em;fill:var(--gray)}
.sec-map .busan-t{font-family:var(--body);font-style:italic;font-size:15px;fill:#D88C79}
.sec-map .legend .sw{fill:rgba(232,226,212,.22);stroke:rgba(232,226,212,.7);stroke-width:.6}
.sec-map .legend .swt{fill:none;stroke:var(--cream);stroke-width:.9;stroke-dasharray:2 2}
.sec-map .legend text{font-family:var(--display);font-size:12px;letter-spacing:.14em;fill:var(--muted)}
.sec-map .map.focus .site,.sec-map .map.focus .flow,.sec-map .map.focus .busan-g{opacity:.14}
.sec-map .map.focus .on{opacity:1}
.sec-map .strip{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sec-map .cell{padding:16px 22px 18px;display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--rule)}
.sec-map .cell:first-child{border-left:0;padding-left:0}
.sec-map .k{font-family:var(--display);font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gray)}
.sec-map .big{font-family:var(--display);font-weight:400;font-size:clamp(40px,4.6vw,70px);line-height:.98;letter-spacing:.04em;color:var(--cream-hi);font-feature-settings:"lnum" 1}
.sec-map .fig-n{font-family:var(--body);font-weight:300;font-size:clamp(34px,3.3vw,52px);line-height:1;color:var(--accent);font-feature-settings:"lnum" 1}
.sec-map .cell p{margin:0;font-size:18px;line-height:1.45;color:var(--cream);max-width:42ch}
@media (max-width:820px){.sec-map .strip{grid-template-columns:1fr}
.sec-map .cell{border-left:0;border-top:1px solid var(--rule);padding-left:0}
.sec-map .cell:first-child{border-top:0}
}.sec-map .foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.sec-map .src{font-size:16.5px;line-height:1.45;color:var(--muted);max-width:90ch}
.sec-map .src a{color:var(--cream);text-decoration:underline;text-decoration-color:var(--dim);text-underline-offset:4px}
.sec-map .src a:hover{color:var(--accent)}
.sec-map .tag{font-family:var(--display);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray)}
.sec-map .nav{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0}
.sec-map .nav button{font-family:var(--display);font-size:15px;color:var(--cream);background:transparent;border:1px solid var(--dim);border-radius:0;padding:6px 13px;cursor:pointer}
.sec-map .nav button:hover{border-color:var(--cream)}
.sec-map .nav button:focus-visible{outline:1px solid var(--cream);outline-offset:3px}
.sec-map .ticks{display:flex;gap:5px;min-width:0;flex:1 1 auto}
.sec-map .tick{width:16px;flex:0 1 16px;min-width:3px;height:2px;background:var(--dim);border:0;padding:0;cursor:pointer}
.sec-map .tick[aria-current="true"]{background:var(--accent)}
.sec-map .chain-wrap{overflow-x:auto;margin-inline:-6px;padding-inline:6px}
.sec-map .chain{display:flex;align-items:stretch;gap:0;min-width:760px}
.sec-map .cstep{flex:1 1 0;display:flex;flex-direction:column;gap:2px;padding:9px 12px 10px;border:1px dashed rgba(232,226,212,.34);background:transparent;cursor:pointer;text-align:left;color:var(--cream);font:inherit;transition:border-color .35s ease,background .35s ease,opacity .35s ease}
.sec-map .cstep .cn-num{font-family:var(--display);font-size:12px;letter-spacing:.18em;color:var(--gray)}
.sec-map .cstep .role{font-family:var(--display);font-weight:500;font-size:17px;letter-spacing:.1em;line-height:1.1}
.sec-map .cstep .where{font-family:var(--body);font-style:italic;font-size:15px;line-height:1.2;color:var(--muted)}
.sec-map .cstep.us{border:1px solid var(--cream);background:rgba(232,226,212,.10)}
.sec-map .cstep.us .where{color:var(--cream)}
.sec-map .cstep.cn{border-color:var(--accent)}
.sec-map .cstep.cn .role,.sec-map .cstep.cn .where{color:#D88C79}
.sec-map .carrow{flex:0 0 18px;display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:14px}
.sec-map .chain.focus .cstep{opacity:.35}
.sec-map .chain.focus .cstep.on{opacity:1;box-shadow:0 0 0 1px var(--cream) inset}
.sec-map .chain.focus .cstep.cn.on{box-shadow:0 0 0 1px var(--accent) inset}
.sec-map .chain-cap{display:flex;justify-content:space-between;gap:12px;font-family:var(--display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-top:6px;min-width:760px}
.sec-map .chain-cap span:nth-child(2){color:var(--muted)}
.sec-map .badge .bdg{fill:var(--bg);stroke:var(--cream);stroke-width:1.1}
.sec-map .badge.cn .bdg{stroke:var(--accent)}
.sec-map .badge text{font-family:var(--display);font-weight:500;font-size:11.5px;fill:var(--cream);letter-spacing:0}
.sec-map .badge.cn text{fill:#D88C79}
.sec-map .callout{opacity:0;transition:opacity .45s ease;pointer-events:none}
.sec-map .map.focus .callout.on{opacity:1}
.sec-map .callout rect{fill:#0B0C13;stroke:var(--accent);stroke-width:1.2}
.sec-map .callout .ct{font-family:var(--display);font-size:12px;letter-spacing:.26em;fill:var(--accent)}
.sec-map .callout .cb{font-family:var(--body);font-size:16.5px;fill:var(--cream)}
.sec-map .callout .cl{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;fill:none}
.sec-map .flow.trip{stroke:var(--accent);stroke-width:1.6;stroke-dasharray:5 4}
.sec-map .trip-t{font-family:var(--body);font-style:italic;font-size:15px;fill:#D88C79}
.sec-map .onlyon{opacity:0!important;transition:opacity .45s ease}
.sec-map .map.focus .onlyon.on{opacity:1!important}
.sec-map .fade{opacity:0}
@media (max-width:560px){.sec-map .ticks{display:none}
}@media (prefers-reduced-motion:reduce){.sec-map h1,.sec-map .site,.sec-map .flow{transition:none}
}

.sec-ctl{
  color-scheme:dark;
  --bg:#08090F;
  --bg2:#0B0D16;
  --cream:#E8E2D4;
  --cream-hi:#F2EDE0;
  --gray:#6B6660;
  --muted:#8C867D;
  --dim:#2A2722;
  --rule:rgba(232,226,212,.12);
  --accent:#B0533F;          
  --accent-soft:rgba(176,83,63,.35);
  --display:"Cormorant SC","Cormorant Garamond",Georgia,serif;
  --body:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}
.sec-ctl *{box-sizing:border-box}
.sec-ctl{background:var(--bg)}
.sec-ctl{color:var(--cream);font-family:var(--body);font-weight:300;font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-inline:clamp(16px,3.2vw,56px);padding-block:24px 30px;font-feature-settings:"onum" 1,"pnum" 1;
  background-image:radial-gradient(ellipse 80% 55% at 50% 38%,var(--bg2) 0%,var(--bg) 70%)}
.sec-ctl ::selection{background:var(--cream);color:var(--bg)}
.sec-ctl .stage{position:relative;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:6px 0 4px}
.sec-ctl .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.sec-ctl .mark{font-family:var(--display);font-weight:500;font-size:.82rem;letter-spacing:.38em;text-transform:uppercase;color:var(--cream-hi)}
.sec-ctl .kick{font-family:var(--display);font-weight:400;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.sec-ctl .kick b{font-weight:500;color:var(--cream)}
.sec-ctl h1{font-family:var(--body);font-weight:300;font-size:clamp(30px,3.7vw,54px);line-height:1.1;letter-spacing:-.005em;margin:6px 0 0;max-width:28ch;text-wrap:balance;min-height:2.25em;transition:opacity .45s ease}
.sec-ctl h1 em{font-style:italic;font-weight:400;color:var(--accent)}
.sec-ctl .fig{overflow-x:auto;margin-inline:-6px}
.sec-ctl svg.stack{display:block;width:100%;min-width:720px;height:auto}
.sec-ctl .col{transition:opacity .45s ease;cursor:pointer}
.sec-ctl .col:focus{outline:none}
.sec-ctl .col:focus-visible .hit{stroke:var(--cream);stroke-width:1}
.sec-ctl .stack.focus .col{opacity:.18}
.sec-ctl .stack.focus .col.on{opacity:1}
.sec-ctl .cword{font-family:var(--display);font-weight:500;font-size:25px;letter-spacing:.1em;fill:var(--cream)}
.sec-ctl .cword.none{fill:var(--muted)}
.sec-ctl .lnum{font-family:var(--display);font-weight:400;font-size:15px;fill:var(--gray);letter-spacing:.24em}
.sec-ctl .lname{font-family:var(--display);font-weight:500;font-size:29px;letter-spacing:.08em;fill:var(--cream)}
.sec-ctl .base{stroke:var(--dim);stroke-width:1}
.sec-ctl .ghost{fill:none;stroke:#3A362F;stroke-width:1;stroke-dasharray:2 5}
.sec-ctl .axis-t{font-family:var(--display);font-size:15px;letter-spacing:.26em;fill:var(--gray)}
.sec-ctl .axis-y{font-family:var(--display);font-size:14px;letter-spacing:.08em;fill:var(--gray)}
.sec-ctl .axis-v{font-family:var(--display);font-size:15px;letter-spacing:.26em;fill:var(--cream)}
.sec-ctl .trace{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}
.sec-ctl .strip{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sec-ctl .cell{padding:16px 22px 18px;display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--rule)}
.sec-ctl .cell:first-child{border-left:0;padding-left:0}
.sec-ctl .k{font-family:var(--display);font-weight:400;font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gray)}
.sec-ctl .big{font-family:var(--display);font-weight:400;font-size:clamp(46px,5.2vw,78px);line-height:.95;letter-spacing:.04em;color:var(--cream-hi);font-feature-settings:"lnum" 1}
.sec-ctl .fig-n{font-family:var(--body);font-weight:300;font-size:clamp(38px,3.6vw,56px);line-height:1;color:var(--accent);font-feature-settings:"lnum" 1}
.sec-ctl .cell p{margin:0;font-size:18px;line-height:1.45;color:var(--cream);max-width:40ch}
@media (max-width:820px){.sec-ctl .strip{grid-template-columns:1fr}
.sec-ctl .cell{border-left:0;border-top:1px solid var(--rule);padding-left:0}
.sec-ctl .cell:first-child{border-top:0}
}.sec-ctl .foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.sec-ctl .src{font-size:16.5px;line-height:1.45;color:var(--muted);max-width:86ch}
.sec-ctl .src a{color:var(--cream);text-decoration:underline;text-decoration-color:var(--dim);text-underline-offset:4px;transition:color .5s ease}
.sec-ctl .src a:hover{color:var(--accent)}
.sec-ctl .tag{font-family:var(--display);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray)}
.sec-ctl .nav{display:flex;align-items:center;gap:10px}
.sec-ctl .nav button{font-family:var(--display);font-size:15px;color:var(--cream);background:transparent;border:1px solid var(--dim);border-radius:0;padding:6px 13px;cursor:pointer;transition:border-color .4s ease,color .4s ease}
.sec-ctl .nav button:hover{border-color:var(--cream)}
.sec-ctl .nav button:focus-visible{outline:1px solid var(--cream);outline-offset:3px}
.sec-ctl .ticks{display:flex;gap:5px;min-width:0;flex:1 1 auto}
.sec-ctl .nav{max-width:100%}
.sec-ctl .tick{width:20px;flex:0 1 20px;min-width:8px;height:2px;background:var(--dim);border:0;padding:0;cursor:pointer}
.sec-ctl .tick[aria-current="true"]{background:var(--accent)}
.sec-ctl .tick:focus-visible{outline:1px solid var(--cream);outline-offset:4px}
.sec-ctl .fade{opacity:0}
@media (prefers-reduced-motion:reduce){.sec-ctl h1,.sec-ctl .col{transition:none}
}
