/* Language controls follow the site's monochrome editorial vocabulary. */
.language-switch{position:relative;flex:none;color:#111;font:12px/1.5 var(--sans);letter-spacing:0}
.language-switch summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 4px;cursor:pointer;list-style:none;border-radius:2px;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary::marker{content:""}
.language-globe{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.25;flex:none}
.language-chevron{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .18s}
.language-switch[open] .language-chevron{transform:rotate(180deg)}
.language-switch summary:focus-visible,.language-options a:focus-visible{outline:2px solid #111;outline-offset:3px}
.language-options{position:absolute;z-index:150;top:calc(100% + 12px);right:0;width:220px;max-width:calc(100vw - 40px);padding:13px;background:#fff;border:1px solid #dedede;box-shadow:0 12px 30px #0000000b}
.language-options p{padding:6px 12px 10px;color:#666;font-size:10px;letter-spacing:.08em;border-bottom:1px solid #eee;margin-bottom:5px}
.language-options a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;min-height:44px;color:#222;text-decoration:none;font-size:13px;line-height:1.4;white-space:normal}
.language-options a:hover,.language-options a[aria-current]{background:#f5f5f3}
.language-options a[aria-current]::after{content:"✓";font-size:12px}
.site-header .header-inner{gap:clamp(12px,1.5vw,24px)}
.site-header .header-inner .desktop-nav{gap:clamp(15px,2vw,30px)}
html:not([lang="ja"]) {--type-reading:1.8;--type-tracking:0}
html[data-script="latin"] {--sans:InterVariable,Arial,sans-serif;--product-sans:var(--sans)}
html[lang="zh-CN"] {--ja:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--sans:InterVariable,var(--ja);--product-sans:var(--sans)}
html[lang="zh-TW"] {--ja:"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif;--sans:InterVariable,var(--ja);--product-sans:var(--sans)}
html[lang="ko"] {--ja:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif;--sans:InterVariable,var(--ja);--product-sans:var(--sans)}
html:not([lang="ja"]) body{letter-spacing:0;line-break:auto}
html[lang="ko"] body{word-break:keep-all;overflow-wrap:break-word}
html:not([lang="ja"]) :is(h1,h2,h3,h4,h5,p,li,dd,a,button){overflow-wrap:break-word}
html[data-script="latin"] :is(h1,h2,h3){letter-spacing:-.025em;font-feature-settings:normal;line-height:1.25;text-wrap:balance}
html[data-script="latin"] :is(.page-hero h1,.product-hero h1,.radio-program-copy h1,.directory-heading h1,.company-about h1,.ip-page .ip-cover-heading h1){font-size:clamp(36px,4.2vw,64px);line-height:1.18}
html[data-script="latin"] :is(.feature-copy h2,.company-manifesto h2,.purpose-title,.story-copy h3,.ip-page h2){line-height:1.3}
html[data-script="latin"] :is(.lead,.radio-person-bio,.company-origin-copy,.news-article-body){line-height:1.8;hyphens:auto}
html:not([lang="ja"]) .purpose-word{white-space:normal;font-size:clamp(24px,4vw,58px)}
html:not([lang="ja"]) .culture-grid strong{font-size:clamp(12px,1.1vw,16px);line-height:1.5}
html:not([lang="ja"]) .ip-craft-name{line-height:1.5}
html:not([lang="ja"]) :is(.ip-cover-copy,.radio-program-links,.audience-subnav-inner){flex-wrap:wrap}
html:not([lang="ja"]) .ip-copy-keyword{white-space:normal}
html:not([lang="ja"]) :is(.ip-section-nav a,.audience-subnav a){white-space:normal;line-height:1.5;padding-block:16px}
html:not([lang="ja"]) .ip-story-pillars h2{font-size:20px;line-height:1.4}
html:not([lang="ja"]) .radio-schedule-date{font-size:clamp(17px,1.65vw,24px);line-height:1.5}
html:not([lang="ja"]) .radio-person-credential{line-height:1.7}
html:not([lang="ja"]) .company-origin-credential{line-height:1.65}
html[data-script="latin"] .spatial-statement h1{font-size:clamp(29px,3.5vw,52px);line-height:1.25}
html[data-script="latin"] .ip-title-line{overflow:visible}
html:not([lang="ja"]) .menu-primary a{font-size:clamp(20px,4.8vw,36px);line-height:1.4}
@media(max-width:1200px){
 html:not([lang="ja"]) .has-js .desktop-nav{display:none}
 html:not([lang="ja"]) .has-js .menu-toggle{display:flex}
 html:not([lang="ja"]) .language-switch{margin-left:auto}
 html:not([lang="ja"]) .scene-motion{margin-left:0}
}
@media(max-width:900px){.language-switch{margin-left:auto}.scene-motion{margin-left:0}}
@media(max-width:600px){
 .site-header .header-inner{gap:11px}.language-switch summary{gap:5px;padding-inline:0}.language-chevron{display:none}
 .scene-motion .motion-label{display:none}.scene-motion{padding:0;min-width:28px}
 .language-options{right:-45px;top:calc(100% + 10px)}
 html[data-script="latin"] :is(.page-hero h1,.product-hero h1,.radio-program-copy h1,.directory-heading h1,.company-about h1,.ip-page .ip-cover-heading h1){font-size:clamp(32px,8.6vw,46px)}
 html[data-script="latin"] .spatial-statement h1{font-size:clamp(26px,7.2vw,36px)}
 html:not([lang="ja"]) .ip-story-pillars h2{font-size:20px}
 html[data-script="latin"] .purpose-word{font-size:clamp(18px,5vw,29px)}
 html:not([lang="ja"]) .company-origin-signature{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.language-chevron{transition:none}}
@media print{.language-switch{display:none}}
html:not([lang="ja"]) .culture-more-visual>p{white-space:normal;text-align:center;padding-inline:12px;line-height:1.6}
html:not([lang="ja"]) .business-index strong{white-space:normal}
html[data-script="latin"] .detail-scroll :is(dt,dd,p){hyphens:auto}
html[data-script="latin"] .radio-person-bio p{line-height:1.85}
html[data-script="latin"] .ip-pillar-description{line-height:1.85}
.language-options a:lang(zh-CN){font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.language-options a:lang(zh-TW){font-family:"PingFang TC","Microsoft JhengHei",sans-serif}
.language-options{max-height:calc(100vh - 108px);max-height:calc(100dvh - 108px);overflow-y:auto;overscroll-behavior:contain}
.language-options a:lang(ko){font-family:"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.language-options a:lang(ja){font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
@media(max-width:760px){
 html[data-script="latin"] .spatial-resolution>p{font-size:clamp(20px,5.4vw,26px);line-height:1.3;letter-spacing:-.02em;margin-top:10px;text-wrap:balance}
}
@media(max-width:760px) and (max-height:740px){
 html:not([lang="ja"]) .archive-destination{top:60%;width:min(255px,calc(var(--stage-height) * .285))}
}
