/* ========================================================================
   VERBEN GARDEN — CANONICAL PUBLIC H2 TYPOGRAPHY SYSTEM / 2026-09-12

   This is the single source of truth for public-facing H2 sizes.
   Layout/spacing remains in each component stylesheet; only H2 typography
   scale lives here. Compact/form/sidebar headings are intentionally excluded.

   Reference scale: Verben Tarım proportions, tuned for Verben Garden/Epilogue.
   ======================================================================== */

:root {
  --vg-h2-section: clamp(38px, 3.2vw, 46px);
  --vg-h2-section-lh: 1.06;
  --vg-h2-section-track: -.035em;

  --vg-h2-subsection: clamp(26px, 2.15vw, 32px);
  --vg-h2-subsection-lh: 1.10;
  --vg-h2-subsection-track: -.03em;

  --vg-h2-card: clamp(17px, 1.35vw, 20px);
  --vg-h2-card-lh: 1.22;
  --vg-h2-card-track: -.022em;
}

/* Major visual section headings. */
html body main#main-content :is(
  .about-preview__content > h2,
  .collections__intro h2,
  .elite-plants__intro h2,
  .services-showcase__copy h2,
  .service-connect__content h2,
  .why-verben__copy h2,
  .projects-showcase__heading h2,
  .journal-showcase__heading h2,
  .seasonal-calendar__intro h2,
  .garden-season h2,
  .home-about__content > h2,
  .garden-approach h2,
  .garden-approach__content > h2,
  .project-cta h2,
  .services-page__head h2,
  .service-testimonials__head h2,
  .contact-reference h2,
  .contact-process h2,
  .contact-visit h2,
  .solutions-intro__title-wrap h2,
  .solutions-intro h2,
  .solutions-audience__heading h2,
  .solutions-process__hero h2,
  .solutions-cta h2,
  .rnd-selection h2,
  .rnd-scenario__intro h2,
  .rnd-production h2,
  .plants-collections__title,
  .plant-advisor__title,
  .plant-inspiration__title,
  .plant-catalog__title,
  .plant-detail-copy h2,
  .service-master-intro__content h2,
  .service-master-heading h2,
  .service-master-needs__intro h2,
  .service-master-process__intro h2,
  .service-master-faq .service-master-heading h2,
  .service-master-projects__head h2,
  .service-master-contact h2
) {
  font-size: var(--vg-h2-section) !important;
  line-height: var(--vg-h2-section-lh) !important;
  letter-spacing: var(--vg-h2-section-track) !important;
}

/* Major headings outside <main> (footer prelude/CTA). */
html body :is(.footer-cta h2, .footer-prelude h2) {
  font-size: var(--vg-h2-section) !important;
  line-height: var(--vg-h2-section-lh) !important;
  letter-spacing: var(--vg-h2-section-track) !important;
}

/* Content/subsection H2s are intentionally smaller than major section titles. */
html body main#main-content :is(
  .blog-article__content h2,
  .plant-section-heading h2,
  .plant-care__title,
  .plant-detail-about__copy h2,
  .plant-detail-rich h2,
  .plant-detail-safety h2,
  .about-mv__content h2,
  .legal-content h2
) {
  font-size: var(--vg-h2-subsection) !important;
  line-height: var(--vg-h2-subsection-lh) !important;
  letter-spacing: var(--vg-h2-subsection-track) !important;
}

/* Listing/card titles: blog cards must not inherit the section-title scale. */
html body main#main-content .blog-list-card h2 {
  font-size: var(--vg-h2-card) !important;
  line-height: var(--vg-h2-card-lh) !important;
  letter-spacing: var(--vg-h2-card-track) !important;
}

@media (max-width: 980px) {
  :root {
    --vg-h2-section: clamp(32px, 5vw, 38px);
    --vg-h2-subsection: clamp(24px, 4vw, 29px);
    --vg-h2-card: clamp(16px, 2.8vw, 19px);
  }
}

@media (max-width: 640px) {
  :root {
    --vg-h2-section: clamp(27px, 7.45vw, 30px);
    --vg-h2-section-lh: 1.08;
    --vg-h2-section-track: -.03em;

    --vg-h2-subsection: clamp(21px, 5.8vw, 24px);
    --vg-h2-subsection-lh: 1.12;

    --vg-h2-card: clamp(15.5px, 4.35vw, 17px);
    --vg-h2-card-lh: 1.24;
  }

  /* Preserve deliberate line breaks without legacy nowrap rules. */
  html body main#main-content #collections-title,
  html body main#main-content #elite-plants-title {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}
