/* 全局品牌变量 */
:root{
  --brand-grad: linear-gradient(90deg,#10b981,#06b6d4);
  /* 徽标（类别标签）主题色 */
  --badge-fg: #065f46;
  --badge-bg: rgba(16,185,129,.10);
  --badge-border: rgba(16,185,129,.35);
}

/* 全站流式排版：根字号随视口在 15px–18px 之间自适应 */
html{ font-size: clamp(15px, 2.8vw, 18px); }
/* 基础正文字号按 1rem（跟随 html），标题改为 em 相对单位 */
body{ font-size: 1rem; }
/* 标题层级（默认比例，具体页面可另行覆盖） */
h1, .h1{ font-size: 2.2em; line-height: 1.15; }
h2, .h2, h2.sec-title{ font-size: 1.5em; line-height: 1.2; }
h3, .h3{ font-size: 1.125em; line-height: 1.3; }
/* ≤900px 微调：略降层级比例，确保易读性且不低于 1rem */
@media (max-width:900px){
  h1, .h1{ font-size: 2.0em; }
  h2, .h2, h2.sec-title{ font-size: 1.4em; }
  h3, .h3{ font-size: 1.05em; }
}
/* 固定字号豁免：被 .no-fluid 包裹的区域不随根字号缩放 */
.no-fluid{ font-size:16px !important; }

/* 标题可读性基线：先给予可读纯色，避免在不支持 clip 时出现“透明文字” */
h2, .h2, h2.sec-title,
h3, .h3{
  color: #0f172a;
  -webkit-text-fill-color: initial;
}
/* 仅在支持 background-clip:text 的环境启用渐变文字与透明填充 */
@supports ((-webkit-background-clip: text) or (background-clip: text)){
  h2, .h2, h3, .h3, h2.sec-title{
    background: var(--brand-grad, linear-gradient(90deg,#10b981,#06b6d4));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
}

/* 卡片类别标签（统一药丸样式） */
.card .badge{
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--badge-fg);
  background: var(--badge-bg);
  border:1px solid var(--badge-border);
  border-radius:999px;
  padding:4px 10px;
  font-weight:600; font-size:12px; line-height:1;
}

/* 移动端文字尺寸优化：适度减小字号，增强信息密度与层级清晰度 */
@media (max-width: 640px){
  h1.title{ font-size:clamp(24px,7.2vw,34px)!important; line-height:1.18!important; }
  p.lead{ font-size:clamp(13px,4.2vw,16px)!important; }
  /* 使用相对单位并保证不低于 1rem */
  .h2{ font-size:1.35em!important; }
  .h3{ font-size:1rem!important; }
  nav.topnav .menu a{ font-size:13px!important; }
  .card h3{ font-size:16px!important; }
  .card p{ font-size:13px!important; }
  .ccard h4{ font-size:13.5px!important; }
  .ccard p{ font-size:12.2px!important; }
  .kpi .num{ font-size:24px!important; }
  .kpi .lab{ font-size:11px!important; }
  .metric{ font-size:13px!important; }
  .metric strong{ font-size:14px!important; }
  .tds-mini table{ font-size:12px!important; }
}
@media (max-width: 360px){
  h1.title{ font-size:clamp(22px,7.8vw,30px)!important; }
  p.lead{ font-size:clamp(12px,4.6vw,15px)!important; }
  .h2{ font-size:1.2em!important; }
  .h3{ font-size:1rem!important; }
}

/* 移动端：徽标字号缩小 */
@media (max-width:640px){ .card .badge{ font-size:11px } }

/* --- 非首页：h3 维持上次需求为 #065f46 且 14.5px（不改权重/行高/间距） --- */
body:not(.home) h3,
body:not(.home) .h3{
  /* 取消全局渐变并设为纯色 */
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #065f46 !important;
  color: #065f46 !important;
  /* 仅调整字号，不改字重与其他版式参数；流式且不低于 1rem */
  font-size: 1rem !important;
}

/* --- 非首页：内容区 h2（含 .h2 / .sec-title）统一为首页模块分段标题的 clamp(...) 并套用品牌渐变 --- */
body:not(.home) h2,
body:not(.home) .h2,
body:not(.home) h2.sec-title{
  /* 使用与首页模块分段标题一致的响应字号范围（相对单位） */
  font-size: clamp(1.375em, 2.6vw, 1.625em) !important;
  /* 渐变文字效果由上方 @supports 统一开启；在不支持环境下保持可读纯色 */
}

/* --- 统一覆盖：全站 .h3 字号与颜色（保留原有字重与间距）；需位于文件末尾以确保优先生效 --- */
body:not(.home) .h3,
.h3{
  /* 取消任何渐变文本效果，恢复纯色显示 */
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  /* 统一样式要求 */
  color: #0f172a !important;
  font-size: 20px !important;
}
