/* SITI typography system. Layout, content and brand colors remain in style.css. */
:root{
  --font-body:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  --font-display:"Manrope","Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-chinese:"Noto Sans SC","Inter","PingFang SC","Microsoft YaHei",sans-serif;
  --text-body:1rem;
  --text-small:.8125rem;
  --text-label:.6875rem;
}
body{font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:1.7;letter-spacing:.005em;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:.005em;line-height:1.3;overflow-wrap:anywhere;text-wrap:pretty}
p{font-weight:400;line-height:1.7;letter-spacing:.005em;text-wrap:pretty}
button,input,select{font-family:var(--font-body);letter-spacing:.005em;line-height:1.5}
strong,b{font-weight:600}
/* Preserve the existing wordmark's shape and spacing. */
.logo{font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:-2.6px;font-weight:760;line-height:1}
.preview-bar{font-family:var(--font-body);font-size:.6875rem;line-height:1.55;letter-spacing:.04em;font-weight:400}
.brand small{font-family:var(--font-body);font-size:.625rem;line-height:1.55;letter-spacing:.08em;font-weight:500}
.nav a{font-family:var(--font-body);font-size:.8125rem;line-height:1.5;font-weight:500;letter-spacing:.008em}
.utilities,.lang{font-family:var(--font-body);font-size:.8125rem;line-height:1.5;font-weight:500;letter-spacing:.015em}
.eyebrow,.section-number,.meta,.badge,.over-art,.art-caption,.search-strip label,.footer h4,.footer-bottom,.article-aside h2,.result-count,.question-row .num,.intel-link small{
  font-family:var(--font-body);font-weight:500;line-height:1.5;letter-spacing:.08em;
}
.eyebrow,.section-number,.meta,.over-art,.search-strip label,.footer h4,.article-aside h2,.result-count{font-size:var(--text-label)}
.badge{font-size:.625rem;letter-spacing:.06em;line-height:1.5}
.art-caption{font-size:.5625rem;letter-spacing:.08em;line-height:1.5}
.question-row .num,.intel-link small{font-size:.6875rem;letter-spacing:.04em}
.hero h1{font-family:var(--font-display);font-size:clamp(3rem,4.25vw,4.125rem);line-height:1.18;letter-spacing:.005em;font-weight:500;margin:24px 0 28px;max-width:100%;overflow-wrap:normal}
.hero .intro{font-size:1.0625rem;line-height:1.75;letter-spacing:.005em;max-width:32rem;margin:0 0 28px}
.hero-actions{margin-top:30px}
.btn,.text-link,.copy-link,.search-panel button{font-family:var(--font-body);font-size:.8125rem;line-height:1.5;font-weight:500;letter-spacing:.015em}
.section-head h2{font-size:2.0625rem;line-height:1.25;letter-spacing:.008em;font-weight:500;margin:12px 0 14px}
.section-head p{font-size:.875rem;line-height:1.7;max-width:46rem}
.application h3{font-size:1.0625rem;line-height:1.4;letter-spacing:.005em;font-weight:500;margin-bottom:12px}
.application p{font-size:.8125rem;line-height:1.7;letter-spacing:.005em}
.featured h3{font-size:1.8125rem;line-height:1.35;letter-spacing:.005em;font-weight:500;margin:18px 0 16px}
.featured p,.article-row p,.latest-row p{font-size:.875rem;line-height:1.7;letter-spacing:.005em}
.article-row h3,.latest-row h3{font-size:1.1875rem;line-height:1.4;letter-spacing:.005em;font-weight:500;margin-top:12px;margin-bottom:13px}
.latest-row h3{margin-top:0}
.qa-intro h2{font-size:2.375rem;line-height:1.25;letter-spacing:.005em;font-weight:500;margin:18px 0 24px}
.qa-intro p{font-size:.9375rem;line-height:1.75}
.question-row{font-size:1rem;line-height:1.65;letter-spacing:.005em;font-weight:400}
.intelligence h2{font-size:2.6875rem;line-height:1.22;letter-spacing:.005em;font-weight:500;margin:25px 0}
.intelligence p{font-size:.9375rem;line-height:1.75}
.intel-link{font-size:1.0625rem;line-height:1.6;letter-spacing:.005em}
.about-grid h2{font-size:2.25rem;line-height:1.25;letter-spacing:.005em;font-weight:500;margin:18px 0}
.about-grid p{font-size:1rem;line-height:1.75;letter-spacing:.005em;max-width:43rem}
.footer p{font-size:.8125rem;line-height:1.75;letter-spacing:.005em}
.footer-links{font-size:.8125rem;line-height:1.65;letter-spacing:.005em}
.footer-bottom{font-size:.6875rem;line-height:1.6;letter-spacing:.04em;font-weight:400}
.disclosure{font-size:.75rem;line-height:1.75;letter-spacing:.005em}
.breadcrumb{font-size:.75rem;line-height:1.7;letter-spacing:.005em}
.page-head h1{font-size:clamp(2.5rem,3.7vw,3.25rem);line-height:1.23;letter-spacing:.008em;font-weight:500;margin:22px 0 26px;text-wrap:pretty}
.page-head .summary{font-size:1.0625rem;line-height:1.75;letter-spacing:.005em;max-width:46rem;margin:0 0 28px}
.topic-tabs a{font-size:.8125rem;line-height:1.6;font-weight:500;letter-spacing:.005em}
.card h2,.card h3{font-size:1.375rem;line-height:1.4;letter-spacing:.005em;font-weight:500;margin:20px 0 17px}
.card p{font-size:.9375rem;line-height:1.7;letter-spacing:.005em}
.tag-list a{font-size:.6875rem;line-height:1.5;letter-spacing:.02em;font-weight:400}
.notice{font-size:.8125rem;line-height:1.75;letter-spacing:.005em}
.article-body h2,.simple-prose h2{font-size:1.6875rem;line-height:1.35;letter-spacing:.008em;font-weight:500;margin:44px 0 20px}
.article-body h2:first-child{margin-top:0}
.article-body p,.simple-prose p{font-size:1.0625rem;line-height:1.75;letter-spacing:.005em;font-weight:400;margin-bottom:25px;max-width:45rem}
.article-body .lead-answer{font-size:1.1875rem;line-height:1.7;letter-spacing:.005em;font-weight:400;max-width:none}
.article-aside a{font-size:.8125rem;line-height:1.65;letter-spacing:.005em}
.references li{font-size:.8125rem;line-height:1.75;letter-spacing:.005em}
.resource .eyebrow{font-size:.6875rem;letter-spacing:.08em}
.resource h3{font-size:1.4375rem;line-height:1.4;letter-spacing:.005em;font-weight:500;margin:20px 0 16px}
.resource p,.reading-tools{font-size:.875rem;line-height:1.75;letter-spacing:.005em}
.empty{font-size:.9375rem;line-height:1.75;letter-spacing:.005em}
.compare-table{font-size:.9375rem;letter-spacing:.005em}
.compare-table th,.compare-table td{line-height:1.75}
.compare-table th{font-weight:500}
.property h3{font-size:1.25rem;line-height:1.4;letter-spacing:.005em;font-weight:500;margin-bottom:16px}
.property p{font-size:.9375rem;line-height:1.75;letter-spacing:.005em}
.search-form input,.search-panel input,.search-panel select{font-size:1rem;line-height:1.5;letter-spacing:.005em}
.search-suggestions{font-size:.6875rem;line-height:1.5;letter-spacing:.01em}
/* Chinese has its own metrics rather than inheriting Latin tracking. */
html[lang=zh-CN] body{font-family:var(--font-body);letter-spacing:.02em;line-height:1.8}
html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3{font-family:var(--font-chinese);letter-spacing:.025em;font-weight:500}
html[lang=zh-CN] p{letter-spacing:.02em;line-height:1.8}
html[lang=zh-CN] .hero h1{font-family:var(--font-chinese);font-size:clamp(2.875rem,4vw,3.875rem);line-height:1.35;letter-spacing:.03em;font-weight:500}
html[lang=zh-CN] .hero .intro{font-size:1.0625rem;line-height:1.8;letter-spacing:.02em}
html[lang=zh-CN] .page-head h1{font-size:clamp(2.25rem,3.2vw,2.75rem);line-height:1.38;letter-spacing:.025em}
html[lang=zh-CN] .section-head h2{font-size:2rem;line-height:1.4;letter-spacing:.025em}
html[lang=zh-CN] .qa-intro h2,html[lang=zh-CN] .about-grid h2{font-size:2.1875rem;line-height:1.4;letter-spacing:.025em}
html[lang=zh-CN] .intelligence h2{font-size:2.5625rem;line-height:1.35;letter-spacing:.025em}
html[lang=zh-CN] .featured h3{font-size:1.75rem;line-height:1.5;letter-spacing:.025em}
html[lang=zh-CN] .article-row h3,html[lang=zh-CN] .latest-row h3,html[lang=zh-CN] .application h3,html[lang=zh-CN] .property h3,html[lang=zh-CN] .resource h3{line-height:1.5;letter-spacing:.02em}
html[lang=zh-CN] .card h2,html[lang=zh-CN] .card h3{font-size:1.3125rem;line-height:1.5;letter-spacing:.02em}
html[lang=zh-CN] .article-body h2,html[lang=zh-CN] .simple-prose h2{line-height:1.45;letter-spacing:.025em}
html[lang=zh-CN] .article-body p,html[lang=zh-CN] .simple-prose p{font-size:1.0625rem;line-height:1.85;letter-spacing:.02em}
html[lang=zh-CN] .article-body .lead-answer{font-size:1.1875rem;line-height:1.8;letter-spacing:.02em}
html[lang=zh-CN] .nav a{font-size:.875rem;font-family:var(--font-body);line-height:1.6;letter-spacing:.02em;font-weight:500}
html[lang=zh-CN] .eyebrow,html[lang=zh-CN] .meta,html[lang=zh-CN] .badge,html[lang=zh-CN] .article-aside h2{letter-spacing:.025em;line-height:1.65}
html[lang=zh-CN] .question-row,html[lang=zh-CN] .intel-link,html[lang=zh-CN] .topic-tabs a,html[lang=zh-CN] .footer-links,html[lang=zh-CN] .compare-table{letter-spacing:.02em;line-height:1.75}
/* Existing columns are preserved; allow text containers to shrink and wrap. */
.hero-grid>div,.insight-grid>*,.qa-layout>*,.intel-grid>*,.about-grid>*,.footer-top>*,.latest-row>*,.article-row>*,.card{min-width:0}
.lang,.btn,.text-link{white-space:normal}
.footer-links a,.article-aside a,.breadcrumb span{overflow-wrap:anywhere}
@media(max-width:1250px){
  .hero h1{font-size:clamp(2.75rem,4.25vw,3.375rem)}
  .nav a{font-size:.8125rem}
}
@media(min-width:981px) and (max-width:1100px){
  .nav{display:none;position:absolute;left:0;right:0;top:90px;padding:25px 36px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}
  .nav.open{display:flex}.header-inner{justify-content:space-between}.utilities{margin-left:auto}.menu-toggle{display:block}
}
@media(max-width:1100px){.nav a,html[lang=zh-CN] .nav a{font-size:.9375rem;line-height:1.7;letter-spacing:.015em}}
@media(max-width:980px){
  .hero h1{font-size:clamp(1.875rem,4.4vw,2.75rem)}
  .hero .intro{font-size:1rem;line-height:1.75}
  .qa-intro h2{font-size:2rem;line-height:1.3}
  .intelligence h2{font-size:2.25rem;line-height:1.25}
  html[lang=zh-CN] .hero h1{font-size:clamp(2.5rem,4.4vw,3.25rem)}
}
@media(max-width:680px){
  .preview-bar{font-size:.625rem;line-height:1.6;letter-spacing:.015em}
  .hero h1{font-size:clamp(2rem,7.7vw,3rem);line-height:1.22;letter-spacing:.005em;margin:22px 0 25px}
  .hero .intro{font-size:1rem;line-height:1.75;margin-bottom:26px}
  .section-head h2{font-size:1.75rem;line-height:1.3}
  .section-head p,.application p,.article-row p,.latest-row p{font-size:.875rem;line-height:1.7}
  .application h3{font-size:1rem;line-height:1.45}
  .application{padding-top:23px;padding-bottom:23px}
  .featured h3{font-size:1.5rem;line-height:1.4}
  .qa-intro h2{font-size:2rem;line-height:1.3}
  .question-row{font-size:.9375rem;line-height:1.7}
  .intelligence h2{font-size:2rem;line-height:1.25}
  .about-grid h2{font-size:1.9375rem;line-height:1.3}
  .about-grid p{font-size:1rem;line-height:1.75}
  .page-head h1{font-size:2rem;line-height:1.3;letter-spacing:.005em;margin:20px 0 23px}
  .page-head .summary{font-size:1rem;line-height:1.75}
  .article-body p,.simple-prose p{font-size:1rem;line-height:1.75;letter-spacing:.005em}
  .article-body h2,.simple-prose h2{font-size:1.5rem;line-height:1.4;margin-bottom:18px}
  .article-body .lead-answer{font-size:1.0625rem;line-height:1.75}
  .card h2,.card h3{font-size:1.3125rem;line-height:1.4}
  .card p{font-size:.9375rem;line-height:1.75}
  .footer-links{font-size:.8125rem;line-height:1.7}
  .footer-bottom{font-size:.6875rem;line-height:1.65;letter-spacing:.02em}
  .search-form input,.search-panel input,.search-panel select{font-size:1rem}
  .art-caption{font-size:.5rem;letter-spacing:.06em}
  html[lang=zh-CN] .hero h1{font-size:clamp(2.375rem,9.4vw,2.8125rem);line-height:1.35;letter-spacing:.03em}
  html[lang=zh-CN] .hero .intro{font-size:1rem;line-height:1.8}
  html[lang=zh-CN] .page-head h1{font-size:1.875rem;line-height:1.4;letter-spacing:.025em}
  html[lang=zh-CN] .section-head h2{font-size:1.6875rem;line-height:1.4}
  html[lang=zh-CN] .qa-intro h2,html[lang=zh-CN] .about-grid h2{font-size:1.9375rem;line-height:1.4}
  html[lang=zh-CN] .intelligence h2{font-size:2rem;line-height:1.4}
  html[lang=zh-CN] .featured h3{font-size:1.5rem;line-height:1.5}
  html[lang=zh-CN] .application h3{font-size:1rem;line-height:1.5}
  html[lang=zh-CN] .article-body p,html[lang=zh-CN] .simple-prose p{font-size:1rem;line-height:1.85;letter-spacing:.02em}
  html[lang=zh-CN] .article-body .lead-answer{font-size:1.0625rem;line-height:1.8}
  html[lang=zh-CN] .card h2,html[lang=zh-CN] .card h3{font-size:1.25rem;line-height:1.5}
}
@media print{body{font-size:11pt}.hero h1,.page-head h1{font-size:24pt}.article-body p,.simple-prose p,html[lang=zh-CN] .article-body p{font-size:11pt;line-height:1.75}}
