/* Elementor Scroll Transitions v0.11.0
 * Natural-flow sticky engine.
 * Real Elementor sections NEVER leave the document flow.
 */

.est-natural-section {
  position: relative;
  isolation: isolate;
}

.est-natural-sticky-source {
  position: sticky !important;
  top: var(--est-sticky-top, 0px) !important;
  overflow: clip !important;
  will-change: opacity, transform, filter, clip-path;
}

.est-transition-overlay-fixed {
  position: fixed;
  z-index: 9990;
  display: none;
  min-height: 0;
  overflow: clip;
  pointer-events: none;
  isolation: isolate;
  will-change: top, left, width, height;
}

.est-transition-overlay-fixed.est-active {
  display: block;
}

.est-transition-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: clip;
  pointer-events: none;
}

.est-transition-surface {
  position: absolute;
  inset: 0;
  display: block;
  will-change: transform, clip-path, opacity;
}

.est-transition-overlay > span {
  position: absolute;
  display: block;
  will-change: transform, opacity;
}

.est-depth-original,
.est-depth-back,
.est-depth-front {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  pointer-events: none;
  user-select: none;
  backface-visibility: hidden;
}
.est-depth-back { z-index: 0; }
.est-depth-front { z-index: 1; }
.est-depth-original { z-index: 2; }

.est-depth-shade {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 25%, rgba(60,135,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(0,17,70,.03), rgba(0,17,70,.09));
}

.est-depth-content {
  position: relative;
  z-index: 4;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  transform-origin: left bottom;
  will-change: transform, opacity;
}
.est-depth-content.est-depth-flex { display: flex; }

@media (prefers-reduced-motion: reduce) {
  .est-natural-sticky-source {
    position: relative !important;
    top: auto !important;
  }
  .est-transition-overlay-fixed {
    display: none !important;
  }
  .est-depth-content {
    transform: none !important;
    opacity: 1 !important;
  }
}

/* Neutral layout only during the synchronous measurement pass. */
.est-natural-section.est-measuring { position: relative !important; top: auto !important; transform: none !important; }

/* Visual concealment only: never contributes to document/section height. */
.est-reveal-shield {
  position: fixed;
  z-index: 9989;
  display: none;
  pointer-events: auto;
  overflow: clip;
  isolation: isolate;
}

/* Persistent backing above the incoming section, independent of effect opacity. */
.est-upper-cover {
  position: fixed;
  z-index: 9989;
  display: none;
  pointer-events: auto;
  overflow: clip;
  opacity: 1;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .est-upper-cover, .est-reveal-shield { display: none !important; }
}
