/* Chinese uses its own rhythm, without squeezing English display typography into CJK. */
html[lang="zh-CN"] :is(body,.ogc-section,.ogt-section) { font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif; }
html[lang="zh-CN"] :is(h1,h2,h3,p,strong,button,a,label,li,figcaption) { letter-spacing:0; }
html[lang="zh-CN"] :is(button,input,select,textarea,.fh-button) { font-family:inherit; }
html[lang="zh-CN"] .i18n-phrase { white-space:nowrap; }
html[lang="zh-CN"] :is(h1,h2,h3) { line-height:1.3; font-weight:600; text-wrap:balance; }
html[lang="zh-CN"] .fh-copy h1 { font-size:clamp(52px,5.1vw,72px); line-height:1.28; }
html[lang="zh-CN"] .fh-copy p { font-size:21px; line-height:1.75; margin:24px auto 28px; }
html[lang="zh-CN"] .fh-flow-wrap { margin-top:-22px; }
html[lang="zh-CN"] .fh-scene h2 { font-size:27px; line-height:1.35; margin-bottom:16px; }
html[lang="zh-CN"] .fh-scene p { line-height:1.65; }
html[lang="zh-CN"] .fh-capture-copy p { line-height:1.8; }
html[lang="zh-CN"] .fh-scope-name figcaption { min-height:43px; }
html[lang="zh-CN"] .ogc-copy h2 { font-size:clamp(36px,3.35vw,48px); line-height:1.32; }
html[lang="zh-CN"] .ogc-copy>p { line-height:1.8; font-size:20px; max-width:28em; }
html[lang="zh-CN"] .ogc-copy>.ogc-metric-note { font-size:14px; line-height:1.65; }
html[lang="zh-CN"] .ogc-stat>span { font-size:16px; line-height:1.6; }
html[lang="zh-CN"] .ogc-principles>span { font-size:17px; line-height:1.65; }
html[lang="zh-CN"] .ogt-story h2 { font-size:clamp(36px,3.5vw,50px); line-height:1.35; }
html[lang="zh-CN"] .ogt-lead { font-size:20px; line-height:1.85; max-width:28em; }
html[lang="zh-CN"] .ogt-discipline h3 { font-size:25px; line-height:1.4; }
html[lang="zh-CN"] .ogt-discipline strong { font-size:18px; line-height:1.75; }
html[lang="zh-CN"] .ogt-discipline p { font-size:19px; line-height:1.85; }
html[lang="zh-CN"] :is(.wf-heading h2,.rv-copy h2,.report-heading h2,.scenario-head h2,.contact-intro h2) { font-size:clamp(34px,3.5vw,49px); line-height:1.35; }
html[lang="zh-CN"] :is(.wf-heading>p,.rv-copy>p,.report-heading>p,.scenario-head>p,.contact-intro>p) { line-height:1.8; }
html[lang="zh-CN"] .wf-copy h3 { font-size:29px; line-height:1.4; }
html[lang="zh-CN"] .wf-copy>p { font-size:20px; line-height:1.8; }
html[lang="zh-CN"] .rv-points li,html[lang="zh-CN"] .scenario p { line-height:1.8; }
html[lang="zh-CN"] .form-heading { gap:16px; }
html[lang="zh-CN"] .contact-intro>p { text-wrap:balance; }
html[lang="zh-CN"] .report-capability>span { line-height:1.7; }
@media(max-width:1100px) and (min-width:761px) {
  html[lang="zh-CN"] .fh-copy h1 { font-size:58px; }
  html[lang="zh-CN"] .ogc-copy h2 { font-size:36px; }
  html[lang="zh-CN"] .ogc-copy>p { font-size:19px; }
}
@media(max-width:760px) {
  html[lang="zh-CN"] .fh-copy h1 { font-size:clamp(34px,8.7vw,52px); line-height:1.34; }
  html[lang="zh-CN"] .fh-copy p { font-size:17px; line-height:1.85; max-width:24em; margin:18px auto 24px; text-wrap:balance; }
  html[lang="zh-CN"] .fh-flow-wrap { margin-top:20px; }
  html[lang="zh-CN"] .fh-scene h2 { font-size:23px; line-height:1.4; margin-bottom:12px; }
  html[lang="zh-CN"] .fh-preparation p { line-height:1.6; }
  html[lang="zh-CN"] .fh-email h2 { font-size:22px; }
  html[lang="zh-CN"] .fh-scene p { font-size:14px; }
  html[lang="zh-CN"] .fh-finding strong { font-size:14px; }
  html[lang="zh-CN"] .fh-finding div>span { font-size:13px; }
  html[lang="zh-CN"] .fh-scope-name figcaption { min-height:38px; font-size:13px; }
  html[lang="zh-CN"] .ogc-copy h2 { font-size:clamp(29px,7.6vw,40px); line-height:1.4; }
  html[lang="zh-CN"] .ogc-copy>p { font-size:18px; line-height:1.85; }
  html[lang="zh-CN"] .ogc-stat>span { font-size:16px; }
  html[lang="zh-CN"] .ogc-principles>span { font-size:15px; }
  html[lang="zh-CN"] .ogc-tabs>button { font-size:14px; }
  html[lang="zh-CN"] .ogt-story h2 { font-size:clamp(28px,7.5vw,38px); line-height:1.4; }
  html[lang="zh-CN"] .ogt-lead,html[lang="zh-CN"] .ogt-discipline p { font-size:18px; line-height:1.85; }
  html[lang="zh-CN"] .ogt-discipline strong { font-size:17px; }
  html[lang="zh-CN"] .ogt-discipline h3 { font-size:23px; }
  html[lang="zh-CN"] :is(.wf-heading h2,.rv-copy h2,.report-heading h2,.scenario-head h2,.contact-intro h2) { font-size:31px; line-height:1.4; }
  html[lang="zh-CN"] .wf-copy h3 { font-size:25px; line-height:1.4; }
  html[lang="zh-CN"] .wf-copy>p { font-size:18px; line-height:1.8; }
  html[lang="zh-CN"] .report-summary h3 { font-size:24px; }
}
@media(max-width:359px) {
  html[lang="zh-CN"] .fh-copy h1 { font-size:32px; }
  html[lang="zh-CN"] .ogc-copy h2 { font-size:28px; }
  html[lang="zh-CN"] .ogt-story h2 { font-size:29px; }
}
@media(max-width:560px) {
  html[lang="zh-CN"] .ogc-stat { grid-template-columns:150px minmax(0,1fr); gap:24px; }
  html[lang="zh-CN"] .ogc-stat>strong { font-family:"Helvetica Neue",Arial,sans-serif; letter-spacing:-.025em; }
}
@media(max-width:359px) {
  html[lang="zh-CN"] .ogc-stat { grid-template-columns:134px minmax(0,1fr); gap:20px; }
}

html[lang="zh-CN"] .fh-copy h1 .fh-outcome { color:var(--fh-ink); }
@media(max-width:760px) {
  /* Keep the AI node beside the panel, clear of the first Chinese character. */
  html[lang="zh-CN"] .fh-scene { padding-left:31px; }
}
@media(max-width:359px) {
  html[lang="zh-CN"] .fh-scene h2 { font-size:21px; }
  html[lang="zh-CN"] .fh-scope-name figcaption { display:block; padding-left:0; padding-right:0; min-height:35px; }
  html[lang="zh-CN"] .fh-scope-name figcaption>span { white-space:nowrap; }
  html[lang="zh-CN"] .fh-scope-name figcaption>i { position:absolute; top:9px; right:9px; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#fffffff2; }
}
