/* =========================================================
   KEYFRAMES (animations css)
========================================================= */
@keyframes loaderBounce {
  0%, 100% { transform: translateY(0); opacity: 0.6; }
  50% { transform: translateY(-10px); opacity: 1; }
}

@keyframes scrollCue {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(14px); opacity: 0; }
}

@keyframes pinPulse {
  0% { transform: scale(0.6); opacity: 0.45; }
  100% { transform: scale(2.2); opacity: 0; }
}

@keyframes waPulse {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.35); opacity: 0; }
}

@keyframes floatChip {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* =========================================================
   SCROLL REVEAL
========================================================= */
.reveal-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal-up.is-visible { opacity: 1; transform: translateY(0); }

.reveal-scale {
  opacity: 0;
  transform: scale(0.94) translateY(20px);
  transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
}
.reveal-scale.is-visible { opacity: 1; transform: scale(1) translateY(0); }

/* stagger children of a grid when the grid itself becomes visible */
.grid .reveal-up:nth-child(1) { transition-delay: 0s; }
.grid .reveal-up:nth-child(2) { transition-delay: 0.08s; }
.grid .reveal-up:nth-child(3) { transition-delay: 0.16s; }
.grid .reveal-up:nth-child(4) { transition-delay: 0.24s; }
.grid .reveal-up:nth-child(5) { transition-delay: 0.32s; }
.grid .reveal-up:nth-child(6) { transition-delay: 0.4s; }

/* floating chips ambient motion */
.floating-chip--1 { animation: floatChip 4.5s ease-in-out infinite; }
.floating-chip--2 { animation: floatChip 4.5s ease-in-out infinite 1.2s; }

/* hero load-in orchestration */
.hero__content .reveal-up:nth-child(1) { transition-delay: 0.1s; }
.hero__content .reveal-up:nth-child(2) { transition-delay: 0.22s; }
.hero__content .reveal-up:nth-child(3) { transition-delay: 0.34s; }
.hero__content .reveal-up:nth-child(4) { transition-delay: 0.46s; }
.hero__content .reveal-up:nth-child(5) { transition-delay: 0.58s; }