/* Shared language choice, with no external fonts or translation service. */
.language-bar{position:relative;z-index:50;background:#edf2f6;border-bottom:1px solid #dbe3e9;color:#355d7d}
.language-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.language-prompt{font-size:12px;line-height:1.5}
.language-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}
.language-switch{position:relative;font-size:12px}
.language-switch summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 5px;cursor:pointer;list-style:none;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-chevron{font-size:17px;margin-left:6px}
.language-options{position:absolute;top:calc(100% + 4px);right:0;width:220px;padding:8px;background:#fff;border:1px solid #dbe3e9;border-radius:16px;box-shadow:0 16px 40px #172b4026}
.language-options a{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:9px;font-size:15px;color:#1c242b}
.language-options a:hover,.language-options a[aria-current]{background:#edf2f6;color:#355d7d}
.language-english{min-height:44px;display:flex;align-items:center;gap:8px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
html:lang(th) body{font-family:Tahoma,"Thonburi","Noto Sans Thai",Arial,sans-serif}
html:lang(ja) body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
html:lang(zh-Hant) body{font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif}
html:not(:lang(en)) :is(h1,h2,h3,.why-punchline,.why-decision p,.cost-board-result p){letter-spacing:0;line-height:1.35}
html:not(:lang(en)) :is(.eyebrow,.decision-label,.service-phase,.footer-label,.cost-board-head span:last-child){letter-spacing:.04em;text-transform:none}
html:lang(th) :is(.why-heading h1,.story-heading h1){font-size:clamp(34px,5.2vw,74px)}
html:lang(th) :is(.why-heading h2,.story-heading h2){font-size:clamp(30px,4.5vw,64px)}
html:lang(th) :is(.why-lead,.story-lead,.lead){line-height:1.9}
html:lang(th) :is(.nav a,.why-nav-brand span,.why-motion,.story-motion){line-height:1.5}
html:lang(ja) :is(.why-heading h1,.story-heading h1),html:lang(zh-Hant) :is(.why-heading h1,.story-heading h1){font-size:clamp(33px,4.8vw,68px)}
html:not(:lang(en)) :is(.why-heading h2,.story-heading h2){font-size:clamp(30px,4.2vw,60px)}
html:not(:lang(en)) .nav{gap:20px}
html:not(:lang(en)) .nav a{font-size:12px;white-space:nowrap}
html:not(:lang(en)) .policy{line-height:2}
html:not(:lang(en)) .why-options{height:440px}
html:not(:lang(en)) .why-option{font-size:14px;padding:17px 19px}
html:not(:lang(en)) .decision-inputs span,html:not(:lang(en)) .decision-output span{line-height:1.5}
html:not(:lang(en)) :is(.button,.text-link){line-height:1.6}
@media(max-width:1100px){html:not(:lang(en)) .nav{gap:13px}html:not(:lang(en)) .header-inner{gap:18px}}
@media(max-width:960px){html:not(:lang(en)) .nav a{font-size:13px}html:not(:lang(en)) .header-inner{gap:0}}
@media(max-width:600px){
 .language-inner{gap:10px;min-height:48px}.language-prompt{font-size:11px;max-width:135px}.language-actions{gap:12px}.language-switch summary{gap:6px}.language-options{width:190px;right:-4px}
 html:not(:lang(en)) .why-photo figcaption{left:24px;bottom:26px;right:20px}
 html:not(:lang(en)) .why-photo figcaption strong{font-size:clamp(19px,5.4vw,28px);letter-spacing:0;line-height:1.45}
 html:not(:lang(en)) .why-photo figcaption span{font-size:12px;line-height:1.6}
 html:not(:lang(en)) .why-nav-brand span,html:not(:lang(en)) .story-nav-brand span{display:none}
 html:not(:lang(en)) .why-nav-actions,html:not(:lang(en)) .story-nav-actions{gap:12px}
 html:not(:lang(en)) .why-options{height:auto}
 html:not(:lang(en)) .why-option{white-space:normal;min-width:0}
 html:not(:lang(en)) .page-hero h1{font-size:clamp(30px,7.9vw,46px)}
 html:not(:lang(en)) :is(.hero h1,.why-heading h1,.story-heading h1){overflow-wrap:anywhere}
}
@media(orientation:landscape) and (max-height:600px){
 .language-inner{min-height:44px}.language-prompt{font-size:11px}
 html:not(:lang(en)) body .site-header .nav{gap:2px}
 html:not(:lang(en)) body .site-header .nav a{white-space:normal;font-size:11px}
 html:not(:lang(en)) body .site-header .brand-name{display:none}
}
