/* Apple-inspired type system — CJK-friendly rhythm */

:root {
  /* Type scale */
  --text-xs:   12px;
  --text-sm:   14px;
  --text-md:   17px;
  --text-lg:   19px;
  --text-xl:   21px;
  --text-2xl:  24px;
  --text-3xl:  clamp(28px, 3.2vw, 40px);
  --text-4xl:  clamp(36px, 4.5vw, 56px);
  --text-5xl:  clamp(40px, 5.5vw, 64px);
  --text-hero: clamp(40px, 6vw, 72px);

  /* Leading — Apple-like, with CJK breathing room */
  --leading-tight:  1.12;
  --leading-snug:   1.2;
  --leading-normal: 1.47059;
  --leading-relaxed: 1.58824;
  --leading-body:   1.64706;

  /* Tracking — keep mild for Chinese; Apple CN is near 0 */
  --tracking-display: -0.015em;
  --tracking-title:   -0.012em;
  --tracking-body:    -0.011em;
  --tracking-label:   0.01em;

  --measure: 38rem;
  --measure-wide: 46rem;
}

body {
  font-size: var(--text-md);
  font-weight: 400;
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-body);
}

h1, h2, h3, h4 {
  font-weight: 600;
  letter-spacing: var(--tracking-title);
  line-height: var(--leading-snug);
  text-wrap: balance;
  color: var(--text);
}

h1 { font-size: var(--text-5xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); }
h2 { font-size: var(--text-4xl); line-height: var(--leading-tight); }
h3 { font-size: var(--text-xl); line-height: var(--leading-snug); font-weight: 600; }
h4 { font-size: var(--text-lg); }

p {
  font-size: var(--text-md);
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  color: var(--text-2);
  text-wrap: pretty;
}

.eyebrow {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
  text-shadow: none;
}

/* ── Section headers (Apple product section pattern) ── */
.section-head {
  text-align: center;
  max-width: var(--measure-wide);
  margin: 0 auto clamp(48px, 6vw, 80px);
}

.section-head .eyebrow {
  display: inline-block;
  margin-bottom: 14px;
}

.section-head h2 {
  font-size: var(--text-4xl);
  font-weight: 600;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-tight);
  margin: 0 auto 18px;
  max-width: 18em;
  color: var(--text);
}

.section-head p {
  font-size: var(--text-xl);
  font-weight: 400;
  color: var(--text-2);
  line-height: var(--leading-relaxed);
  letter-spacing: var(--tracking-body);
  max-width: var(--measure);
  margin: 0 auto;
}

.section-more {
  margin-top: 28px;
  text-align: center;
  font-size: var(--text-md);
  color: var(--text-2);
  line-height: var(--leading-relaxed);
}

/* ── Shared card copy ── */
.card-title,
.truth-label,
.track-matrix-card h3,
.home-case-card h3,
.method-layer h3,
.company-culture-card h3,
.info-card h3,
.info-role h3,
.prove-why-item h3,
.home-link-card h3,
.track-item h3,
.standard-item h3,
.loop-step h3,
.prove-step h3,
.product-body h3 {
  font-size: var(--text-xl);
  font-weight: 600;
  letter-spacing: var(--tracking-title);
  line-height: var(--leading-snug);
  color: var(--text);
  margin: 0 0 10px;
}

.card-body,
.truth-col li,
.track-loss,
.track-metric-line,
.track-case-line,
.home-case-desc,
.method-layer p,
.company-culture-card p,
.info-card p,
.info-role p,
.prove-why-item p,
.home-link-card p,
.track-ctx,
.track-scene,
.standard-item p,
.loop-step p,
.prove-step p,
.product-desc,
.home-prove-steps p,
.home-prove-side li {
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: var(--leading-relaxed);
  letter-spacing: var(--tracking-body);
  color: var(--text-2);
}

.card-meta,
.track-priority,
.home-case-industry,
.method-layer-num,
.home-link-num,
.loop-index,
.prove-step-num,
.standard-num,
.hero-metric-label,
.home-case-label {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  line-height: 1.333;
  color: var(--accent);
}

/* Metric numbers — display weight */
.hero-metric-val,
.home-case-val,
.stat-val {
  font-weight: 600;
  letter-spacing: var(--tracking-display);
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.hero-metric-val {
  font-size: clamp(32px, 3.5vw, 44px);
}

.home-case-val {
  font-size: clamp(28px, 3vw, 36px);
}

/* Soften leftover section overrides that feel cramped */
.page-hero-inner h1,
.cta-banner-copy h2,
.prove-slogan,
.prove-note-col h3,
.company-vision-text,
.info-lead,
.privacy-lead {
  letter-spacing: var(--tracking-display) !important;
  line-height: var(--leading-tight) !important;
}

.page-hero-sub,
.cta-banner-copy p,
.prove-slogan-long,
.truth-close,
.contrast-close,
#intro-text {
  letter-spacing: var(--tracking-body) !important;
  line-height: var(--leading-relaxed) !important;
  max-width: var(--measure) !important;
}

.stat-val,
.product-body h3,
.track-item h3,
.home-case-val,
.hero-metric-val {
  letter-spacing: var(--tracking-display) !important;
}

.loop-step p,
.track-ctx,
.track-scene {
  max-width: none !important;
}

/* Card padding breathing room */
.truth-col,
.track-matrix-card,
.home-case-card,
.method-layer,
.company-culture-card,
.info-card,
.prove-why-item,
.home-link-card,
.home-prove-side {
  padding: clamp(28px, 3.2vw, 36px) clamp(24px, 2.8vw, 32px) !important;
}

.track-matrix-grid,
.home-cases-grid,
.method-layers,
.truth-grid,
.company-culture-grid,
.prove-why-grid,
.home-link-grid,
.info-card-grid,
.tracks-grid {
  gap: 16px !important;
}
