.builder-entrance {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: var(--builder-entrance-duration, 0.6s);
  transition-delay: var(--builder-entrance-delay, 0s);
  transition-timing-function: ease;
}

.builder-entrance.is-visible { opacity: 1; transform: none; }

.builder-entrance-fadeIn { opacity: 0; }
.builder-entrance-fadeInUp { opacity: 0; transform: translateY(28px); }
.builder-entrance-fadeInDown { opacity: 0; transform: translateY(-28px); }
.builder-entrance-fadeInLeft { opacity: 0; transform: translateX(-28px); }
.builder-entrance-fadeInRight { opacity: 0; transform: translateX(28px); }
.builder-entrance-zoomIn { opacity: 0; transform: scale(0.92); }
.builder-entrance-bounceIn { opacity: 0; transform: scale(0.85); }

.builder-sticky {
  position: sticky;
  z-index: 20;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.builder-sticky.is-hidden-scroll {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}

.builder-sticky-column { align-self: flex-start; }

.builder-mouse {
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform 0.12s ease-out;
}

.builder-scroll {
  will-change: transform, opacity;
}
