/* Bilingual navigation and English typography. */
.language-switcher{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;width:108px;height:44px;padding:0;border:0;background:transparent;color:#18384a;font:14px/1.2 'Yu Mincho','Hiragino Mincho ProN',serif;white-space:nowrap;flex-shrink:0}
.language-switcher::before{content:'';position:absolute;left:50%;top:15px;width:1px;height:14px;background:#a0814380;pointer-events:none}
.language-switcher a{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:0;text-decoration:none;color:#52646d;letter-spacing:.06em;transition:color .2s ease}
.language-switcher a[lang=en]{font-family:Georgia,'Times New Roman',serif;letter-spacing:.1em}
.language-switcher a::after{content:'';position:absolute;bottom:5px;left:50%;width:22px;height:1px;background:#a08143;transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .2s ease}
.language-switcher a[lang=ja]::after{width:34px}
.language-switcher a[aria-current]{color:#18384a}
.language-switcher a[aria-current]::after{transform:translateX(-50%) scaleX(1)}
.language-switcher a:hover{color:#87692f}
.language-switcher a:focus-visible{outline:1px solid #18384a;outline-offset:2px}
.portal .language-switcher{text-shadow:0 1px 8px #ffffffc0}
@media(prefers-reduced-motion:reduce){.language-switcher a,.language-switcher a::after{transition:none}}
body .header{gap:24px}body .header .wordmark{margin-right:auto}body .header>nav{gap:25px}
.portal>header{display:flex;align-items:center;justify-content:space-between;gap:20px}
html[lang=en] body{font-family:Georgia,'Times New Roman',serif;line-height:1.85}
html[lang=en] :is(h1,h2,h3,.eyebrow,.hero-lead,.hero-sub,.definition>p,.future-close,.intro p){letter-spacing:.015em}
html[lang=en] :is(.hero h1,.hcr-hero h1){font-size:clamp(36px,4.2vw,60px);line-height:1.23}
html[lang=en] :is(.section h2,.future h2,.team-heading h2){line-height:1.45}
html[lang=en] .hero-copy{max-width:650px}
html[lang=en] .immersive .hero .eyebrow-copy{white-space:normal}
html[lang=en] .hero-lead{line-height:1.75}
html[lang=en] .principles article{padding-left:0}
html[lang=en] .principles h3{position:static;margin-bottom:14px}
html[lang=en] .science-image figcaption>span{writing-mode:horizontal-tb;min-height:0;line-height:1.6}
html[lang=en] .company-info>div{gap:18px;grid-template-columns:135px minmax(0,1fr)}
html[lang=en] .company-intro h1{letter-spacing:.025em}
html[lang=en] .company-profile dl>div{grid-template-columns:155px minmax(0,1fr)}
html[lang=en] .member-title h3{font-family:var(--serif)}
html[lang=en] .intro p{max-width:750px;line-height:1.6}
html[lang=en] .hcr-hero-copy{max-width:780px}
html[lang=en] .section-heading{padding-right:35px}
html[lang=en] .contact-intro{padding-right:40px}
html[lang=en] :is(.eyebrow,.research-note,.principle-question,.definition>span,.cycle p,.contact-note){font-size:14px}
@media(min-width:761px) and (max-width:1000px){body .header{gap:14px;padding-inline:4%}body .header .wordmark>span{font-size:23px}body .header>nav{gap:17px}}
@media(max-width:760px){
 body .header{height:110px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 26px;gap:4px 10px;padding:14px 6% 12px}
 body .header .wordmark{grid-column:1;grid-row:1;margin:0}
 body .header .wordmark>span{font-size:20px;letter-spacing:.07em}
 body .header>.language-switcher{grid-column:2;grid-row:1}
 body .header .menu{grid-column:2;grid-row:2;justify-self:end;padding:0;min-height:26px;font-size:14px}
 body .header>nav{display:none}
 body .mobile-nav{top:110px}
 .portal>header{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .portal .brand{font-size:24px;letter-spacing:.1em}
 .language-switcher{width:104px;font-size:14px}
 html[lang=en] :is(.hero h1,.hcr-hero h1){font-size:clamp(34px,8vw,44px);line-height:1.28}
 html[lang=en] .immersive .hero .eyebrow{font-size:18px;line-height:1.55}
 html[lang=en] .section-heading{padding-right:0}
 html[lang=en] .company-profile dl>div{grid-template-columns:1fr}
 html[lang=en] .company-info>div{grid-template-columns:1fr;gap:3px}
 html[lang=en] .contact-intro{padding-right:0}
 html[lang=en] .hero-copy{max-width:100%}
 html[lang=en] .science-image figcaption>span{font-size:20px}
 html[lang=en] .company-intro{padding-top:155px}
 .hcr-hero{padding-top:155px}
}
@media(max-width:350px){body .header .wordmark>span{font-size:18px}.portal>header .brand{font-size:22px}}
@media(max-width:760px){
 .immersive .header,.hcr-page .header,.company-page .header{height:110px}
}
.portal>header .language-switcher{margin-left:auto}
@media(max-width:350px){.portal>header{gap:8px}.portal>header .brand{font-size:20px}}
@media(max-width:350px){.language-switcher{width:96px}}
