/* ==========================================
   SEMANTIC TEXT UTILITIES (Size + Line Height + Letter Spacing Included)
   ========================================== */
.text-xs {
  font-size: var(--fs-xs);
  line-height: var(--lh-xs);
  letter-spacing: var(--ls-xs);
}

.text-sm {
  font-size: var(--fs-sm);
  line-height: var(--lh-sm);
  letter-spacing: var(--ls-sm);
}

.text-base {
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  letter-spacing: var(--ls-base);
}

.text-lg {
  font-size: var(--fs-lg);
  line-height: var(--lh-lg);
  letter-spacing: var(--ls-lg);
}

.text-xl {
  font-size: var(--fs-xl);
  line-height: var(--lh-xl);
  letter-spacing: var(--ls-xl);
}

/* Headings & Display Hero Classes */
.display-sm {
  font-size: var(--fs-display-sm);
  line-height: var(--lh-display-sm);
  letter-spacing: var(--ls-display-sm);
}

.display-md {
  font-size: var(--fs-display-md);
  line-height: var(--lh-display-md);
  letter-spacing: var(--ls-display-md);
}

.display-lg {
  font-size: var(--fs-display-lg);
  line-height: var(--lh-display-lg);
  letter-spacing: var(--ls-display-lg);
}

.display-xl {
  font-size: var(--fs-display-xl);
  line-height: var(--lh-display-xl);
  letter-spacing: var(--ls-display-xl);
}

.display-2xl {
  font-size: var(--fs-display-2xl);
  line-height: var(--lh-display-2xl);
  letter-spacing: var(--ls-display-2xl);
}

/* Color Utilities */
.text-primary   { color: var(--text-primary); }
.text-secondary { color: var(--text-secondary); }
.text-tertiary  { color: var(--text-tertiary); }

/* Weight Utilities */
.font-regular   { font-weight: var(--weight-regular); }
.font-medium    { font-weight: var(--weight-medium); }
.font-semibold  { font-weight: var(--weight-semibold); }
.font-bold      { font-weight: var(--weight-bold); }