/* Unified typography scale for IRIS static pages */

:root {
  --ig-font-stack:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;

  /* Sizes */
  --ig-text-xs: 0.75rem;      /* 12px */
  --ig-text-sm: 0.875rem;     /* 14px */
  --ig-text-base: 0.9375rem;  /* 15px */
  --ig-text-md: 1rem;         /* 16px */
  --ig-text-lg: 1.125rem;     /* 18px */
  --ig-text-xl: 1.5rem;       /* 24px */
  --ig-text-2xl: 1.75rem;     /* 28px */

  /* Weights — only 400/500/600/700 */
  --ig-weight-normal: 400;
  --ig-weight-medium: 500;
  --ig-weight-semibold: 600;
  --ig-weight-bold: 700;

  /* Line heights */
  --ig-line-tight: 1.2;
  --ig-line-base: 1.75;
  --ig-line-lead: 1.68;
  --ig-line-headline: 1.2;
  --ig-line-display: 0.98;
}

.ig-text-caption {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-xs);
  font-weight: var(--ig-weight-bold);
  line-height: var(--ig-line-tight);
  letter-spacing: 0;
  text-transform: uppercase;
}

.ig-text-sm {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-sm);
  font-weight: var(--ig-weight-normal);
  line-height: 1.55;
}

.ig-text-body {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-base);
  font-weight: var(--ig-weight-normal);
  line-height: var(--ig-line-base);
}

.ig-text-lead {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-md);
  font-weight: var(--ig-weight-normal);
  line-height: var(--ig-line-lead);
}

.ig-text-heading-sm {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-lg);
  font-weight: var(--ig-weight-medium);
  line-height: var(--ig-line-tight);
}

.ig-text-heading-md {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-xl);
  font-weight: var(--ig-weight-medium);
  line-height: var(--ig-line-headline);
  letter-spacing: 0;
}

.ig-text-heading {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-2xl);
  font-weight: var(--ig-weight-medium);
  line-height: var(--ig-line-headline);
  letter-spacing: 0;
}

.ig-text-heading-xl {
  font-family: var(--ig-font-stack);
  font-size: clamp(1.875rem, 3.5vw, 3.25rem);
  font-weight: var(--ig-weight-medium);
  line-height: var(--ig-line-headline);
  letter-spacing: 0;
}

.ig-text-display {
  font-family: var(--ig-font-stack);
  font-size: clamp(2.625rem, 5.4vw, 4.5rem);
  font-weight: var(--ig-weight-medium);
  line-height: var(--ig-line-display);
  letter-spacing: 0;
}

/* Dark-theme variants (Home, IRISGreen, Software, etc.) */
.ig-text-caption-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-xs);
  font-weight: var(--ig-weight-bold);
  line-height: var(--ig-line-tight);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ig-text-sm-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-sm);
  font-weight: var(--ig-weight-normal);
  line-height: 1.55;
}

.ig-text-body-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-base);
  font-weight: var(--ig-weight-normal);
  line-height: var(--ig-line-base);
}

.ig-text-lead-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-md);
  font-weight: var(--ig-weight-normal);
  line-height: var(--ig-line-lead);
}

.ig-text-heading-sm-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-lg);
  font-weight: var(--ig-weight-semibold);
  line-height: var(--ig-line-tight);
}

.ig-text-heading-md-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-xl);
  font-weight: var(--ig-weight-bold);
  line-height: var(--ig-line-headline);
  letter-spacing: -0.04em;
}

.ig-text-heading-dark {
  font-family: var(--ig-font-stack);
  font-size: var(--ig-text-2xl);
  font-weight: var(--ig-weight-bold);
  line-height: var(--ig-line-headline);
  letter-spacing: -0.04em;
}

.ig-text-heading-xl-dark {
  font-family: var(--ig-font-stack);
  font-size: clamp(1.875rem, 3.5vw, 3.25rem);
  font-weight: var(--ig-weight-bold);
  line-height: var(--ig-line-headline);
  letter-spacing: -0.04em;
}

.ig-text-display-dark {
  font-family: var(--ig-font-stack);
  font-size: clamp(2.625rem, 5.4vw, 4.5rem);
  font-weight: var(--ig-weight-bold);
  line-height: var(--ig-line-display);
  letter-spacing: -0.04em;
}

@media (max-width: 520px) {
  .ig-text-display,
  .ig-text-display-dark {
    font-size: clamp(2rem, 8vw, 2.625rem);
  }
}