.wpl-heading .highlight.background,
.wpl-heading .highlight.gradient {
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    padding: 0 !important;
}

/* Underline highlight style */
.wpl-heading .highlight.underline {
    display: inline;
    text-decoration: none;
    position: relative;
    padding: 0 2px;
}

.wpl-heading .highlight.underline::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: inherit;
}

/* Border highlight style */
.wpl-heading .highlight.border {
    display: inline-block;
    padding: 2px 5px;
    border: 2px solid currentColor;
    border-radius: inherit;
}

/* Hidden until .is-visible */
.wpl-heading.wpl-split-animation .wpl-split-char {
    display: inline-block;
    opacity: 0;
    transform: translateY(30px);
}

/* Animation runs only when .is-visible */
.wpl-heading.wpl-split-animation.is-visible .wpl-split-char {
    animation: wplSplitAnim var(--duration,800ms) cubic-bezier(.2,.6,.4,1) forwards;
    animation-delay: calc(var(--char-index) * var(--stagger,50ms));
}

/* Variants */
.wpl-heading.wpl-split-animation.is-visible[data-anim="fade-up"]   .wpl-split-char { animation-name: wplFadeUp; }
.wpl-heading.wpl-split-animation.is-visible[data-anim="fade-down"] .wpl-split-char { animation-name: wplFadeDown; transform: translateY(-30px); }
.wpl-heading.wpl-split-animation.is-visible[data-anim="slide-left"] .wpl-split-char { animation-name: wplSlideLeft; transform: translateX(30px); }
.wpl-heading.wpl-split-animation.is-visible[data-anim="slide-right"] .wpl-split-char { animation-name: wplSlideRight; transform: translateX(-30px); }
.wpl-heading.wpl-split-animation.is-visible[data-anim="scale"]    .wpl-split-char { animation-name: wplScale; transform: scale(0.3); }

/* Keyframes */
@keyframes wplFadeUp    { to { opacity:1; transform:translateY(0); } }
@keyframes wplFadeDown  { to { opacity:1; transform:translateY(0); } }
@keyframes wplSlideLeft { to { opacity:1; transform:translateX(0); } }
@keyframes wplSlideRight{ to { opacity:1; transform:translateX(0); } }
@keyframes wplScale     { to { opacity:1; transform:scale(1); } }