/* Fade Up Animation */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 1s var(--ease-out) forwards;
}
.fade-up.d1 { animation-delay: 0.1s; }
.fade-up.d2 { animation-delay: 0.25s; }
.fade-up.d3 { animation-delay: 0.4s; }
.fade-up.d4 { animation-delay: 0.55s; }
.fade-up.d5 { animation-delay: 0.7s; }
.fade-up.d6 { animation-delay: 0.85s; }

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reveal on Scroll */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger reveal for grids */
.portfolio-grid .reveal,
.pillars-grid .reveal,
.partnership-types .reveal,
.vision-chain .reveal,
.contact-categories .reveal {
  transition-delay: var(--reveal-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
  .fade-up {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}