/* animations.css
   Animações e transições.
   O JS adiciona a classe .is-inview em elementos com [data-animate].
*/

[data-animate] {
  opacity: 0;
  transform: translateY(var(--reveal-y, 30px));
  transition: opacity var(--reveal-dur, var(--dur-slow)) var(--ease), transform var(--reveal-dur, var(--dur-slow)) var(--ease);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

[data-animate].is-inview {
  opacity: 1;
  transform: translateY(0);
}

/* A Construtora: sensação de “construção” mais presente ao scroll */
.page-construtora {
  --reveal-y: 34px;
  --reveal-dur: 620ms;
}

/* Microinterações */
.card,
.portfolio-item,
.btn {
  transform: translateZ(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
