/**
 * Integrity Cleaning - Fluid Typography
 * Uses clamp() for smooth scaling across viewport sizes
 * NO style overrides - only font-size improvements
 * @version 2026.02.19
 */

/* Fluid Heading Sizes */
h1, .h1 {
  font-size: clamp(1.75rem, 4vw, 3rem);
}

h2, .h2 {
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
}

h3, .h3 {
  font-size: clamp(1.25rem, 3vw, 2rem);
}

h4, .h4 {
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
}

h5, .h5 {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

h6, .h6 {
  font-size: clamp(0.875rem, 1.5vw, 1rem);
}

/* Fluid lead paragraphs */
.lead {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

/* Fluid display headings (if used) */
.display-1 {
  font-size: clamp(3rem, 8vw, 6rem);
}

.display-2 {
  font-size: clamp(2.5rem, 6vw, 5rem);
}

.display-3 {
  font-size: clamp(2rem, 5vw, 4rem);
}

/* Fluid line heights for readability */
h1, .h1, .display-1, .display-2, .display-3 {
  line-height: 1.1;
}

h2, .h2 {
  line-height: 1.2;
}

h3, .h3, h4, .h4 {
  line-height: 1.3;
}

/* Body text maintains readability */
body, p, li {
  line-height: 1.6;
}

/* Max width for comfortable reading (measure rule) */
.container p,
.container li,
.article-content p {
  max-width: 65ch;
}

@media (min-width: 1024px) {
  h1, .h1 {
    letter-spacing: -0.02em;
  }

  h2, .h2 {
    letter-spacing: -0.015em;
  }
}
