/**
 * Scroll animations – next-level effects
 * reveal-up, reveal-in, scale-in, fade-up, fade-left, fade-right
 */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform, clip-path, filter;
  transition-duration: 600ms;
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

[data-aos].io-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

/* Reveal up – scale + slide with subtle bounce (no clip-path to avoid cropping overflow content) */
[data-aos="reveal-up"] {
  transform: translate3d(0, 80px, 0) scale(0.92);
  clip-path: unset;
}

[data-aos="reveal-up"].io-visible {
  transform: translate3d(0, 0, 0) scale(1);
  clip-path: unset;
}

/* Reveal in – clip-path sweep (left to right). overflow:visible so content isn't cropped */
[data-aos="reveal-in"] {
  clip-path: inset(0 0 0 100%);
  transform: translateZ(0);
  overflow: visible;
}

[data-aos="reveal-in"].io-visible {
  clip-path: inset(0 0 0 0);
  overflow: visible;
}

/* Reveal in from right */
[data-aos="reveal-in-right"] {
  clip-path: inset(0 100% 0 0);
  transform: translateZ(0);
  overflow: visible;
}

[data-aos="reveal-in-right"].io-visible {
  clip-path: inset(0 0 0 0);
  overflow: visible;
}

/* Scale in – focal pop */
[data-aos="scale-in"] {
  transform: scale(0.85);
}

[data-aos="scale-in"].io-visible {
  transform: scale(1);
}

/* Blur up – premium reveal */
[data-aos="blur-up"] {
  transform: translate3d(0, 50px, 0);
  filter: blur(12px);
}

[data-aos="blur-up"].io-visible {
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

/* Fade up – enhanced with scale */
[data-aos="fade-up"] {
  transform: translate3d(0, 50px, 0) scale(0.98);
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos="fade-up"].io-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

[data-aos="fade-down"] {
  transform: translate3d(0, -50px, 0) scale(0.98);
}

[data-aos="fade-down"].io-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Fade left/right – with subtle scale for depth */
[data-aos="fade-left"] {
  transform: translate3d(70px, 0, 0) scale(0.97);
}

[data-aos="fade-right"] {
  transform: translate3d(-70px, 0, 0) scale(0.97);
}

[data-aos="fade-left"].io-visible,
[data-aos="fade-right"].io-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Tilt in – 3D perspective */
[data-aos="tilt-in"] {
  transform: perspective(800px) rotateY(-12deg) translateZ(0);
}

[data-aos="tilt-in"].io-visible {
  transform: perspective(800px) rotateY(0) translateZ(0);
}
