/**
 * Crowd Care Consulting - Typography System
 * Phase 2 — Version 0.2.0
 */

:root {
  /* Font Family Stacks */
  --font-heading: 'Outfit', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Typography Scale Tokens (Responsive clamp values) */
  --text-display: clamp(2.5rem, 5vw, 3.75rem); /* 40px - 60px */
  --text-h1: clamp(2rem, 4vw, 3rem);           /* 32px - 48px */
  --text-h2: clamp(1.6rem, 3vw, 2.25rem);      /* 25px - 36px */
  --text-h3: clamp(1.25rem, 2vw, 1.75rem);     /* 20px - 28px */
  --text-h4: clamp(1.1rem, 1.5vw, 1.35rem);    /* 17.6px - 21.6px */
  
  --text-body-large: 1.125rem;                 /* 18px */
  --text-body-regular: 1rem;                   /* 16px */
  --text-body-small: 0.875rem;                 /* 14px */
  --text-caption: 0.75rem;                     /* 12px */

  --text-nav: 0.95rem;                         /* 15.2px */
  --text-button: 1rem;                         /* 16px */
}

/* Global Base Typography Rules */
body {
  font-family: var(--font-body);
  font-size: var(--text-body-regular);
  line-height: 1.65;
  color: var(--color-dark-navy);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.display-heading {
  font-family: var(--font-heading);
  color: var(--color-dark-navy);
  margin-top: 0;
  margin-bottom: var(--space-4);
  letter-spacing: -0.015em;
}

.display-heading {
  font-size: var(--text-display);
  font-weight: 700;
  line-height: 1.15;
}

h1, .h1 {
  font-size: var(--text-h1);
  font-weight: 700;
  line-height: 1.2;
}

h2, .h2 {
  font-size: var(--text-h2);
  font-weight: 600;
  line-height: 1.25;
}

h3, .h3 {
  font-size: var(--text-h3);
  font-weight: 600;
  line-height: 1.3;
}

h4, .h4 {
  font-size: var(--text-h4);
  font-weight: 600;
  line-height: 1.35;
}

p {
  margin-top: 0;
  margin-bottom: var(--space-4);
}

p.lead,
.text-large {
  font-size: var(--text-body-large);
  line-height: 1.6;
  color: var(--color-gray-700);
}

.text-small {
  font-size: var(--text-body-small);
  line-height: 1.5;
}

.text-caption {
  font-size: var(--text-caption);
  line-height: 1.4;
  color: var(--color-gray-500);
}
