/**
 * animations.css
 * ──────────────────────────────────────────────
 * Keyframes puramente CSS usados para estados ambientes
 * (respiração, brilho, splash). Transições orquestradas
 * de tela (GSAP) vivem em js/transitions.js — aqui ficam
 * apenas os loops contínuos e sutis.
 */

@keyframes breathe {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50%      { transform: scale(1.04); opacity: 1; }
}

@keyframes drift {
  0%   { transform: translate3d(0, 0, 0); }
  50%  { transform: translate3d(0, -14px, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes pulse-dot {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.35); }
}

@keyframes heart-beat {
  0%, 100% { transform: scale(1); }
  25%      { transform: scale(1.12); }
  40%      { transform: scale(0.98); }
  60%      { transform: scale(1.08); }
}

.will-fade-in {
  animation: fade-in var(--dur-slow) var(--ease-out) both;
}

.is-breathing {
  animation: breathe 4.5s var(--ease-in-out) infinite;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
