/* title-sweep.css
 * Per-character heading sweep (see title-sweep.js). Spans only exist when motion is allowed.
 * No hex literals: tokens only. The rgba start is the one page-local value (ink at .14 alpha).
 */
.sw {
  color: rgba(10, 14, 26, .14);
}

.sw[data-triggered] {
  animation: sw-sweep 600ms both;
}

@keyframes sw-sweep {
  0%   { color: rgba(10, 14, 26, .14); }
  20%  { color: var(--action); }
  50%  { color: var(--cta-coral); }
  80%  { color: var(--scrive-dot); }
  100% { color: var(--ink); }
}

@media (prefers-reduced-motion: reduce) {
  .sw { animation: none; color: var(--ink); }
}
