/* One azure reveal per visit; original HTML, text colour and layout remain intact. */
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .tg-title-reveal-enabled main:is(.tg-home-fidelity, .tg-interior) :is(
    #tg-hero-title > span,
    #tg-what-title,
    .tg-service__heading h2 > a,
    .tg-display:not(.tg-renderfarm .tg-display),
    .tg-inner-title,
    .tg-page-display:not(.tg-company-intro .tg-page-display),
    .tg-company-intro .tg-page-display > span,
    .tg-inner-service-heading h2 > a,
    .tg-company-values .tg-value h2,
    .tg-editorial-blocks .tg-value h2,
    .tg-guidance-heading h2,
    .tg-project-heading h1,
    .tg-article-heading h1,
    .tg-contact-heading h1
  ):not(.is-title-revealed) {
    --tg-reveal-blue: #2e73ea;
    --tg-reveal-soft: #76a7ff;
    --tg-reveal-edge: #63bfff;
    /* Keep color intact: currentColor also respects light mode and video heroes. */
    background-image: linear-gradient(90deg,
      currentColor 0%, currentColor 33.33%,
      var(--tg-reveal-soft) 38%, var(--tg-reveal-blue) 43%,
      var(--tg-reveal-edge) 47%, transparent 53%, transparent 100%);
    background-size: 300% 100%;
    background-position: 100% 50%;
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .tg-title-reveal-enabled .light-mode main:is(.tg-home-fidelity, .tg-interior) :is(
    #tg-hero-title > span,
    #tg-what-title,
    .tg-service__heading h2 > a,
    .tg-display:not(.tg-renderfarm .tg-display),
    .tg-inner-title,
    .tg-page-display:not(.tg-company-intro .tg-page-display),
    .tg-company-intro .tg-page-display > span,
    .tg-inner-service-heading h2 > a,
    .tg-company-values .tg-value h2,
    .tg-editorial-blocks .tg-value h2,
    .tg-guidance-heading h2,
    .tg-project-heading h1,
    .tg-article-heading h1,
    .tg-contact-heading h1
  ):not(.is-title-revealed) {
    --tg-reveal-blue: #245ac0;
    --tg-reveal-soft: #386bce;
    --tg-reveal-edge: #267eaf;
  }
  .tg-title-reveal-enabled main:is(.tg-home-fidelity, .tg-interior) .is-title-animating {
    animation: tg-title-reveal 1.65s cubic-bezier(.25, .1, .25, 1) var(--tg-reveal-delay, 0ms) both;
  }
  @keyframes tg-title-reveal {
    from { background-position: 100% 50%; }
    to { background-position: 0% 50%; }
  }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active), print {
  .tg-title-reveal-enabled main:is(.tg-home-fidelity, .tg-interior) :is(
    #tg-hero-title > span,
    #tg-what-title,
    .tg-service__heading h2 > a,
    .tg-display:not(.tg-renderfarm .tg-display),
    .tg-inner-title,
    .tg-page-display:not(.tg-company-intro .tg-page-display),
    .tg-company-intro .tg-page-display > span,
    .tg-inner-service-heading h2 > a,
    .tg-company-values .tg-value h2,
    .tg-editorial-blocks .tg-value h2,
    .tg-guidance-heading h2,
    .tg-project-heading h1,
    .tg-article-heading h1,
    .tg-contact-heading h1
  ):not(.is-title-revealed) {
    animation: none;
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}
