/* 언어 전환 링크 + 언어별 조판 보정(영·일·중). 한국어 원본은 조판을 건드리지 않는다. */
.lang{display:inline-flex;align-items:center;gap:2px;margin-right:6px;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px}
.lang a{color:var(--gray);text-decoration:none;padding:4px 9px;border-radius:999px;line-height:1;white-space:nowrap}
.lang a:hover{color:var(--ink)}
.lang a[aria-current]{background:var(--ink);color:#fff}
#mobile-nav .lang{margin:14px 0 0;align-self:flex-start}
@media(max-width:760px){header>.lang,header nav>.lang{display:none}}

html:lang(en) h1,html:lang(en) h2,html:lang(en) h3,
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,
html:lang(zh-CN) h1,html:lang(zh-CN) h2,html:lang(zh-CN) h3{word-break:normal;overflow-wrap:break-word}
html:lang(en) .hero h1{font-size:clamp(46px,5.2vw,92px);letter-spacing:-.035em;line-height:1.1}
html:lang(en) h2{letter-spacing:-.03em}
html:lang(en) .hero-copy>p{max-width:640px}
html:lang(ja) body,html:lang(zh-CN) body{font-family:'Pretendard Variable','Pretendard','Hiragino Sans','Yu Gothic','Noto Sans JP','Microsoft YaHei','PingFang SC','Noto Sans SC',sans-serif}
html:lang(ja) *,html:lang(zh-CN) *{letter-spacing:0!important;word-break:normal!important;line-break:strict}
html:lang(ja) .hero h1,html:lang(zh-CN) .hero h1{font-size:clamp(44px,5vw,88px);line-height:1.2}
html:lang(ja) h2,html:lang(zh-CN) h2{line-height:1.3}
@media(max-width:760px){
  html:lang(en) .hero h1{font-size:40px}
  html:lang(ja) .hero h1,html:lang(zh-CN) .hero h1{font-size:38px}
}

/* 영·일·중은 메뉴 문구가 길어 헤더가 일찍 찬다 — 모바일 헤더로 넘어가는 경계를 1000px 로 올린다. */
html:not(:lang(ko)) header nav,html:not(:lang(ko)) header nav a,html:not(:lang(ko)) .button{white-space:nowrap}
@media(max-width:1000px){
  html:not(:lang(ko)) header nav>a:not(.button),html:not(:lang(ko)) header nav .button,html:not(:lang(ko)) header nav>.lang{display:none}
  html:not(:lang(ko)) .mobile-menu{display:block;border:1px solid var(--line);border-radius:25px;padding:9px 18px;background:white;font-size:13px;white-space:nowrap}
  html:not(:lang(ko)) #mobile-nav{position:sticky;top:80px;z-index:49;background:white;padding:18px 6vw;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;font-size:14px;border-bottom:1px solid var(--line)}
  html:not(:lang(ko)) #mobile-nav[hidden]{display:none}
  html:not(:lang(ko)) #mobile-nav a{display:block}
}

/* 외톨이 글자 방지 — 제목은 균형 있게, 본문은 마지막 줄이 한 글자로 남지 않게 */
html:not(:lang(ko)) h1,html:not(:lang(ko)) h2,html:not(:lang(ko)) h3{text-wrap:balance}
html:not(:lang(ko)) p,html:not(:lang(ko)) li span,html:not(:lang(ko)) summary{text-wrap:pretty}

/* 제목 열이 좁아 한 글자씩 꺾이지 않게 — 영·일·중은 제목이 길어 열 비율과 글자 크기를 조정한다. */
html:not(:lang(ko)) .section-head,html:not(:lang(ko)) .impact-head{gap:32px}
html:not(:lang(ko)) .section-head>div,html:not(:lang(ko)) .impact-head>div{flex:1 1 54%;min-width:0}
html:not(:lang(ko)) .section-head>p,html:not(:lang(ko)) .impact-head>p{flex:1 1 38%;min-width:0}
html:lang(en) h2{font-size:clamp(32px,3.8vw,62px)}
html:lang(ja) h2,html:lang(zh-CN) h2{font-size:clamp(30px,3.5vw,58px)}
html:not(:lang(ko)) .finale h2{font-size:clamp(46px,6vw,96px)}
@media(max-width:1000px){
  html:not(:lang(ko)) .section-head,html:not(:lang(ko)) .impact-head{display:block}
  html:not(:lang(ko)) .section-head>p,html:not(:lang(ko)) .impact-head>p{margin-top:18px}
}
