/* ══════════════════════════════
   SCROLL ANIMATIONS — add to end of style.css
══════════════════════════════ */

/* ── Base hidden state ── */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.7s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

[data-aos="fade-up"]    { transform: translateY(40px); }
[data-aos="fade-down"]  { transform: translateY(-40px); }
[data-aos="fade-left"]  { transform: translateX(60px); }
[data-aos="fade-right"] { transform: translateX(-60px); }
[data-aos="zoom-in"]    { transform: scale(0.92); }
[data-aos="fade"]       { transform: none; }

/* ── Visible state ── */
[data-aos].aos-in {
  opacity: 1;
  transform: none;
}

/* ── Stagger delays ── */
[data-aos-delay="80"]  { transition-delay: 0.08s; }
[data-aos-delay="100"] { transition-delay: 0.10s; }
[data-aos-delay="120"] { transition-delay: 0.12s; }
[data-aos-delay="160"] { transition-delay: 0.16s; }
[data-aos-delay="200"] { transition-delay: 0.20s; }
[data-aos-delay="240"] { transition-delay: 0.24s; }

/* ── Hero: cancel [data-aos] hide, use CSS animation instead ── */
#home [data-aos] {
  opacity: 0;
  transform: translateY(28px);
  animation: heroFadeUp 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
  transition: none !important;
}

/* col-lg-7 wrapper inside hero body */
#home .hero-body [data-aos]          { animation-delay: 0.15s; }
#home .hero-body [data-aos-delay]    { animation-delay: 0.35s; }
#home .hero-stats [data-aos]         { animation-delay: 0.65s; transform: translateY(20px); }

@keyframes heroFadeUp {
  to { opacity: 1; transform: none; }
}

/* ── Reduce motion ── */
@media (prefers-reduced-motion: reduce) {
  [data-aos], [data-aos].aos-in,
  #home .hero-tag, #home .hero-h1, #home .hero-p,
  #home .d-flex.flex-wrap.gap-3, #home .hero-stats [data-aos] {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}