/* Keeps large page and section headings bold while improving readability. */
:root {
  --heading-hero-max: 4rem;
  --heading-section-max: 3rem;
  --heading-card-max: 3rem;
}

h1 {
  max-width: 800px;
  font-size: clamp(2.25rem, 4.8vw, var(--heading-hero-max));
  line-height: 1.02;
  letter-spacing: 0;
}

h2 {
  font-size: clamp(1.875rem, 3.4vw, var(--heading-section-max));
  line-height: 1.08;
  letter-spacing: 0;
}

h3 {
  font-size: clamp(1.375rem, 2.2vw, 1.875rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.eyebrow {
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  letter-spacing: 0.14em;
}

.section-heading {
  margin-bottom: clamp(30px, 3.8vw, 42px);
}

.section-heading h2,
.tire-calculator-heading h2,
.contact-heading h2 {
  max-width: 700px;
}

.policy-hero {
  padding-top: clamp(68px, 8vw, 88px);
  padding-bottom: clamp(26px, 4vw, 34px);
}

.policy-hero h1 {
  max-width: 820px;
  font-size: clamp(2.25rem, 4.8vw, var(--heading-hero-max));
  line-height: 1.02;
  letter-spacing: 0;
}

.policy-effective-date {
  margin-top: 18px;
}

.inspection-copy h2 {
  max-width: 660px;
  font-size: clamp(1.875rem, 3.2vw, var(--heading-card-max));
  line-height: 1.08;
  letter-spacing: 0;
}

.inspection-process h2,
.policy-section h2,
.policy-contact h2 {
  font-size: clamp(1.5rem, 2.3vw, 1.875rem);
  line-height: 1.12;
  letter-spacing: 0;
}

@media (max-width: 800px) {
  h1,
  .policy-hero h1 {
    font-size: clamp(2.25rem, 7.8vw, 2.625rem);
    line-height: 1.04;
  }

  h2,
  .section-heading h2,
  .tire-calculator-heading h2,
  .contact-heading h2,
  .inspection-copy h2 {
    font-size: clamp(1.875rem, 6.8vw, 2.25rem);
    line-height: 1.1;
  }

  h3 {
    font-size: clamp(1.375rem, 4.8vw, 1.625rem);
  }

  .section-heading {
    margin-bottom: 32px;
  }
}

@media (max-width: 480px) {
  h1,
  .policy-hero h1 {
    font-size: clamp(2.25rem, 10vw, 2.5rem);
  }

  h2,
  .section-heading h2,
  .tire-calculator-heading h2,
  .contact-heading h2,
  .inspection-copy h2 {
    font-size: clamp(1.875rem, 8vw, 2.125rem);
  }
}
