/* LEON Animated Heading Widget */
.leon-animated-heading-wrap {
  width: 100%;
}

.leon-animated-heading {
  --leon-ah-duration: 0.85s;
  --leon-ah-delay: 0s;
  --leon-ah-stagger: 0.045s;
  --leon-ah-distance: 22px;
  --leon-ah-blur: 12px;
  --leon-ah-tracking: 0.08em;
  --leon-ah-line-gap: 0em;
  --leon-ah-ease: cubic-bezier(0.22, 1, 0.36, 1);

  display: inline-block;
  margin: 0;
  color: #4A3428;
  font-size: clamp(42px, 7vw, 112px);
  line-height: 0.95;
  letter-spacing: -0.06em;
  font-weight: 850;
  white-space: normal;
}

.leon-animated-heading .leon-ah-line {
  display: block;
  margin-bottom: var(--leon-ah-line-gap);
}

.leon-animated-heading .leon-ah-line:last-child {
  margin-bottom: 0;
}

.leon-animated-heading .leon-ah-line.is-empty-line {
  min-height: 0;
  line-height: 0;
  margin-bottom: 0;
}

.leon-animated-heading.preserve-empty-lines .leon-ah-line.is-empty-line {
  min-height: 1em;
  line-height: inherit;
  margin-bottom: var(--leon-ah-line-gap);
}

.leon-animated-heading .leon-ah-unit {
  display: inline-block;
  will-change: transform, opacity, filter, letter-spacing;
  transition-property: transform, opacity, filter, letter-spacing;
  transition-duration: var(--leon-ah-duration);
  transition-timing-function: var(--leon-ah-ease);
  transition-delay: calc(var(--leon-ah-delay) + (var(--leon-ah-index, 0) * var(--leon-ah-stagger)));
}

.leon-animated-heading .leon-ah-space {
  display: inline-block;
  width: 0.28em;
}

.leon-animated-heading .leon-ah-highlight {
  color: #F6A04D;
}

.leon-animated-heading em {
  font-style: normal;
  color: #F6A04D;
}

.leon-animated-heading .leon-ah-unit em {
  font-style: normal;
}


/* Initial States */
.leon-animated-heading:not(.is-ready) {
  visibility: hidden;
}

.leon-animated-heading.is-ready:not(.is-visible).effect-fade_up .leon-ah-unit,
.leon-animated-heading.is-ready:not(.is-visible).effect-blur_reveal .leon-ah-unit,
.leon-animated-heading.is-ready:not(.is-visible).effect-tracking_reveal .leon-ah-unit {
  opacity: 0;
  transform: translate3d(0, var(--leon-ah-distance), 0);
}

.leon-animated-heading.is-ready:not(.is-visible).effect-blur_reveal .leon-ah-unit,
.leon-animated-heading.is-ready:not(.is-visible).effect-tracking_reveal .leon-ah-unit {
  filter: blur(var(--leon-ah-blur));
}

.leon-animated-heading.is-ready:not(.is-visible).effect-tracking_reveal .leon-ah-unit {
  letter-spacing: var(--leon-ah-tracking);
}

.leon-animated-heading.is-ready:not(.is-visible).effect-soft_scale .leon-ah-unit {
  opacity: 0;
  transform: translate3d(0, calc(var(--leon-ah-distance) * 0.45), 0) scale(0.94);
  filter: blur(calc(var(--leon-ah-blur) * 0.5));
}

.leon-animated-heading.effect-mask_reveal {
  overflow: hidden;
}

.leon-animated-heading.effect-mask_reveal .leon-ah-line {
  overflow: hidden;
}

.leon-animated-heading.is-ready:not(.is-visible).effect-mask_reveal .leon-ah-unit {
  opacity: 1;
  transform: translate3d(0, 115%, 0);
}

/* Visible States */
.leon-animated-heading.is-visible .leon-ah-unit {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  letter-spacing: inherit;
}

.leon-animated-heading.split-none {
  overflow: hidden;
}

.leon-animated-heading.split-none .leon-ah-unit {
  display: inline-block;
}

/* Elementor editor helper */
.elementor-editor-active .leon-animated-heading:not(.is-ready) {
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .leon-animated-heading .leon-ah-unit {
    transition: none !important;
  }

  .leon-animated-heading {
    visibility: visible !important;
  }

  .leon-animated-heading .leon-ah-unit {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    letter-spacing: inherit !important;
  }
}


/* EM highlight support for split text */
.leon-animated-heading .leon-ah-em,
.leon-animated-heading .leon-ah-unit.is-em {
  font-style: normal;
  color: #F6A04D;
}

.leon-animated-heading .leon-ah-em em,
.leon-animated-heading .leon-ah-unit.is-em em {
  font-style: normal;
}


@media (max-width: 767px) {
  .leon-ah-disable-mobile-br br.leon-ah-mobile-break { display: none; }
}
