/* Brand-gradient headings, with high-contrast exceptions for dark/image surfaces. */
:is(main, .site-footer) h1,
:is(main, .site-footer) h2 {
  background: linear-gradient(105deg, #0b2030 0%, #0e7c9c 52%, #e96735 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

:is(
  .booking-hero,
  .hero,
  .service-page-hero,
  .home-cta,
  .service-page-cta,
  .callout,
  .site-footer,
  .card-hover-effects
) :is(h1, h2),
:is(
  .service-card,
  .issue-grid a,
  .benefit-grid article,
  .premium-review-card,
  .catalogue-grid article,
  .flow-grid li,
  .service-menu-grid a,
  .type-grid a,
  .faq-list details,
  .contact-details > div,
  .request-card,
  .privacy-nav a,
  .faq-support .shell,
  .review-contact
):is(:hover, :focus-within, :active) :is(h1, h2) {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  :is(main, .site-footer) h1,
  :is(main, .site-footer) h2 { color: #0b2030; background: none; }

  :is(.booking-hero, .hero, .service-page-hero, .home-cta, .service-page-cta, .callout, .site-footer) :is(h1, h2) { color: #fff; }
}
