/* motion.css */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal[data-reveal="fade"] { transform: none; }
.reveal[data-reveal="up"] { transform: translateY(18px); }
.reveal[data-reveal="down"] { transform: translateY(-18px); }
.reveal[data-reveal="left"] { transform: translateX(18px); }
.reveal[data-reveal="right"] { transform: translateX(-18px); }

/* micro interactions */
.card, .team-card, .aud-card {
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover, .team-card:hover, .aud-card:hover {
  transform: translateY(-3px);
}

.btn {
  transition: transform .15s ease;
}
.btn:hover { transform: translateY(-1px); }

.scroll-spotlight{
  outline: none;
  box-shadow: 0 0 0 4px rgba(30,136,229,0.18);
  border-radius: 14px;
  transition: box-shadow .18s ease;
}