/* One-shot stage and service separators; shared hover rules live in ft-home-dark.css. */
.ft-motion-ready .ft-site .ft-process-list li { position: relative; }
.ft-motion-ready .ft-site .ft-process-list li::before {
  content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: var(--home-accent); transform: scaleX(0); transform-origin: left;
  transition: transform 950ms cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms);
}
.ft-motion-ready .ft-site .ft-process-list li.is-revealed::before { transform: scaleX(1); }
.ft-motion-ready .ft-site .ft-process-list li .ft-step-number { transition: color 600ms ease; transition-delay: var(--reveal-delay, 0ms); }
.ft-motion-ready .ft-site .ft-process-list li:not(.is-revealed) .ft-step-number { color: var(--home-muted); }
@media (prefers-reduced-motion: reduce) {
  .ft-motion-ready .ft-site .ft-process-list li::before { transform: none; transition: none; }
}

.ft-motion-ready .ft-site .ft-service-row { position: relative; }
.ft-motion-ready .ft-site .ft-service-row::after { content: ''; position: absolute; inset: auto 0 -1px; height: 1px; background: var(--home-accent); opacity: .4; transform: scaleX(0); transform-origin: left; transition: transform 850ms cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms); }
.ft-motion-ready .ft-site .ft-service-row.is-revealed::after { transform: scaleX(1); }
@media (min-width: 48rem) { .ft-motion-ready .ft-site .ft-process-list li:not(:last-child)::before { right: calc(-1 * var(--home-process-gap)); } }
@media (prefers-reduced-motion: reduce) { .ft-motion-ready .ft-site .ft-service-row::after { transform: none; transition: none; } }
