.graph-card svg line,
.graph-card svg polyline {
  transition: opacity 0.4s ease, stroke-width 0.4s ease;
}

.graph-card svg circle {
  transform-origin: center;
  animation: graph-point-breathe 4.8s ease-in-out infinite;
}

.graph-card svg circle:nth-of-type(3n) {
  animation-duration: 6.5s;
}

.graph-card svg circle:nth-of-type(3n + 1) {
  animation-duration: 3.8s;
}

.graph-card:hover svg line,
.graph-card:hover svg polyline {
  stroke-width: 4;
}

@keyframes graph-point-breathe {
  0%, 100% { opacity: 0.72; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .graph-card svg circle {
    animation: none;
  }

  .graph-card svg line,
  .graph-card svg polyline {
    transition: none;
  }
}
