/* Applies color only; font, spacing, and page structure stay page-owned. */
:root{
  --ww-heading-duration:13s;
  --ww-heading-motion:running;
  --ww-heading-light:linear-gradient(108deg,#151a30 0%,#2c4fc6 19%,#7040ba 36%,#bc347d 53%,#c1533d 69%,#3758bf 86%,#151a30 100%);
  --ww-heading-dark:linear-gradient(108deg,#faf9ff 0%,#c9c5ff 16%,#6b7eff 35%,#f15ba0 52%,#ff966a 68%,#8aa8ff 86%,#faf9ff 100%);
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  :is(body.ww-heading-main,body.ww-heading-hero) :is(main, .elementor[data-elementor-type="wp-page"], .elementor[data-elementor-type="single"]) :is(h1,h2),
  body :is(h1,h2)[data-ww-gradient="on"],
  body :is(h1,h2,h3,h4)[data-ww-gradient="dark"]{
    --ww-heading-palette:var(--ww-heading-light);
  }
  body.ww-heading-main :is(main,.elementor[data-elementor-type="wp-page"],.elementor[data-elementor-type="single"]) :is(h1,h2):not(:where(header *,footer *,.wwh-header *,.wwx-footer *,.ww-intro *,.ww-intro--server *)):not([data-ww-gradient="off"]):not(.ww-no-gradient):not(.ww-gradient-exempt),
  body.ww-heading-hero :is(main,.elementor[data-elementor-type="wp-page"],.elementor[data-elementor-type="single"]) h1:not(:where(header *,footer *,.wwh-header *,.wwx-footer *,.ww-intro *,.ww-intro--server *)):not([data-ww-gradient="off"]):not(.ww-no-gradient):not(.ww-gradient-exempt),
  body [data-ww-gradient="on"],
  body [data-ww-gradient="dark"]{
    background-image:var(--ww-heading-palette,var(--ww-heading-light));
    background-size:240% 100%;
    background-position:0% 50%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
  :is(body.ww-heading-main,body.ww-heading-hero) :is(main,.elementor[data-elementor-type="wp-page"],.elementor[data-elementor-type="single"]) :is(.wwp-audit,.wwc-last-cta,.wwp-home .wwp-audit,.wwc-contact .wwc-last-cta) :is(h1,h2),
  body [data-ww-gradient="dark"]{
    --ww-heading-palette:var(--ww-heading-dark);
  }
  body [data-ww-gradient="off"]:is(h1,h2,h3,h4),body [data-ww-gradient="off"] :is(h1,h2,h3,h4),body .ww-no-gradient:is(h1,h2,h3,h4),body .ww-gradient-exempt:is(h1,h2,h3,h4){
    background-image:none;
    -webkit-text-fill-color:currentColor;
    animation:none!important;
  }
  body .ww-heading-inview{
    animation:ww-heading-flow var(--ww-heading-duration,13s) ease-in-out infinite alternate;
    animation-play-state:var(--ww-heading-motion,running);
  }
  html.ww-experience-pending body .ww-heading-inview{animation-play-state:paused}
}
@keyframes ww-heading-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){body .ww-heading-inview{animation:none!important;background-position:50% 50%}}
@media(forced-colors:active){body :is(main,.elementor) :is(h1,h2),body [data-ww-gradient]{background-image:none!important;-webkit-text-fill-color:CanvasText!important;animation:none!important}}
