/* =========================================================
   基础层：重置 / 排版 / 焦点 / 降级动效 / 氛围（蓝图网格）
   ========================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--f-body);
  font-size: var(--fs-2);
  line-height: 1.75;
  color: var(--c-ink);
  background: var(--c-bg);
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* 蓝图网格氛围层：建筑图纸感的细网格，极低透明度，固定于背景 */
body::before {
  content: "";
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(30, 78, 121, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30, 78, 121, 0.045) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(120% 90% at 50% 0%, #000 35%, transparent 100%);
  -webkit-mask-image: radial-gradient(120% 90% at 50% 0%, #000 35%, transparent 100%);
}

/* 顶部一道建筑蓝辉光，呼应首屏 */
body::after {
  content: "";
  position: fixed; inset: 0 0 auto 0; z-index: 0; pointer-events: none; height: 520px;
  background: radial-gradient(60% 320px at 50% -60px, rgba(46, 110, 163, 0.16), transparent 70%);
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }

/* 标题层级统一用宋体展示字 */
h1, h2, h3, h4 {
  font-family: var(--f-display);
  color: var(--c-ink-2);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0;
}
h1 { font-size: var(--fs-8); }
h2 { font-size: var(--fs-6); }
h3 { font-size: var(--fs-4); }
h4 { font-size: var(--fs-3); }
p { margin: 0 0 var(--s-3); }

/* 数字与拉丁用展示字 + 等宽数字 */
.num { font-family: var(--f-latin); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }

/* 布局容器 */
.wrap { width: min(100% - 48px, var(--maxw)); margin-inline: auto; position: relative; z-index: 1; }
.section { padding-block: var(--s-5); position: relative; z-index: 1; }
.section + .section { border-top: 1px solid var(--c-line); }
.section--tight { padding-block: var(--s-4); }
.gx-tight { gap: var(--s-3); }

/* 建筑「基准线」：栏目标题前的 1px 建筑蓝短线 + 标签 */
.sec-head { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-5); }
.sec-ico {
  flex: none; width: 42px; height: 42px; border-radius: 12px;
  display: grid; place-items: center; color: var(--c-primary);
  background: rgba(30,78,121,.07); border: 1px solid var(--c-line);
  box-shadow: inset 0 0 0 3px rgba(30,78,121,.04);
}
.sec-ico svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sec-head .zh { font-family: var(--f-display); font-size: var(--fs-5); color: var(--c-ink-2); }
.sec-head .en { font-family: var(--f-latin); font-size: var(--fs-2); color: var(--c-faint); letter-spacing: 0.18em; text-transform: uppercase; }
.sec-head .more { margin-left: auto; align-self: center; }

/* 通用链接「更多」 */
.more-link {
  font-size: var(--fs-1); color: var(--c-primary); letter-spacing: 0.08em;
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 2px; position: relative;
}
.more-link::after {
  content: "→"; transition: transform var(--d-fast) var(--ease);
}
.more-link:hover::after { transform: translateX(5px); }

/* 焦点可见（可访问性） */
:focus-visible {
  outline: 2px solid var(--c-secondary);
  outline-offset: 2px;
  border-radius: 3px;
}

/* 入场揭示：默认隐藏，加 .in 显现 */
.reveal { opacity: 0; transform: translateY(26px); }
@media (prefers-reduced-motion: no-preference) {
  .reveal { transition: opacity var(--d-base) var(--ease), transform var(--d-base) var(--ease); }
  .reveal.in { opacity: 1; transform: none; }
  .reveal.d1 { transition-delay: 90ms; }
  .reveal.d2 { transition-delay: 180ms; }
  .reveal.d3 { transition-delay: 270ms; }
  .reveal.d4 { transition-delay: 360ms; }
  .reveal.d5 { transition-delay: 450ms; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
  html { scroll-behavior: auto; }
}

/* 屏幕阅读器专用 */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
