/* --------------------------------------------------------
   TSM – CLEAN AOS ANIMATIONS (Optimized)
--------------------------------------------------------- */

/* Fallback before AOS is ready */
html:not(.aos-ready) [data-aos] {
  transform: none !important;
}

/* Base AOS styles */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 1s; /* easier to read than 1000ms */
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity; /* improves rendering performance */
}

/* FADE-UP */
[data-aos="fade-up"] {
  transform: translateY(30px); /* slightly subtler than 40px */
}
[data-aos="fade-up"].aos-animate {
  opacity: 1;
  transform: translateY(0);
}

/* FADE-DOWN */
[data-aos="fade-down"] {
  transform: translateY(-30px);
}
[data-aos="fade-down"].aos-animate {
  opacity: 1;
  transform: translateY(0);
}

/* FADE-RIGHT */
[data-aos="fade-right"] {
  transform: translateX(-30px);
}
[data-aos="fade-right"].aos-animate {
  opacity: 1;
  transform: translateX(0);
}

/* FADE-LEFT */
[data-aos="fade-left"] {
  transform: translateX(30px);
}
[data-aos="fade-left"].aos-animate {
  opacity: 1;
  transform: translateX(0);
}

/* ZOOM-IN */
[data-aos="zoom-in"] {
  transform: scale(0.85);
}
[data-aos="zoom-in"].aos-animate {
  opacity: 1;
  transform: scale(1);
}

/* ZOOM-OUT */
[data-aos="zoom-out"] {
  transform: scale(1.15);
}
[data-aos="zoom-out"].aos-animate {
  opacity: 1;
  transform: scale(1);
}

/* Responsive tweaks for small screens */
@media (max-width: 768px) {
  [data-aos="fade-up"],
  [data-aos="fade-down"] {
    transform: translateY(20px);
  }
  [data-aos="fade-left"],
  [data-aos="fade-right"] {
    transform: translateX(20px);
  }
}
