/* ==========================================================================
   GARAGE STR — ANIMATIONS & MICRO-INTERACTIONS
   Précision chirurgicale, transitions nettes et réactivité immédiate
   ========================================================================== */

/* Statut en direct : pulsation discrète de la diode */
@keyframes pulseStatusIndicator {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.status-dot {
  animation: pulseStatusIndicator 2.2s infinite ease-in-out;
}

/* Révélation au scroll : montée subtile et nette */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Micro-animation pour le décalage de la flèche directionnelle */
.arrow-slide {
  display: inline-block;
  transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1);
}

a:hover .arrow-slide,
button:hover .arrow-slide {
  transform: translateX(4px);
}
