/* One-shot, restrained motion for the inline department symbols. */
.homepage .dept-card.is-symbol-moving .symbol-mechanical-tool {
  transform-box: fill-box;
  transform-origin: center;
  animation: dept-tool-lift 1.4s ease-in-out 1 both;
}

.homepage .dept-card.is-symbol-moving .symbol-electrical-node {
  transform-box: fill-box;
  transform-origin: center;
  animation: dept-node-pulse 1.15s ease-in-out 1 both;
}

.homepage .dept-card.is-symbol-moving .symbol-electrical-node:nth-of-type(4) { animation-delay: .08s; }
.homepage .dept-card.is-symbol-moving .symbol-electrical-node:nth-of-type(5) { animation-delay: .16s; }
.homepage .dept-card.is-symbol-moving .symbol-electrical-node:nth-of-type(6) { animation-delay: .24s; }

.homepage .dept-card.is-symbol-moving .symbol-electrical-signal {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: dept-electrical-signal 1.1s ease-out .15s 1 both;
}

.homepage .dept-card.is-symbol-moving .symbol-architecture-outline {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: dept-architecture-draw 1.4s ease-out 1 both;
}

.homepage .dept-card.is-symbol-moving .symbol-civil-water {
  transform-box: fill-box;
  transform-origin: center;
  animation: dept-water-flow 1.5s ease-in-out 1 both;
}

@keyframes dept-tool-lift {
  0%, 100% { transform: translateY(0); }
  45%, 65% { transform: translateY(-7px); }
}

@keyframes dept-node-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  48% { transform: scale(2); opacity: 1; }
  75% { transform: scale(1); opacity: 1; }
}

@keyframes dept-electrical-signal {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
}

@keyframes dept-architecture-draw {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
}

@keyframes dept-water-flow {
  0%, 100% { transform: translateX(0); }
  35% { transform: translateX(6px); }
  68% { transform: translateX(-6px); }
}

@media (prefers-reduced-motion: reduce) {
  .homepage .dept-card.is-symbol-moving .symbol-mechanical-tool,
  .homepage .dept-card.is-symbol-moving .symbol-electrical-node,
  .homepage .dept-card.is-symbol-moving .symbol-electrical-signal,
  .homepage .dept-card.is-symbol-moving .symbol-architecture-outline,
  .homepage .dept-card.is-symbol-moving .symbol-civil-water {
    animation: none !important;
  }
}
