/* animations.css — R97 */
@keyframes heroEntrance {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cardStagger {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes alertPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,83,80,0.4); }
  50% { box-shadow: 0 0 0 8px rgba(239,83,80,0); }
}
@keyframes memberSwitchBounce {
  from { transform: scale(0.96); opacity: 0.7; }
  to { transform: scale(1); opacity: 1; }
}
@keyframes medSlideIn {
  from { opacity: 0; transform: translateY(-10px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes sosRing {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes tabSlide {
  from { opacity: 0.6; transform: translateX(8px); }
  to { opacity: 1; transform: translateX(0); }
}
.anim-bounce-in { animation: memberSwitchBounce 0.3s cubic-bezier(0.34,1.56,0.64,1); }
.anim-tab-slide { animation: tabSlide 0.2s ease; }
