/* BCD Text Animations */

.text-anim,
.text-anim-norerun,
.text-anim .elementor-heading-title,
.text-anim-norerun .elementor-heading-title {
  overflow: visible;
}

.text-anim.bcd-ta-ready,
.text-anim-norerun.bcd-ta-ready {
  opacity: 1;
  transition: none;
}

.text-anim.bcd-ta-ready.bcd-ta-exiting,
.text-anim-norerun.bcd-ta-ready.bcd-ta-exiting {
  opacity: 0;
  transition: opacity 0.85s ease;
}

.text-anim.bcd-ta-ready [data-bcd-ta-mask],
.text-anim-norerun.bcd-ta-ready [data-bcd-ta-mask] {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding: 0.08em 0.08em 0.14em;
  margin: -0.08em -0.08em -0.14em;
}

.text-anim.bcd-ta-ready [data-bcd-ta-word],
.text-anim-norerun.bcd-ta-ready [data-bcd-ta-word] {
  display: inline-block;
  opacity: 1;
  transform: none;
  transition:
    transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.75s ease;
}

/* Atomic styled text stays outside transformed/opacity layers so nested
   backdrop-filter remains active on the frontend. */
.text-anim.bcd-ta-ready [data-bcd-ta-word][data-bcd-ta-atomic],
.text-anim-norerun.bcd-ta-ready [data-bcd-ta-word][data-bcd-ta-atomic] {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  transform: none;
  transition: none;
  overflow: visible;
  vertical-align: baseline;
  line-height: inherit;
}

.text-anim.bcd-ta-ready [data-bcd-ta-atomic-content],
.text-anim-norerun.bcd-ta-ready [data-bcd-ta-atomic-content] {
  display: inline-block;
  opacity: 1;
  transform: none;
  transition: none;
}

.text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word],
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word] {
  opacity: 0;
  transform: translateY(1.15em);
}

.text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word].is-revealed,
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word].is-revealed {
  opacity: 1;
  transform: none;
}

.text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic],
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic] {
  visibility: hidden;
  opacity: 1;
  transform: none;
}

.text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic] [data-bcd-ta-atomic-content],
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic] [data-bcd-ta-atomic-content] {
  opacity: 1;
  transform: none;
  transition: none;
}

.text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic].is-revealed,
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic].is-revealed {
  visibility: visible;
  opacity: 1;
  transform: none;
}

.text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic].is-revealed [data-bcd-ta-atomic-content],
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word][data-bcd-ta-atomic].is-revealed [data-bcd-ta-atomic-content] {
  opacity: 1;
  transform: none;
}

.text-anim.bcd-ta-force-visible [data-bcd-ta-word],
.text-anim.bcd-ta-ready.bcd-ta-force-visible [data-bcd-ta-word],
.text-anim.bcd-ta-ready.bcd-ta-armed.bcd-ta-force-visible [data-bcd-ta-word],
.text-anim-norerun.bcd-ta-force-visible [data-bcd-ta-word],
.text-anim-norerun.bcd-ta-ready.bcd-ta-force-visible [data-bcd-ta-word],
.text-anim-norerun.bcd-ta-ready.bcd-ta-armed.bcd-ta-force-visible [data-bcd-ta-word] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.text-anim.bcd-ta-hard-reset [data-bcd-ta-word],
.text-anim-norerun.bcd-ta-hard-reset [data-bcd-ta-word] {
  transition: none !important;
  opacity: 0 !important;
  transform: translateY(1.15em) !important;
}

.text-anim-sc-rev {
  --bcd-sr-muted: rgba(255, 255, 255, 0.18);
  --bcd-sr-active: #ffffff;
}

.text-anim-sc-rev.bcd-sr-ready [data-bcd-sr-word] {
  display: inline-block;
  color: var(--bcd-sr-muted);
  transition: color 0.22s linear;
  will-change: color;
}

.text-anim-sc-rev.bcd-sr-ready [data-bcd-sr-word].is-revealed {
  color: var(--bcd-sr-active);
}

.fade-anim.bcd-fi-ready,
.fade-anim-norerun.bcd-fi-ready,
.bcd-fade-in.bcd-fi-ready,
.bcd-fade-in-norerun.bcd-fi-ready {
  opacity: 1;
  transition: opacity 0.85s ease;
}

.fade-anim.bcd-fi-ready.bcd-fi-armed,
.fade-anim-norerun.bcd-fi-ready.bcd-fi-armed,
.bcd-fade-in.bcd-fi-ready.bcd-fi-armed,
.bcd-fade-in-norerun.bcd-fi-ready.bcd-fi-armed {
  opacity: 0;
}

.fade-anim.bcd-fi-ready.bcd-fi-armed.is-visible,
.fade-anim-norerun.bcd-fi-ready.bcd-fi-armed.is-visible,
.bcd-fade-in.bcd-fi-ready.bcd-fi-armed.is-visible,
.bcd-fade-in-norerun.bcd-fi-ready.bcd-fi-armed.is-visible {
  opacity: 1;
}

/* Glass-safe fade mode: keep the backdrop surface out of the opacity layer.
   The glass appears as soon as the reveal starts while only its content fades. */
.fade-anim.bcd-fi-ready.bcd-fi-blur-safe,
.fade-anim-norerun.bcd-fi-ready.bcd-fi-blur-safe,
.bcd-fade-in.bcd-fi-ready.bcd-fi-blur-safe,
.bcd-fade-in-norerun.bcd-fi-ready.bcd-fi-blur-safe {
  opacity: 1 !important;
  transition: none !important;
}

.fade-anim.bcd-fi-blur-safe.bcd-fi-hidden,
.fade-anim-norerun.bcd-fi-blur-safe.bcd-fi-hidden,
.bcd-fade-in.bcd-fi-blur-safe.bcd-fi-hidden,
.bcd-fade-in-norerun.bcd-fi-blur-safe.bcd-fi-hidden {
  visibility: hidden !important;
}

.fade-anim.bcd-fi-blur-safe [data-bcd-fi-glass-content],
.fade-anim-norerun.bcd-fi-blur-safe [data-bcd-fi-glass-content],
.bcd-fade-in.bcd-fi-blur-safe [data-bcd-fi-glass-content],
.bcd-fade-in-norerun.bcd-fi-blur-safe [data-bcd-fi-glass-content] {
  opacity: 0;
  transform: translateY(0.35em);
  transition:
    opacity 0.85s ease,
    transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.fade-anim.bcd-fi-blur-safe.is-visible [data-bcd-fi-glass-content],
.fade-anim-norerun.bcd-fi-blur-safe.is-visible [data-bcd-fi-glass-content],
.bcd-fade-in.bcd-fi-blur-safe.is-visible [data-bcd-fi-glass-content],
.bcd-fade-in-norerun.bcd-fi-blur-safe.is-visible [data-bcd-fi-glass-content] {
  opacity: 1;
  transform: none;
}

.elementor-sticky__spacer .text-anim,
.elementor-sticky__spacer .text-anim *,
.elementor-sticky__spacer .text-anim-norerun,
.elementor-sticky__spacer .text-anim-norerun *,
.elementor-sticky__spacer .fade-anim,
.elementor-sticky__spacer .fade-anim *,
.elementor-sticky__spacer .fade-anim-norerun,
.elementor-sticky__spacer .fade-anim-norerun *,
.elementor-sticky__spacer .bcd-fade-in,
.elementor-sticky__spacer .bcd-fade-in *,
.elementor-sticky__spacer .bcd-fade-in-norerun,
.elementor-sticky__spacer .bcd-fade-in-norerun *,
.elementor-sticky-spacer .text-anim,
.elementor-sticky-spacer .text-anim *,
.elementor-sticky-spacer .text-anim-norerun,
.elementor-sticky-spacer .text-anim-norerun *,
.elementor-sticky-spacer .fade-anim,
.elementor-sticky-spacer .fade-anim *,
.elementor-sticky-spacer .fade-anim-norerun,
.elementor-sticky-spacer .fade-anim-norerun *,
.elementor-sticky-spacer .bcd-fade-in,
.elementor-sticky-spacer .bcd-fade-in *,
.elementor-sticky-spacer .bcd-fade-in-norerun,
.elementor-sticky-spacer .bcd-fade-in-norerun *,
.e-sticky-spacer .text-anim,
.e-sticky-spacer .text-anim *,
.e-sticky-spacer .text-anim-norerun,
.e-sticky-spacer .text-anim-norerun *,
.e-sticky-spacer .fade-anim,
.e-sticky-spacer .fade-anim *,
.e-sticky-spacer .fade-anim-norerun,
.e-sticky-spacer .fade-anim-norerun *,
.e-sticky-spacer .bcd-fade-in,
.e-sticky-spacer .bcd-fade-in *,
.e-sticky-spacer .bcd-fade-in-norerun,
.e-sticky-spacer .bcd-fade-in-norerun *,
[class*="sticky__spacer"] .text-anim,
[class*="sticky__spacer"] .text-anim *,
[class*="sticky__spacer"] .text-anim-norerun,
[class*="sticky__spacer"] .text-anim-norerun *,
[class*="sticky__spacer"] .fade-anim,
[class*="sticky__spacer"] .fade-anim *,
[class*="sticky__spacer"] .fade-anim-norerun,
[class*="sticky__spacer"] .fade-anim-norerun *,
[class*="sticky__spacer"] .bcd-fade-in,
[class*="sticky__spacer"] .bcd-fade-in *,
[class*="sticky__spacer"] .bcd-fade-in-norerun,
[class*="sticky__spacer"] .bcd-fade-in-norerun *,
[class*="sticky-spacer"] .text-anim,
[class*="sticky-spacer"] .text-anim *,
[class*="sticky-spacer"] .text-anim-norerun,
[class*="sticky-spacer"] .text-anim-norerun *,
[class*="sticky-spacer"] .fade-anim,
[class*="sticky-spacer"] .fade-anim *,
[class*="sticky-spacer"] .fade-anim-norerun,
[class*="sticky-spacer"] .fade-anim-norerun *,
[class*="sticky-spacer"] .bcd-fade-in,
[class*="sticky-spacer"] .bcd-fade-in *,
[class*="sticky-spacer"] .bcd-fade-in-norerun,
[class*="sticky-spacer"] .bcd-fade-in-norerun * {
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .text-anim.bcd-ta-ready,
  .text-anim-norerun.bcd-ta-ready,
  .text-anim.bcd-ta-ready.bcd-ta-exiting,
  .text-anim-norerun.bcd-ta-ready.bcd-ta-exiting {
    opacity: 1 !important;
    transition: none !important;
  }

  .text-anim.bcd-ta-ready [data-bcd-ta-word],
  .text-anim.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word],
  .text-anim-norerun.bcd-ta-ready [data-bcd-ta-word],
  .text-anim-norerun.bcd-ta-ready.bcd-ta-armed [data-bcd-ta-word],
  .text-anim-sc-rev.bcd-sr-ready [data-bcd-sr-word],
  .fade-anim.bcd-fi-ready,
  .fade-anim.bcd-fi-ready.bcd-fi-armed,
  .fade-anim-norerun.bcd-fi-ready,
  .fade-anim-norerun.bcd-fi-ready.bcd-fi-armed,
  .bcd-fade-in.bcd-fi-ready,
  .bcd-fade-in.bcd-fi-ready.bcd-fi-armed,
  .bcd-fade-in-norerun.bcd-fi-ready,
  .bcd-fade-in-norerun.bcd-fi-ready.bcd-fi-armed {
    opacity: 1 !important;
    transform: none !important;
    color: inherit !important;
    transition: none !important;
  }
}
