/* Subtle motion for the Partners hero flow visual. */
.partner-hero__flow {
  transform-origin: 50% 50%;
  animation: partner-hero-flow-rotate 28s linear infinite;
}

.partner-hero__flow-node,
.partner-hero__flow-tag {
  animation: partner-hero-float 6s ease-in-out infinite;
  will-change: transform;
}

.partner-hero__flow-node--process,
.partner-hero__flow-tag--security {
  animation-delay: -1.5s;
}

.partner-hero__flow-node--llm,
.partner-hero__flow-tag--inference {
  animation-delay: -3s;
}

.partner-hero__flow-node--agents {
  animation-delay: -4.5s;
}

.partner-hero__flow-node--data,
.partner-hero__flow-tag--coding {
  animation-delay: -2.25s;
}

.partner-hero__flow-node--infra {
  animation-delay: -.75s;
}

.partner-hero__flow-node--python {
  animation-delay: -3.75s;
}

@keyframes partner-hero-flow-rotate {
  to { transform: rotate(360deg); }
}

@keyframes partner-hero-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -4px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-hero__flow,
  .partner-hero__flow-node,
  .partner-hero__flow-tag {
    animation: none;
  }
}
