/* Pulse motion — draw the line, then raise the bars, coral last. Runs once. */
.rb-pulse-line { stroke-dasharray: 2600; stroke-dashoffset: 2600; }
.rb-pulse-bar  { transform-box: fill-box; transform-origin: bottom; transform: scaleY(0); opacity: 0; }

.rb-pulse.is-playing .rb-pulse-line { animation: rbDraw 2.2s cubic-bezier(.3,.7,.3,1) forwards; }
.rb-pulse.is-playing .rb-pulse-bar  { animation: rbBar .55s cubic-bezier(.22,.61,.36,1) forwards; }
.rb-pulse.is-playing .rb-pulse-bar:nth-of-type(1) { animation-delay: 2.00s; }
.rb-pulse.is-playing .rb-pulse-bar:nth-of-type(2) { animation-delay: 2.25s; }
.rb-pulse.is-playing .rb-pulse-bar:nth-of-type(3) { animation-delay: 2.50s; }
.rb-pulse.is-playing .rb-pulse-bar:nth-of-type(4) { animation-delay: 2.80s; animation-duration: .8s; }

@keyframes rbDraw { to { stroke-dashoffset: 0; } }
@keyframes rbBar  { to { transform: scaleY(1); opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .rb-pulse .rb-pulse-line { stroke-dashoffset: 0; }
  .rb-pulse .rb-pulse-bar  { transform: none; opacity: 1; animation: none !important; }
}
