/* Shared controls follow each page's existing navigation palette. */
.site-header:has(.language-picker){gap:clamp(14px,2vw,36px)}
.language-picker{position:relative;flex:none;color:var(--nav-ink);font:500 11px/1.4 Pretendard,Arial,sans-serif;letter-spacing:.04em}
.language-picker>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-width:64px;min-height:44px;padding:8px 10px;border:1px solid var(--nav-line);border-radius:999px;list-style:none;cursor:pointer;transition:color .2s,border-color .2s}
.language-picker>summary::-webkit-details-marker{display:none}
.language-picker>summary::marker{content:''}
.language-picker[open]>summary,.language-picker>summary:hover{color:var(--nav-accent);border-color:var(--nav-accent)}
.language-picker svg{width:18px;height:18px;flex:none}
.language-options{position:absolute;right:0;top:calc(100% + 10px);width:174px;padding:7px;background:var(--nav-bg);border:1px solid var(--nav-line);border-radius:12px;box-shadow:0 10px 24px #17223915}
.language-options a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;padding:10px 12px;border-radius:6px;font-size:13px;letter-spacing:0}
.language-options a[aria-current],.language-options a:hover{color:var(--nav-accent);background:color-mix(in srgb,var(--nav-accent) 8%,var(--nav-bg))}
.language-options a>span{font-size:12px}
html[data-localized] body{word-break:normal;overflow-wrap:break-word}
html[lang=ja] body{font-family:Pretendard,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-break:strict}
html[lang=zh-Hans] body{font-family:Pretendard,'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif}
html[data-localized] :is(h1,h2,h3){overflow-wrap:normal;word-break:normal!important}
html:is([lang=ja],[lang=zh-Hans]) :is(p,li,summary,label,button,a){word-break:normal!important;overflow-wrap:anywhere}
html[data-localized] .inquiry-dialog h2{font-size:clamp(27px,3vw,46px);line-height:1.16}
html[data-localized] .service-picker label>span{white-space:normal}
html[data-localized] .inquiry-ready pre{white-space:pre-wrap;overflow-wrap:anywhere}
/* The Korean headline is artwork. Keep its festival scene and use real,
   translated lettering in the same space instead of showing Korean to readers. */
html[data-localized] .cm-lettering>img{visibility:hidden}
html[data-localized] .cm-lettering>.cm-sr{position:absolute!important;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;overflow:visible;clip:auto;white-space:pre-line;text-align:center;font-size:clamp(24px,5.1vw,82px);font-weight:900;line-height:1.08;letter-spacing:-.055em;transform:rotate(-3deg)}
html[lang=ja] .cm-lettering>.cm-sr,html[lang=zh-Hans] .cm-lettering>.cm-sr{font-size:clamp(27px,6.3vw,100px);letter-spacing:-.04em}
@media(min-width:761px) and (max-width:1280px){.site-header:has(.language-picker) .header-location{display:none}.site-header:has(.language-picker) .desktop-nav{gap:17px}}
@media(max-width:760px){
 .site-header:has(.language-picker){gap:12px}
 .site-header .language-picker{margin-left:auto}
 .site-header .language-picker>summary{min-width:58px;min-height:40px;padding:7px 8px}
 .site-header:has(.language-picker) .menu-toggle{margin-left:0;flex:none}
 html[data-localized] .mobile-menu>button{white-space:normal;text-align:left}
 html[data-localized] .mobile-menu .nav-services>summary,html[data-localized] .mobile-menu>a{font-size:24px}
}
@media(max-width:370px){.site-header:has(.language-picker){gap:8px}.site-header .language-picker>summary{min-width:48px;gap:4px;padding:6px}.site-header .language-picker svg{width:16px}}
@media(prefers-reduced-motion:reduce){.language-picker>summary{transition:none}}
