/* Base Typography & Elements */

body {
  font-size: var(--font-size-body);
  color: var(--color-text-primary-light);
}

h1 {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-display);
}

h2 {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-heading);
}

h3 {
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-heading);
}

p {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
}

.display {
  font-size: var(--font-size-display);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-display);
}

.eyebrow {
  font-size: var(--font-size-eyebrow);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-eyebrow);
  text-transform: uppercase;
  color: var(--color-primary);
}

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

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

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

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

/* Dark section text overrides */
.bg-dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-primary-dark);
}

.bg-dark p {
  color: var(--color-text-secondary);
}

.bg-light {
  background-color: var(--color-bg-light);
}

.bg-sand {
  background-color: var(--color-bg-section-alt);
}

.bg-terracotta {
  background-color: var(--color-primary);
}
