/* ElektroBubbles 5.0: opt-in scroll reveals only below the 3D hero. */
.scroll-effects-enabled .scroll-reveal:not(.scroll-visible) {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}
.scroll-effects-enabled .scroll-reveal {
  transition: opacity 690ms cubic-bezier(.22,1,.36,1), transform 690ms cubic-bezier(.22,1,.36,1);
  transition-delay: var(--scroll-delay, 0ms);
}
.scroll-effects-enabled .scroll-reveal.scroll-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/* Motion must not affect component layout, widths, or 3D controls. */
@media (max-width:680px) {
  .scroll-effects-enabled .scroll-reveal:not(.scroll-visible) { transform:translate3d(0, 14px, 0); }
  .scroll-effects-enabled .scroll-reveal { transition-duration:480ms; transition-delay:0ms; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-effects-enabled .scroll-reveal, .scroll-effects-enabled .scroll-reveal:not(.scroll-visible) {
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}
