/* Language switcher + per-language typography. */
.lang-switch{display:inline-flex;align-items:center;gap:2px;margin-left:6px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff}
.lang-switch a{padding:4px 10px;border-radius:999px;font-size:.78rem!important;font-weight:600;line-height:1.4;color:var(--muted)!important;text-decoration:none;white-space:nowrap}
.lang-switch a:hover{color:var(--ink)!important}
.lang-switch a[aria-current="true"]{background:var(--ink);color:#fff!important}
@media(max-width:820px){.lang-switch{align-self:flex-start;margin:4px 0 0}}

/* CJK: system sans for headings (Source Serif has no CJK glyphs), no tracking/uppercase. */
html[lang="zh-CN"]{--cjk-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC","WenQuanYi Micro Hei",sans-serif}
html[lang="ja"]{--cjk-sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif}
html[lang="zh-CN"],html[lang="ja"]{--serif:"Inter Variable",Inter,var(--cjk-sans);--sans:"Inter Variable",Inter,var(--cjk-sans);line-break:strict}
html[lang="zh-CN"] body,html[lang="ja"] body{line-height:1.8}
html[lang="zh-CN"] h1,html[lang="zh-CN"] h2,html[lang="zh-CN"] h3,html[lang="zh-CN"] h4,
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] h4{letter-spacing:0;font-weight:700;line-height:1.3}
html[lang="zh-CN"] .kicker,html[lang="zh-CN"] .eyebrow,html[lang="zh-CN"] .next-steps-label,html[lang="zh-CN"] .entry-plan-output span,
html[lang="ja"] .kicker,html[lang="ja"] .eyebrow,html[lang="ja"] .next-steps-label,html[lang="ja"] .entry-plan-output span{letter-spacing:.04em;text-transform:none}
html[lang="ja"] h1,html[lang="ja"] .page-hero h1{word-break:keep-all;overflow-wrap:anywhere}
/* Long-string safety: never force one line outside English. */
html:not([lang="en"]) .next-steps-links a,html:not([lang="en"]) .experience-collection-intro h2{white-space:normal!important}
html[lang="fr"] h1,html[lang="fr"] .page-hero h1{hyphens:auto;overflow-wrap:break-word}
html[lang="fr"] .nav a{font-size:.85rem}
/* CJK headline sizing: ideographs read larger than Latin at the same size. */
html[lang="zh-CN"] main h1,html[lang="ja"] main h1{font-size:clamp(2.2rem,4.6vw,3.5rem)!important;max-width:none}
html[lang="zh-CN"] main h2,html[lang="ja"] main h2{font-size:clamp(1.55rem,3vw,2.3rem)!important}
html[lang="zh-CN"] main h3,html[lang="ja"] main h3{font-size:clamp(1.1rem,1.8vw,1.3rem)}
html[lang="zh-CN"] main :is(h1,h2,h3),html[lang="ja"] main :is(h1,h2,h3){text-wrap:balance}
html[lang="zh-CN"] main p,html[lang="ja"] main p,html[lang="zh-CN"] main li,html[lang="ja"] main li{text-wrap:pretty}
html[lang="zh-CN"] .hero-copy h1,html[lang="ja"] .hero-copy h1{max-width:11em}
html[lang="zh-CN"] .faq-list .article h2,html[lang="ja"] .faq-list .article h2{font-size:1.08rem!important}
