/* Language selector: globe, current language and a disclosure list. No flags: a flag is not a language. */
.header-utility {position:relative}
.language-switch {flex-shrink:0}
.language-trigger {display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;list-style:none;user-select:none}
.language-trigger::-webkit-details-marker {display:none}
.language-trigger::marker {content:''}
.language-trigger .lucide {width:18px;height:18px}
.language-trigger:hover,.language-menu[open] > .language-trigger {border-color:var(--forest);color:var(--forest)}
.language-menu[open] .language-caret {transform:rotate(180deg)}
.language-code {display:none}
.language-menu:not([open]) .language-list {display:none}
.language-list {position:absolute;top:calc(100% + 8px);right:0;z-index:120;display:grid;width:max-content;min-width:min(220px,calc(100vw - 32px));max-width:min(300px,calc(100vw - 32px));max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:2px;background:#fff;box-shadow:0 14px 28px #142a211f}
.language-list a {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;border-radius:2px;font-size:15px;font-weight:500;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
.language-list a:hover {background:var(--mint);color:var(--forest)}
.language-list a[aria-current] {font-weight:700;color:var(--forest)}
.language-list a[aria-current]::after {content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--forest)}
.language-list a:focus-visible {outline:3px solid var(--cyan);outline-offset:-3px}
@media(min-width:1200px) and (max-width:1439px),(max-width:639px) {
  .language-name {display:none}
  .language-code {display:inline}
}
.site-nav .mobile-request-link {display:none}

/* Non-Korean UIs: Korean keep-all breaking would stop CJK/Thai lines from wrapping. */
html:not([lang="ko"]) body {word-break:normal}
html:lang(ja) body {line-break:strict}
html:not([lang="ko"]) :is(h1,h2,h3,.cms-title-button,.footer-links a,.next-list strong) {overflow-wrap:anywhere}
html:is(:lang(de),:lang(fr),:lang(it),:lang(id),:lang(vi)) :is(h1,h2,h3) {hyphens:auto}
html:is(:lang(th),:lang(vi)) :is(h1,h2,h3,h4) {line-height:1.4}
html:not([lang="ko"]) .text-link {white-space:normal}
html:not([lang="ko"]) .product-table td::before {overflow-wrap:anywhere}

/* Existing stack first, then sans-serif fallbacks for each script (no web font download). */
html:lang(ja) :is(body,button,input,select,textarea) {font-family:"Pretendard Variable",Pretendard,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans JP","Noto Sans CJK JP","Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif}
html:lang(zh-CN) :is(body,button,input,select,textarea) {font-family:"Pretendard Variable",Pretendard,"PingFang SC","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif}
html:lang(zh-TW) :is(body,button,input,select,textarea) {font-family:"Pretendard Variable",Pretendard,"PingFang TC","Microsoft JhengHei","Noto Sans TC","Noto Sans CJK TC","Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif}
html:lang(th) :is(body,button,input,select,textarea) {font-family:"Pretendard Variable",Pretendard,"Leelawadee UI",Thonburi,"Noto Sans Thai",Tahoma,"Malgun Gothic",Arial,sans-serif}
html:lang(vi) :is(body,button,input,select,textarea) {font-family:"Pretendard Variable",Pretendard,"Segoe UI","Noto Sans",Arial,"Malgun Gothic",sans-serif}
.language-list a[lang="ja"] {font-family:"Hiragino Sans","Yu Gothic UI",Meiryo,"Noto Sans JP",sans-serif}
.language-list a[lang="zh-CN"] {font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}
.language-list a[lang="zh-TW"] {font-family:"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif}
.language-list a[lang="th"] {font-family:"Leelawadee UI",Thonburi,"Noto Sans Thai",Tahoma,sans-serif}

html:not([lang="ko"]) .hero h1 {font-size:64px;line-height:1.08}
html:not([lang="ko"]) .hero-title-ko {font-size:36px}
html:not([lang="ko"]) .hero-lede {max-width:590px}
@media(min-width:1200px) and (max-width:1599px) {
  .header-inner {gap:20px}
  .brand img {width:186px}
  .site-nav {gap:19px;font-size:14px}
  .header-request {padding:0 12px;font-size:14px}
}
@media(max-width:1199px) {
  html:not([lang="ko"]) .header-inner {height:72px;gap:16px}
  html:not([lang="ko"]) .header-utility {margin-left:auto}
  html:not([lang="ko"]) .menu-button {display:grid;place-items:center}
  html:not([lang="ko"]) .site-nav {display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:16px var(--gutter);background:#fff;border-bottom:1px solid #dce4df;box-shadow:0 14px 20px #142a2110;flex-direction:column;gap:0;max-height:calc(100dvh - 72px);overflow:auto}
  html:not([lang="ko"]) .site-nav.is-open {display:flex}
  html:not([lang="ko"]) .site-nav a {height:auto;min-height:48px;padding:12px 0;white-space:normal}
}
@media(max-width:767px) {
  .header-utility {gap:6px}
  .header-request {display:none}
  .site-nav .mobile-request-link {display:flex;color:#174c3a;font-weight:600}
  .language-trigger {padding:0 8px;gap:4px}
  html:not([lang="ko"]) .hero h1 {font-size:38px}
  html:not([lang="ko"]) .hero-title-ko {font-size:26px}
  html:not([lang="ko"]) .hero-actions .button {padding-left:14px;padding-right:14px;gap:8px;font-size:14px;white-space:nowrap}
  html:not([lang="ko"]) .page-heading h1 {font-size:36px}
}
@media(max-width:389px) {
  .header-inner {gap:6px}
  .header-utility {gap:2px}
  .language-trigger {padding:0 6px}
  html:not([lang="ko"]) .hero h1 {font-size:34px}
  html:not([lang="ko"]) .page-heading h1 {font-size:32px}
}
