/* Slide/fade animations — scoped utility classes */
@keyframes osagSlideInUp {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes osagSlideOutUp {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to   { opacity: 0; transform: translateY(-8px) scale(.98); }
}

/* apply with JS, then remove after animationend */
.osag-slide-in   { animation: osagSlideInUp .36s cubic-bezier(.2,.7,.2,1) forwards; }
.osag-slide-out  { animation: osagSlideOutUp .28s ease-in forwards; }

/* accessibility: users who prefer reduced motion see no animation */
@media (prefers-reduced-motion: reduce) {
  .osag-slide-in,
  .osag-slide-out { animation: none !important; }
}
