/* Leveler public web typography. Roles, not heading tags, select the Mincho face.
 * Body/card/plan/FAQ/form/navigation styles continue to come from their templates.
 * Font tokens come from assets/leveler-typography.css. New templates use its
 * data-lv-typography="v1" and data-lv-type="display" / "ui" contract.
 */


/* Corporate page titles/main copy, native SWELL page titles, Column article titles. */
:is(
  .leveler-site .leveler-hero__copy > h1,
  .leveler-site .leveler-section > .leveler-shell > h2,
  .leveler-site .leveler-philosophy__grid > div > h2,
  .leveler-contact .leveler-contact__intro > h1,
  .leveler-thanks .leveler-thanks__inner > h1,
  #main_content > .l-mainContent__inner > .c-pageTitle,
  #main_content > .l-mainContent__inner > .post_content > h2.wp-block-heading,
  .leveler-column .lc-featured > .lc-featured__label,
  .leveler-column .lc-article-header > h1,
  .leveler-column .lc-feature-card__body > h2,
  .leveler-column .lc-article-card > a > h2,
  #main_content .p-postList__body > .p-postList__title
) {
  font-family: var(--lv-font-display);
  font-weight: 600;
  text-wrap: balance;
  word-break: auto-phrase;
}

/* Existing service modules and hub roles. No card/plan/fit-panel headings match. */
.leveler-lp :is(
  .hero-service__copy > h1,
  .hero__copy > h1,
  .hero-copy > h1,
  .hero-copy > .hero-catch,
  .page-intro > h1,
  .contact-hero__copy > h1,
  .complete-panel > h1,
  .core-module > .core-shell > h2,
  .draft-module.related-section > .core-shell > h2,
  .hub-page .hero__title,
  .hub-page .section-heading > .section-title,
  .hub-page .cta__title,
  .section > .container > h2:not(#form-title),
  .section-heading > h2,
  .deliverables__copy > h2,
  .price__panel > div > h2,
  .price-panel__main > h2,
  .final-cta__grid > div > h2,
  .plan-introduction > h2,
  .advisor-option > h2,
  .plan-comparison > h2,
  .common-conditions > h2,
  .faq > h2,
  .final-cta > h2
) {
  font-family: var(--lv-font-display);
  font-weight: 600;
  text-wrap: balance;
  word-break: auto-phrase;
}


/* Explicit phrase boundaries for compound display names; no font/page override. */
.lv-type-phrase { display: inline-block; white-space: nowrap; }
