/* =========================================
   FADE UP (scroll reveal)
========================================= */
.fade-up {
  opacity:0; transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}
.fade-up.vis { opacity:1; transform:translateY(0); }
.fade-up.d1 { transition-delay:.08s; }
.fade-up.d2 { transition-delay:.16s; }
.fade-up.d3 { transition-delay:.24s; }
.fade-up.d4 { transition-delay:.32s; }
.fade-up.d5 { transition-delay:.40s; }
.fade-up.d6 { transition-delay:.48s; }

/* =========================================
   HERO — pulso, blobs, decorações
========================================= */
@keyframes pulse {
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.5;transform:scale(1.4)}
}
@keyframes blobFloat1 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-20px,18px) scale(1.04)} }
@keyframes blobFloat2 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(14px,-14px) scale(1.04)} }
@keyframes blobFloat3 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-8px,10px) scale(0.96)} }
@keyframes floatCard {
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes spinRing { to{transform:rotate(360deg)} }

/* =========================================
   HERO — padrão de fundo em movimento diagonal
========================================= */
@keyframes hero-pattern-move {
  0% { background-position: 0 0; }
  100% { background-position: 600px 600px; }
}

/* =========================================
   HERO — fotos ondulando (uma sobe, depois a
   outra, efeito de onda suave e contínuo)
========================================= */
@keyframes hero-photo-wave {
  0%, 100% { transform:translateY(0); }
  50% { transform:translateY(-16px); }
}
