/* System CJK fonts keep the site readable without external font requests. */
html[lang="ja"]{--font:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif;--display:var(--font);line-break:strict}
html[lang="zh-Hans"]{--font:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--display:var(--font);line-break:strict}
html:is([lang="ja"],[lang="zh-Hans"]) :is(h1,h2,h3){letter-spacing:0;line-height:1.4;word-break:normal;overflow-wrap:break-word}
html:is([lang="ja"],[lang="zh-Hans"]) .hero h1{font-size:clamp(32px,3.6vw,54px);line-height:1.4;letter-spacing:0}
html:is([lang="ja"],[lang="zh-Hans"]) .page-head h1{font-size:clamp(30px,3.8vw,56px)}
html:is([lang="ja"],[lang="zh-Hans"]) .section-title{font-size:clamp(27px,2.8vw,40px);line-height:1.5}
html:is([lang="ja"],[lang="zh-Hans"]) .prose h2{font-size:clamp(23px,2.4vw,32px)}
html:is([lang="ja"],[lang="zh-Hans"]) .news-card h2{font-size:25px}
html:is([lang="ja"],[lang="zh-Hans"]) .global-intro h1{font-size:clamp(34px,4vw,58px)}
html:is([lang="ja"],[lang="zh-Hans"]) .global-panel h2{font-size:29px;line-height:1.5}
html:is([lang="ja"],[lang="zh-Hans"]) :is(.eyebrow,.hero-bottom,.global-kicker,.agent-card-label){letter-spacing:.03em}
html:is([lang="ja"],[lang="zh-Hans"]) :is(.hero p,.intro-body,.prose,.service-row p){line-height:1.9}
html:is([lang="ja"],[lang="zh-Hans"]) :is(.brand-name,.footer-brand,.global-map-signature){font-family:Barlow,"Arial Narrow",sans-serif}
html:is([lang="ja"],[lang="zh-Hans"]) .contact-form .field{min-width:0}
html:is([lang="ja"],[lang="zh-Hans"]) :is(.btn,.section-link){line-height:1.6}
.language-menu{min-width:170px;max-height:calc(100dvh - 100px);overflow:auto}
.language-menu a{min-height:40px;display:flex;align-items:center}
.language-menu a[lang="ja"]{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.language-menu a[lang="zh-Hans"]{font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.footer-bottom{gap:24px}.footer-links{row-gap:6px}
@media(min-width:901px) and (max-width:1180px){
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .header-tools{margin-inline-start:auto}
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .menu-toggle{display:block}
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .main-nav{display:none;position:absolute;inset-inline:0;top:100%;padding:20px 32px 30px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 100px);overflow:auto;font-size:13px}
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .main-nav.is-open{display:block}
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .main-nav>a{display:block;padding:12px 0}
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .nav-services summary{padding:12px 0}
  html:is([lang="fr"],[lang="ja"],[lang="zh-Hans"]) .nav-services .subnav{position:static;box-shadow:none;border:0;background:transparent;padding:0 18px}
}
@media(max-width:600px){
  html:is([lang="ja"],[lang="zh-Hans"]) .language summary{font-size:11px}
  html:is([lang="ja"],[lang="zh-Hans"]) .hero h1{font-size:35px}
  html:is([lang="ja"],[lang="zh-Hans"]) .hero-bottom{font-size:10px;letter-spacing:0}
  html:is([lang="ja"],[lang="zh-Hans"]) .service-row h3{font-size:18px}
  html:is([lang="ja"],[lang="zh-Hans"]) .btn{padding-inline:16px;gap:12px}
}
