/* ============================================
   东方福慧社 - 基础样式（品牌 VI 规范）
   ============================================ */

:root {
  /* === 品牌主色 === */
  --color-ink: #1A1A1A;          /* 深黛黑 - 核心 */
  --color-blaze: #E05D3E;        /* 锌橙橙 - 主CTA */

  /* === 辅助色 === */
  --color-cream: #F5F2EA;        /* 背景米白 - 主背景 */
  --color-dune: #D8C6C6;         /* 灰亚沙 - 次级 */

  /* === 点缀色 === */
  --color-forest: #5A7868;       /* 森林绿 */
  --color-gold: #EBD0AD;         /* 柔和金粟 */

  /* === 文字层级 === */
  --text-primary: #1A1A1A;
  --text-secondary: #4A4A4A;
  --text-tertiary: #7A7A7A;
  --text-on-dark: #F5F2EA;

  /* === 背景层级 === */
  --bg-page: #F5F2EA;
  --bg-card: #FFFFFF;
  --bg-dune: #D8C6C6;
  --bg-dark: #1A1A1A;
  --bg-blaze: #E05D3E;

  /* === 边框 === */
  --border-light: rgba(26, 26, 26, 0.08);
  --border-medium: rgba(26, 26, 26, 0.18);
  --border-strong: #1A1A1A;

  /* === 字体 === */
  --font-serif: "鹏书潮宋简", "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", "宋体", SimSun, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "苹方", "微软雅黑", "Noto Sans SC", sans-serif;
  --font-kai: "STKaiti", "KaiTi", "楷体", "Kaiti SC", serif;

  /* === 字号 === */
  --fs-hero: clamp(40px, 6vw, 72px);
  --fs-h1: clamp(32px, 4.5vw, 56px);
  --fs-h2: clamp(26px, 3.5vw, 42px);
  --fs-h3: clamp(20px, 2.5vw, 28px);
  --fs-h4: 20px;
  --fs-body: 16px;
  --fs-small: 14px;
  --fs-tiny: 12px;

  /* === 圆角 === */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 32px;
  --r-pill: 999px;

  /* === 间距 === */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;

  /* === 容器 === */
  --container-max: 1280px;
  --container-pad: clamp(20px, 4vw, 48px);

  /* === 阴影 === */
  --shadow-sm: 0 1px 2px rgba(26, 26, 26, 0.04), 0 1px 3px rgba(26, 26, 26, 0.06);
  --shadow-md: 0 4px 12px rgba(26, 26, 26, 0.06), 0 2px 4px rgba(26, 26, 26, 0.04);
  --shadow-lg: 0 12px 32px rgba(26, 26, 26, 0.08), 0 4px 8px rgba(26, 26, 26, 0.04);

  /* === 过渡 === */
  --t-fast: 0.18s ease;
  --t-base: 0.28s ease;
  --t-slow: 0.5s ease;
}

/* === Reset === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.7;
  color: var(--text-primary);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--t-fast); }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }

/* === 排版 === */
h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.25;
  color: var(--text-primary);
  letter-spacing: 0.02em;
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }
p { color: var(--text-secondary); }

::selection { background: var(--color-blaze); color: #fff; }

/* === 容器 === */
.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
}

/* === 通用 === */
.section { padding: var(--sp-9) 0; }
.section-sm { padding: var(--sp-7) 0; }
.section-dark { background: var(--bg-dark); color: var(--text-on-dark); }
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: var(--text-on-dark); }
.section-dark p { color: rgba(245, 242, 234, 0.75); }

.eyebrow {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: var(--fs-tiny);
  font-weight: 600;
  letter-spacing: 0.3em;
  color: var(--color-blaze);
  text-transform: uppercase;
  margin-bottom: var(--sp-4);
}
.eyebrow-light { color: var(--color-gold); }

.section-title {
  font-size: var(--fs-h2);
  margin-bottom: var(--sp-5);
  position: relative;
}
.section-title-center {
  text-align: center;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--sp-7);
}
.section-subtitle {
  font-size: 18px;
  color: var(--text-secondary);
  max-width: 640px;
  line-height: 1.8;
}
.section-subtitle-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: var(--sp-7);
}

/* === 响应式 === */
@media (max-width: 768px) {
  :root {
    --sp-9: 64px;
    --sp-10: 80px;
  }
}