/* Shared hierarchy approved on Home: serif titles, sans-serif descriptions. */
.service-card h3,
.business-card h2,
.business-card h3,
.single-price-row h3,
.price-flex-option h3,
.story-page .story-principle h3,
.home-service-grid h3 {
  font-size: clamp(1.75rem, 2vw, 2rem);
  line-height: 1.15;
  margin-bottom: .6rem;
}

.service-card p,
.business-card p,
.single-price-row p,
.price-description,
.price-flex-option > p:not(.price-flex-amount),
.story-copy,
.story-principle p,
.home-service-grid p {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.6;
}

.section-head > p:not(.eyebrow),
.price-section-heading > p:not(.eyebrow),
.story-page .story-lead,
p.hero-copy,
.hero-copy .lead,
.hero-intro,
.story-cta .story-copy,
.service-cta p:not(.eyebrow),
.section-intro,
.about-copy .lead,
.client-portal-intro > p:last-child,
.home-price-copy > p:last-child,
.home-contact-compact .contact-copy {
  font-family: var(--sans);
  font-size: clamp(1.125rem, 1.4vw, 1.25rem);
  font-weight: 400;
  line-height: 1.6;
}

@media (max-width: 780px) {
  .service-card h3,
.business-card h2,
.business-card h3,
.single-price-row h3,
.price-flex-option h3,
.story-page .story-principle h3,
.home-service-grid h3 {
    font-size: 1.8rem;
    margin-bottom: .6rem;
  }

  .service-card p,
.business-card p,
.single-price-row p,
.price-description,
.price-flex-option > p:not(.price-flex-amount),
.story-copy,
.story-principle p,
.home-service-grid p {
    font-size: 1rem;
  }
}
