/* Reset base, fontes e keyframes de animacao da pagina Cognix */
:root { font-family: 'Inter', sans-serif; }
body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Keyframes de flutuacao */
@keyframes float-phone {
  0%, 100% { transform: translateY(-20px) rotateX(8deg) rotateY(-5deg); }
  50% { transform: translateY(0px) rotateX(4deg) rotateY(-2deg); }
}
@keyframes float-anim {
  0%, 100% { transform: translateY(-15px); }
  50% { transform: translateY(0px); }
}
@keyframes float-tilt {
  0%, 100% { transform: translateY(-10px) rotate(-2deg); }
  50% { transform: translateY(10px) rotate(2deg); }
}
.animate-float-phone { animation: float-phone 4s ease-in-out infinite; }
.animate-float-anim { animation: float-anim 3s ease-in-out infinite; }
.animate-float-anim-delayed { animation: float-anim 3.5s ease-in-out infinite 1.5s; }
.animate-float-tilt { animation: float-tilt 5s ease-in-out infinite; }

/* Stagger de entrada inicial */
.stagger-1 { animation-delay: 100ms; }
.stagger-2 { animation-delay: 200ms; }
.stagger-3 { animation-delay: 300ms; }
.stagger-4 { animation-delay: 400ms; }

/* Fade-in-up de entrada */
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
  animation: fade-in-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

/* Glow pulsante do logo */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 15px rgba(139, 92, 246, 0.5); }
  50% { box-shadow: 0 0 30px rgba(139, 92, 246, 0.8), 0 0 50px rgba(139, 92, 246, 0.3); }
}
.animate-pulse-glow { animation: pulse-glow 3s infinite; }

/* Scroll reveal: estado inicial e revelado (substitui hook React useScrollReveal) */
.reveal {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.16,1,0.3,1), transform 1s cubic-bezier(0.16,1,0.3,1);
}
.reveal-up { transform: translateY(2.5rem); }
.reveal-down { transform: translateY(-2.5rem); }
.reveal-left { transform: translateX(2.5rem); }
.reveal-right { transform: translateX(-2.5rem); }
.reveal.is-visible { opacity: 1; transform: translate(0, 0); }
