/* Scroll-triggered fade-in for sections */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Services carousel: track-based, no native scroll */
#services-carousel {
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}
#services-carousel.is-dragging {
  cursor: grabbing;
}
#services-carousel-track {
  flex-shrink: 0;
}
