/* ==========================================================================
   TYPOGRAPHY SYSTEM (typography.css)
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--color-primary);
  line-height: 1.2;
  font-weight: 700;
}

h1 {
  font-size: var(--text-h1);
  letter-spacing: -0.01em;
}

h2 {
  font-size: var(--text-h2);
  letter-spacing: -0.01em;
}

h3 {
  font-size: var(--text-h3);
}

h4 {
  font-size: var(--text-h4);
}

p {
  max-width: 72ch;
  margin-bottom: 1rem;
  color: var(--color-text);
}

p:last-child {
  margin-bottom: 0;
}

.text-display {
  font-size: var(--text-display);
  line-height: 1.12;
}

.text-lead {
  font-size: var(--text-body-lg);
  color: var(--color-text-muted);
  line-height: 1.6;
}

.text-small {
  font-size: var(--text-small);
}

.text-caption {
  font-size: var(--text-caption);
}

.text-accent {
  color: var(--color-secondary);
}

.text-gold {
  color: var(--color-accent-dark);
}

.text-maroon {
  color: var(--color-primary);
}

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

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Section Title & Flourish Layout */
.section-heading {
  text-align: center;
  margin-bottom: var(--space-8);
  position: relative;
}

.section-heading__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-secondary);
  margin-bottom: var(--space-2);
}

.section-heading__title-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.section-heading__subtitle {
  font-size: var(--text-body-lg);
  color: var(--color-text-muted);
  max-width: 60ch;
  margin: var(--space-3) auto 0;
}
