/* Homepage "Reactive vs Managed" pulses: CSS offset-path motion.
   Kept out of styles.css on purpose: offset-* are valid CSS (Baseline 2022) but
   the Nu HTML checker does not know them, and in the page's inline CSS every
   declaration counts as an HTML error (site audit, 12 Oct 2026). A separate
   stylesheet is not inspected. The base state (opacity 0) stays in styles.css.
   Used by mock/index.html and, via wp/deploy-mu.sh, by the eqantech-motion mu-plugin. */

/* Arrow: a single pulse travels along the shaft toward the arrowhead, on the
   same timeline as the managed lines. */
.rtm__arrow-pulse {
  offset-path: path("M8 12 L80 12");
  offset-rotate: 0deg;
  animation: rtm-pulse-travel 2.4s linear infinite;
}

/* Travelling pulse on the managed connection lines. CSS offset-path (not SMIL)
   so it shares the arrow dot's document timeline; all five travel together. */
.rtm__pulse {
  offset-rotate: 0deg;
  animation: rtm-pulse-travel 2.4s linear infinite;
}
.rtm__pulse--1 { offset-path: path("M372,214 C406,214 455,50 498,50"); }
.rtm__pulse--2 { offset-path: path("M386,228 C418,228 455,150 498,150"); }
.rtm__pulse--3 { offset-path: path("M392,250 C422,250 455,250 498,250"); }
.rtm__pulse--4 { offset-path: path("M386,272 C418,272 455,350 498,350"); }
.rtm__pulse--5 { offset-path: path("M372,286 C406,286 455,450 498,450"); }

@keyframes rtm-pulse-travel {
  0%   { offset-distance: 0%;   opacity: 0; }
  12%  { opacity: 0.9; }
  88%  { opacity: 0.9; }
  100% { offset-distance: 100%; opacity: 0; }
}
