/* ═══════════════════════════════════════
   HELLENGINEERS — ANIMATIONS
═══════════════════════════════════════ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.5; transform:scale(.8); }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes floatA {
  0%,100% { transform: translateY(0px) rotate(-2deg); }
  50%      { transform: translateY(-14px) rotate(-2deg); }
}
@keyframes floatB {
  0%,100% { transform: translateY(0px) rotate(2deg); }
  50%      { transform: translateY(-10px) rotate(2deg); }
}
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Scroll Reveal */
.reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.vis { opacity: 1; transform: none; }

/* Stagger children */
.reveal-children > * {
  opacity: 0; transform: translateY(16px);
  transition: opacity .45s ease, transform .45s ease;
}
.reveal-children.vis > *:nth-child(1) { opacity:1; transform:none; transition-delay:.05s; }
.reveal-children.vis > *:nth-child(2) { opacity:1; transform:none; transition-delay:.12s; }
.reveal-children.vis > *:nth-child(3) { opacity:1; transform:none; transition-delay:.19s; }
.reveal-children.vis > *:nth-child(4) { opacity:1; transform:none; transition-delay:.26s; }
.reveal-children.vis > *:nth-child(5) { opacity:1; transform:none; transition-delay:.33s; }
.reveal-children.vis > *:nth-child(6) { opacity:1; transform:none; transition-delay:.40s; }

/* Hero animations */
.anim-1 { animation: fadeUp .6s ease both; }
.anim-2 { animation: fadeUp .6s .1s ease both; }
.anim-3 { animation: fadeUp .6s .2s ease both; }
.anim-4 { animation: fadeUp .6s .3s ease both; }
.anim-5 { animation: fadeUp .6s .4s ease both; }

.pulse { width:6px; height:6px; border-radius:50%; background:var(--accent); animation:pulse 2s infinite; }
