/* Shared editorial wrapping, without changing copy or fixed line breaks. */
body :is(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
}
body :is(p, blockquote, li) {
  text-wrap: pretty;
}
/* Balance short copy in browsers where pretty wrapping is less effective. */
body p {
  text-wrap: balance;
}
body :is(.voice-eyebrow, [class*="card"] h3, [class*="card"] p) {
  text-wrap: balance;
}
@media (max-width: 767.98px) {
  body:not(.home) h1 {
    font-size: clamp(2rem, 7.5vw, 2.75rem);
  }
  body #about-value-title,
  body #faq-planning-title,
  body.page-id-28 h2,
  body.page-id-28 h3 {
    font-size: clamp(1.35rem, 5.8vw, 1.75rem);
  }
}
@media (max-width: 767.98px) {
  body.page-id-134 h1,
  body.postid-66 h1 { font-size: 1.65rem; }
  body.page-id-28 h3.h5 { font-size: 1.2rem; }
}
@media (min-width: 768px) {
  body #about-value-title { font-size: 2.35rem; }
  body .voice-faq-layout__heading :is(h2,h3) { font-size: 2rem; }
  body.page-id-31 h3.h2 { font-size: 1.6rem; }
  body.page-id-28 .p-lg-5 p.mb-0 { font-size: 1.125rem; }
}
@media (max-width: 359.98px) {
  body.page-id-134 h1,
  body.postid-66 h1 { font-size: 1.35rem; }
}
/* Legacy product templates define later heading rules; keep this narrow override explicit. */
@media (min-width: 768px) {
  body.page-id-31 h3.h2 { font-size: 1.6rem !important; }
}
@media (max-width: 359.98px) {
  body:not(.home) h1 { font-size: 1.5rem !important; }
  body:not(.home) h2 { font-size: 1.4rem !important; }
  body:not(.home) h3 { font-size: 1.25rem !important; }
  body #voice-global-cta-title { font-size: 1.5rem; }
  body.page-id-134 h1 { font-size: 1.2rem !important; }
  body:is(.page-id-31,.page-id-28,.page-id-125) p { font-size: 1rem !important; }
}
@media (max-width: 359.98px) {
  body.page-id-31 .card-body.d-flex { flex-direction: column; }
  body:is(.page-id-31,.page-id-28) h3.h5,
  body.page-id-36 h3,
  body.postid-67 h3 { font-size: 1.1rem !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  body:is(.page-id-31,.page-id-28) .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (max-width: 359.98px) {
  body.postid-67 .voice-article-callout { padding: 1rem; }
}
