/* ========================================
   AVANTI - Animações Minimalistas
   animations.css
   ======================================== */

/* --- Scroll Reveal (Fade In Up) --- */
[data-animate] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
[data-animate].animate {
  opacity: 1;
  transform: translateY(0);
}

/* --- Stagger Delays --- */
[data-animate][data-delay="100"] { transition-delay: 0.1s; }
[data-animate][data-delay="200"] { transition-delay: 0.2s; }
[data-animate][data-delay="300"] { transition-delay: 0.3s; }

/* --- Hover Lift Effect --- */
.hover-lift {
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

/* --- Image Zoom on Hover --- */
.work-media img {
  transition: transform var(--transition-base);
}
.work-link:hover .work-media img {
  transform: scale(1.05);
}

/* --- Link Underline Animation --- */
.nav-list a::after,
.view-all::after,
.news-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width var(--transition-base);
}
.nav-list a:hover::after,
.view-all:hover::after,
.news-link:hover::after {
  width: 100%;
}

/* --- Button Press Effect --- */
.btn:active {
  transform: scale(0.98);
}

/* --- Reduced Motion Preference --- */
@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;
  }
  .hero-bg img { display: none; }
  .hero-overlay { background: var(--color-black); }
}