/* Animações suaves — referência Apple (transitions, não cópia visual) */

.reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 0.7s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
    transform 0.7s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1));
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

@keyframes float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -8px, 0); }
}
.hero__visual { animation: float 6s ease-in-out infinite; }
.hero--fullscreen .hero__visual { animation: none; }

.site-nav__link,
.btn,
.card,
.tech-card {
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .hero__visual { animation: none; }
  .hero-carousel__slide img { transition: none !important; transform: none !important; }
  html { scroll-behavior: auto; }
}
