/* ── Pulse dot (pill badge) ── */
@keyframes pulse-dot {
  0%, 100% { opacity: .5; transform: scale(1); }
  50%       { opacity: 1;  transform: scale(1.25); }
}

/* ── Background blobs ── */
@keyframes pulse-blob {
  0%, 100% { opacity: .4; transform: scale(1); }
  50%       { opacity: .7; transform: scale(1.06); }
}

/* ── Circuit path draw ── */
.circuit-path-1 {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: draw-path 4s linear infinite;
}
.circuit-path-2 {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: draw-path 6s linear infinite;
}
@keyframes draw-path {
  0%   { stroke-dashoffset: 300; }
  100% { stroke-dashoffset: 0; }
}

/* ── Scroll-reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
