/* 基础样式与重置 */
*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-body);
  font-weight: var(--font-regular);
  line-height: var(--leading-body);
  color: var(--color-dark);
  background: var(--color-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-primary-hover); }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0 0 var(--space-2); }
h1:last-child, h2:last-child, h3:last-child, p:last-child { margin-bottom: 0; }

/* 标题层级 */
h1 { font-size: var(--text-h1); font-weight: var(--font-semibold); line-height: var(--leading-tight); }
h2 { font-size: var(--text-h2); font-weight: var(--font-semibold); line-height: 1.35; }
h3 { font-size: var(--text-h3); font-weight: var(--font-semibold); line-height: 1.4; }

/* 容器 */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

/* 区块通用内边距 */
.section {
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
}
@media (max-width: 767px) {
  .section { padding-top: var(--space-5); padding-bottom: var(--space-5); }
}

/* 区块标题 - 居中 */
.section-title {
  text-align: center;
  margin-bottom: var(--space-4);
}
.section-title .title { color: var(--color-dark); }
.section-title .subtitle {
  font-size: var(--text-small);
  color: var(--color-silver);
  font-weight: var(--font-regular);
  margin-top: var(--space-1);
}

/* 区块标题 - 带装饰线 */
.section-title .line {
  display: inline-block;
  width: 40px;
  height: 3px;
  background: var(--color-primary);
  margin-bottom: var(--space-2);
  border-radius: 2px;
}

/* 焦点可见性（无障碍） */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* 锚点滚动预留（避免被固定导航遮挡） */
[id] { scroll-margin-top: var(--header-height); }
