/* Scroll Animations */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Delay modifiers */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }

/* Fade in specific */
.fade-in {
  opacity: 0;
  transition: opacity 1s ease-in;
}

.fade-in.is-visible {
  opacity: 1;
}

/* Number Counters */
.counter-box {
  opacity: 0;
  transform: scale(0.9);
  transition: all 0.5s ease-out;
}
.counter-box.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* Accordion Animations */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.accordion-item.active .accordion-content {
  max-height: 500px; /* arbitrary max height for transition */
}
