/* ax-aos — lightweight IntersectionObserver scroll animations (AOS replacement)
   Supports: fade-up, fade-left, fade-right, zoom-in
   NOTE: No pointer-events:none — forms and links remain clickable at all times. */

[data-aos] {
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-duration: 700ms; /* overridden per-element by axaos.js */
}

/* Initial hidden states */
[data-aos="fade-up"]    { opacity: 0; transform: translateY(30px); }
[data-aos="fade-down"]  { opacity: 0; transform: translateY(-30px); }
[data-aos="fade-left"]  { opacity: 0; transform: translateX(30px); }
[data-aos="fade-right"] { opacity: 0; transform: translateX(-30px); }
[data-aos="zoom-in"]    { opacity: 0; transform: scale(0.88); }
[data-aos="fade"]       { opacity: 0; }

/* Animated state — added by axaos.js when element enters viewport */
[data-aos].aos-animate {
  opacity: 1 !important;
  transform: none !important;
}
