/*
 * 乘式空间首页字体规范
 * 字级收敛为：12 / 14 / 16 / 20 / 28 / 38 / 42–68px。
 * 数据展示字可按场景使用 30–36px。
 */
:root {
  --type-caption: 12px;
  --type-body: 14px;
  --type-lead: 16px;
  --type-card-title: 20px;
  --type-feature-title: 28px;
  --type-section-title: 38px;
  --type-display: clamp(42px, 4.4vw, 68px);
  --leading-title: 1.35;
  --leading-body: 1.8;
}

body {
  font-size: 16px;
  line-height: 1.7;
}

/* 首屏与全站导航 */
.main-nav,
.header-actions,
.button {
  font-size: var(--type-body);
}

.brand-copy small,
.footer-brand .brand-copy small,
.hero-kicker,
.hero-status,
.scroll-hint {
  font-size: var(--type-caption);
}

.hero-kicker,
.scroll-hint {
  letter-spacing: 2px;
}

.hero h1 {
  font-size: var(--type-display);
  line-height: 1.18;
  letter-spacing: -1px;
}

.hero-lead {
  font-size: var(--type-lead);
  line-height: var(--leading-body);
}

/* 區塊標題 */
.eyebrow,
.community-copy > p,
.training-stage-copy > p,
.blue-collar-copy > p,
.solution-stage > p,
.cta-panel p {
  font-size: var(--type-caption);
  font-weight: 700;
  letter-spacing: 2px;
}

.section-heading h2 {
  font-size: var(--type-section-title);
  line-height: 1.32;
  letter-spacing: -1px;
}

.split-heading > p,
.centered > p:last-child {
  font-size: var(--type-lead);
  line-height: var(--leading-body);
}

/* 大型內容展示標題與正文 */
.community-copy > h3,
.training-stage-copy h3,
.blue-collar-copy h3,
.solution-stage h3,
.cta-panel h2 {
  font-size: var(--type-feature-title);
  line-height: var(--leading-title);
}

.community-copy > small,
.training-stage-copy > small,
.blue-collar-copy > small {
  font-size: var(--type-body);
  line-height: var(--leading-body);
}

/* 卡片標題與正文 */
.ability-card h3,
.outcome-grid h3 {
  font-size: var(--type-card-title);
  line-height: var(--leading-title);
}

.ability-card p,
.outcome-grid p {
  font-size: var(--type-body);
  line-height: var(--leading-body);
}

.ability-card strong,
.ability-index,
.new-tag,
.outcome-grid span {
  font-size: var(--type-caption);
}

/* 指標與輔助資訊：最小字級統一為 12px */
.metric-grid p,
.community-features strong,
.community-service-strip strong,
.training-product-strip > div strong,
.blue-collar-jobs strong {
  font-size: var(--type-body);
}

.metric-grid strong small,
.metric-grid em,
.demo-note,
.community-image > span,
.community-image small,
.community-features small,
.community-actions > a:last-child,
.community-service-strip span,
.community-service-strip small,
.training-live-badge,
.training-stage-number small,
.training-metrics span,
.training-actions > a:last-child,
.training-product-strip > div span,
.training-product-strip li,
.blue-collar-flow span,
.blue-collar-flow strong,
.blue-collar-flow small,
.blue-collar-actions > a:last-child,
.blue-collar-image > span,
.blue-collar-image small,
.blue-collar-jobs small,
.solution-tabs button span,
.solution-stage > p,
.solution-tags span,
.solution-flow i,
.solution-stage > a,
footer {
  font-size: var(--type-caption);
}

.solution-tabs button {
  font-size: var(--type-body);
}

/* 只讓核心數據保留較大的數字層級 */
.metric-grid > article > strong {
  font-size: 30px;
}

.community-image b,
.training-stage-number strong,
.blue-collar-image b {
  font-size: 34px;
}

.training-metrics strong {
  font-size: 30px;
}

.training-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 720px) {
  :root {
    --type-section-title: 32px;
    --type-feature-title: 26px;
    --type-display: 42px;
  }

  .hero-lead,
  .split-heading > p,
  .centered > p:last-child {
    font-size: var(--type-body);
  }

  .training-metrics {
    grid-template-columns: 1fr;
  }
}
