/* ========================================
   TYPOGRAPHY SYSTEM - STC Design System
   ======================================== */

/* ========================================
   BASE TYPOGRAPHY
   ======================================== */

body {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
  color: var(--color-neutral-700);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ========================================
   HEADING STYLES
   ======================================== */

h1, .h1 {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-neutral-900);
  margin-bottom: var(--space-6);
}

h2, .h2 {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-neutral-900);
  margin-bottom: var(--space-4);
}

h3, .h3 {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-neutral-900);
  margin-bottom: var(--space-4);
}

h4, .h4 {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  color: var(--color-neutral-800);
  margin-bottom: var(--space-3);
}

h5, .h5 {
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  line-height: var(--leading-ui);
  color: var(--color-neutral-800);
  margin-bottom: var(--space-2);
}

h6, .h6 {
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  line-height: var(--leading-ui);
  color: var(--color-neutral-700);
  margin-bottom: var(--space-2);
}

/* ========================================
   PARAGRAPH AND TEXT ELEMENTS
   ======================================== */

p {
  margin-bottom: var(--space-4);
}

/* Small Text */
small, .text-small {
  font-size: var(--text-xs);
  line-height: var(--leading-ui);
}

/* Labels and Caps */
.text-label {
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}

/* Lead Text */
.lead {
  font-size: var(--text-base);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
}

/* ========================================
   RESPONSIVE TYPOGRAPHY
   ======================================== */

@media (max-width: 575px) {
  h1, .h1 { 
    font-size: var(--text-2xl);
  }
  
  h2, .h2 { 
    font-size: var(--text-xl);
  }
  
  h3, .h3 { 
    font-size: var(--text-lg);
  }
}
