.js-v2-headings:not(.v2-headings-fallback) [data-animate-on-load][data-animation='letters']:not(.is-letters-prepared) {
  opacity: 0;
}

.v2-headings-fallback [data-animate-on-load][data-animation='letters'] {
  opacity: 1;
}

[data-animate-on-load][data-animation='letters'],
[data-animate-on-load][data-animation='letters'].is-letters-prepared {
  opacity: 1;
}

[data-animate-on-load][data-animation='letters'] .split-line,
[data-animate-on-load][data-animation='letters'] .split-segment {
  width: fit-content;
  max-width: 100%;
  overflow: visible;
  line-height: inherit;
}

[data-animate-on-load][data-animation='letters'] .split-segment {
  display: inline;
  width: auto;
}

[data-animate-on-load][data-animation='letters'] .split-words {
  display: inline-block;
  white-space: nowrap;
  vertical-align: baseline;
  line-height: inherit;
}

[data-animate-on-load][data-animation='letters'].is-letters-revealed :is(
  .split-line,
  .split-segment,
  .split-words
) {
  overflow: visible;
}

[data-animate-on-load][data-animation='letters'] .split-chars {
  display: inline-block;
  vertical-align: baseline;
  line-height: inherit;
}

[data-animate-on-load][data-animation='letters'] .split-chars.is-char-hidden {
  opacity: 0;
  transform: translate3d(0, 70%, 0);
}

[data-animate-on-load][data-animation='letters'] .split-chars.is-animating {
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
  .js-v2-headings [data-animate-on-load][data-animation='letters'] {
    opacity: 1;
  }

  [data-animate-on-load][data-animation='letters'] {
    opacity: 1 !important;
  }

  [data-animate-on-load][data-animation='letters'] .split-chars {
    opacity: 1 !important;
    transform: none !important;
  }
}
