/* === Brand Animations === */
@keyframes pulse-soft {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}
.animate-pulse-soft {
  animation: pulse-soft 2s infinite;
}

@keyframes float-y {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.animate-float {
  animation: float-y 6s ease-in-out infinite;
}

@keyframes bounce-dot {
  0%, 60%, 100% { transform: translateY(0); opacity: .5; }
  30% { transform: translateY(-4px); opacity: 1; }
}
.animate-bounce-dot {
  animation: bounce-dot 1.2s infinite;
}

/* === Scroll-Reveal === */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

/* === Reduced Motion === */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
