/* =========================================
   TYPOGRAPHY - Headings, Text & Utilities
   ========================================= */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--tic-font-title);
  line-height: var(--tic-line-height-tight);
  color: var(--tic-black);
}

h1 {
  font-size: var(--tic-font-size-h1);
  font-weight: var(--tic-font-weight-extrabold);
  margin-bottom: var(--tic-margin-md);
}

h2 {
  font-size: var(--tic-font-size-h2);
  font-weight: var(--tic-font-weight-bold);
  margin-bottom: var(--tic-margin-md);
}

h3 {
  font-size: var(--tic-font-size-h3);
  font-weight: var(--tic-font-weight-bold);
  margin-bottom: var(--tic-margin-md);
}

h4 {
  font-size: var(--tic-font-size-h4);
  font-weight: var(--tic-font-weight-bold);
  margin-bottom: var(--tic-margin-sm);
}

h5 {
  font-size: var(--tic-font-size-h5);
  font-weight: var(--tic-font-weight-semibold);
  line-height: var(--tic-line-height-normal);
  margin-bottom: var(--tic-margin-sm);
}

h6 {
  font-size: var(--tic-font-size-h6);
  font-weight: var(--tic-font-weight-semibold);
  line-height: var(--tic-line-height-normal);
  margin-bottom: var(--tic-margin-sm);
}

p {
  font-family: var(--tic-font-body);
  font-size: var(--tic-font-size-body);
  font-weight: var(--tic-font-weight-normal);
  line-height: var(--tic-line-height-normal);
  color: var(--tic-black);
  margin-bottom: var(--tic-margin-md);
}

.section-title {
  font-family: var(--tic-font-title);
  font-size: var(--tic-font-size-h2);
  font-weight: var(--tic-font-weight-bold);
  line-height: var(--tic-line-height-tight);
  color: var(--tic-blue);
  margin-bottom: var(--tic-margin-xl);
}

.section-title.text-center { text-align: center; }
.section-title.text-start { text-align: left; }
.section-title.text-end { text-align: right; }

/* Text Sizes */
.text-body-lg {
  font-size: var(--tic-font-size-body-lg);
  line-height: var(--tic-line-height-relaxed);
}

.text-body-xl {
  font-size: var(--tic-font-size-body-xl);
  line-height: var(--tic-line-height-relaxed);
}

.text-small {
  font-size: var(--tic-font-size-small);
  line-height: var(--tic-line-height-normal);
}

.text-xs {
  font-size: var(--tic-font-size-xs);
  line-height: var(--tic-line-height-normal);
}

/* Font Family Utilities */
.font-hero { font-family: var(--tic-font-hero); }
.font-title { font-family: var(--tic-font-title); }
.font-body { font-family: var(--tic-font-body); }
.font-fancy { font-family: var(--tic-font-fancy); }
.font-stats { font-family: var(--tic-font-stats); }

/* Text Colors */
.text-black { color: var(--tic-black); }
.text-white { color: var(--tic-white); }
.text-blue { color: var(--tic-blue); }
.text-main { color: var(--tic-black); }
.text-light { color: var(--tic-white); }
.text-muted { color: var(--tic-black); }

/* Text Alignment */
.text-center { text-align: center; }
.text-start { text-align: left; }
.text-end { text-align: right; }

/* Font Weights */
.font-weight-light { font-weight: var(--tic-font-weight-light); }
.font-weight-normal { font-weight: var(--tic-font-weight-normal); }
.font-weight-medium { font-weight: var(--tic-font-weight-medium); }
.font-weight-semibold { font-weight: var(--tic-font-weight-semibold); }
.font-weight-bold { font-weight: var(--tic-font-weight-bold); }
.font-weight-extrabold { font-weight: var(--tic-font-weight-extrabold); }

/* Responsive Typography */
@media (max-width: 768px) {
  :root {
    --tic-font-size-hero: 3rem;
    --tic-font-size-h1: 2.5rem;
    --tic-font-size-h2: 2rem;
    --tic-font-size-h3: 1.75rem;
    --tic-font-size-h4: 1.35rem;
    --tic-font-size-h5: 1.15rem;
    --tic-font-size-h6: 1rem;
    --tic-font-size-body-xl: 1.2rem;
  }
}

