/* Tandem Guru Heading Scale v1.8.1
   Reduces editorial and Event Booking headings by roughly 50 percent.
   Deliberately avoids slideshow, hero and pricing-particle display titles. */

/* Main Joomla article and page titles. */
#g-container-main #g-mainbar .page-header h1,
#g-container-main #g-mainbar .item-page h1,
#g-container-main #g-mainbar .com-content-article h1,
#g-container-main #g-mainbar .blog-item h1,
#g-container-main #g-mainbar .tg-seo-hero h1,
#g-container-main #g-mainbar h1[itemprop="headline"],
#g-container-main #g-mainbar .eb-container > h1,
#g-container-main #g-mainbar .com-eventbooking > h1,
#g-container-main #g-mainbar .eb-registration-form > h1,
#g-container-main #g-mainbar .eb-page-heading,
#g-container-main #g-mainbar .eb-event-page-heading {
  font-size: clamp(2rem, 2.75vw, 2.65rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  margin-block: 0 1.15rem !important;
}

/* Content subheadings and Event Booking section headings. */
#g-container-main #g-mainbar .item-page h2,
#g-container-main #g-mainbar .com-content-article h2,
#g-container-main #g-mainbar .blog-item h2,
#g-container-main #g-mainbar .tg-seo-hero h2,
#g-container-main #g-mainbar .eb-container h2,
#g-container-main #g-mainbar .com-eventbooking h2,
#g-container-main #g-mainbar .eb-registration-form h2 {
  font-size: clamp(1.45rem, 1.9vw, 1.75rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}

#g-container-main #g-mainbar .item-page h3,
#g-container-main #g-mainbar .com-content-article h3,
#g-container-main #g-mainbar .blog-item h3,
#g-container-main #g-mainbar .tg-seo-hero h3,
#g-container-main #g-mainbar .eb-container h3,
#g-container-main #g-mainbar .com-eventbooking h3,
#g-container-main #g-mainbar .eb-registration-form h3 {
  font-size: clamp(1.18rem, 1.4vw, 1.4rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}

/* Sidebar editorial headings should support the media instead of dominating it. */
#g-container-main #g-aside .g-title,
#g-container-main #g-aside .module-title,
#g-container-main #g-aside .custom > h1,
#g-container-main #g-aside .custom > h2,
#g-container-main #g-aside .custom > h3,
#g-container-main #g-aside .moduletable > h1,
#g-container-main #g-aside .moduletable > h2,
#g-container-main #g-aside .moduletable > h3 {
  font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em !important;
  text-wrap: balance;
}

/* Small kicker stays compact. */
#g-container-main #g-mainbar .tg-seo-kicker {
  font-size: clamp(0.7rem, 0.76vw, 0.84rem) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.13em !important;
}

@media only all and (max-width: 63.99rem) {
  #g-container-main #g-mainbar .page-header h1,
  #g-container-main #g-mainbar .item-page h1,
  #g-container-main #g-mainbar .com-content-article h1,
  #g-container-main #g-mainbar .blog-item h1,
  #g-container-main #g-mainbar .tg-seo-hero h1,
  #g-container-main #g-mainbar h1[itemprop="headline"],
  #g-container-main #g-mainbar .eb-container > h1,
  #g-container-main #g-mainbar .com-eventbooking > h1,
  #g-container-main #g-mainbar .eb-registration-form > h1,
  #g-container-main #g-mainbar .eb-page-heading,
  #g-container-main #g-mainbar .eb-event-page-heading {
    font-size: clamp(1.85rem, 5.6vw, 2.35rem) !important;
  }
}

@media only all and (max-width: 35rem) {
  #g-container-main #g-mainbar .page-header h1,
  #g-container-main #g-mainbar .item-page h1,
  #g-container-main #g-mainbar .com-content-article h1,
  #g-container-main #g-mainbar .blog-item h1,
  #g-container-main #g-mainbar .tg-seo-hero h1,
  #g-container-main #g-mainbar h1[itemprop="headline"],
  #g-container-main #g-mainbar .eb-container > h1,
  #g-container-main #g-mainbar .com-eventbooking > h1,
  #g-container-main #g-mainbar .eb-registration-form > h1,
  #g-container-main #g-mainbar .eb-page-heading,
  #g-container-main #g-mainbar .eb-event-page-heading {
    font-size: clamp(1.7rem, 8.4vw, 2.05rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.028em !important;
  }

  #g-container-main #g-mainbar .item-page h2,
  #g-container-main #g-mainbar .com-content-article h2,
  #g-container-main #g-mainbar .blog-item h2,
  #g-container-main #g-mainbar .tg-seo-hero h2,
  #g-container-main #g-mainbar .eb-container h2,
  #g-container-main #g-mainbar .com-eventbooking h2,
  #g-container-main #g-mainbar .eb-registration-form h2,
  #g-container-main #g-aside .g-title,
  #g-container-main #g-aside .module-title,
  #g-container-main #g-aside .custom > h2,
  #g-container-main #g-aside .moduletable > h2 {
    font-size: clamp(1.3rem, 6.3vw, 1.55rem) !important;
  }
}
