body {
  font-family: var(--font-sans);
  font-size: var(--font-body);
  color: var(--color-text-primary);
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.text-display {
  font-size: var(--font-display);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.text-h1 { font-size: var(--font-h1); }
.text-h2 { font-size: var(--font-h2); }
.text-h3 { font-size: var(--font-h3); }
.text-body { font-size: var(--font-body); }
.text-small { font-size: var(--font-small); }
.text-xs { font-size: var(--font-xs); }

.text-primary   { color: var(--color-text-primary); }
.text-secondary { color: var(--color-text-secondary); }
.text-muted     { color: var(--color-text-muted); }
.text-navy      { color: var(--color-navy); }
.text-blue      { color: var(--color-blue); }
.text-cyan      { color: var(--color-cyan); }
.text-white     { color: var(--color-white); }

.text-center { text-align: center; }
.text-left   { text-align: left; }

.font-bold   { font-weight: 700; }
.font-medium { font-weight: 500; }

.tracking-wide  { letter-spacing: 0.08em; }
.tracking-wider { letter-spacing: 0.12em; }

.leading-loose { line-height: 2.0; }
.leading-relaxed { line-height: 1.8; }

.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-xs);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-cyan);
  margin-bottom: var(--space-3);
}

.section-label--dark {
  color: rgba(255, 255, 255, 0.6);
}
