/* ----------------------------
   BASE REVEAL STATE
----------------------------- */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: all .9s cubic-bezier(.25, .1, .25, 1);
}

.reveal-on-scroll.revealed {
  opacity: 1;
  transform: none;
}

/* ----------------------------
   EFFECT 1 — Fade Up
----------------------------- */
.fade-up {
  transform: translateY(50px);
}
.fade-up.revealed {
  transform: translateY(0);
}

/* ----------------------------
   EFFECT 2 — Smooth Scale In
----------------------------- */
.scale-in {
  transform: scale(0.85);
}
.scale-in.revealed {
  transform: scale(1);
}

/* ----------------------------
   EFFECT 3 — Slide From Left
----------------------------- */
.slide-left {
  transform: translateX(-60px);
}
.slide-left.revealed {
  transform: translateX(0);
}

/* ----------------------------
   EFFECT 4 — Slide From Right
----------------------------- */
.slide-right {
  transform: translateX(60px);
}
.slide-right.revealed {
  transform: translateX(0);
}

/* ----------------------------
   EFFECT 5 — Soft Rotate + Fade
----------------------------- */
.rotate-in {
  transform: translateY(40px) rotate(3deg);
  opacity: 0;
}
.rotate-in.revealed {
  transform: rotate(0deg);
  opacity: 1;
}

/* Smooth stagger inside sections */
.reveal-on-scroll > * {
  transition-delay: .15s;
}
