@keyframes signing-step-pulse{0%,to{transform:scale(1);box-shadow:0 0 #2563eb00}4%{color:#fff;background-color:#2563eb;transform:scale(1.12);box-shadow:0 0 0 8px #2563eb1f}10%{transform:scale(1);box-shadow:0 0 #2563eb00}}.signing-step-dot{animation:signing-step-pulse calc(var(--step-count) * 1.6s) infinite;animation-delay:calc(var(--step-index) * 1.6s)}@keyframes signing-phone-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.signing-phone-float{animation:5s ease-in-out infinite signing-phone-float}@keyframes signing-signature-draw{0%{stroke-dashoffset:220px}35%,90%{stroke-dashoffset:0}to{stroke-dashoffset:0}}.signing-signature-path{stroke-dasharray:220;animation:6s ease-in-out infinite signing-signature-draw}@keyframes signing-stamp-pop{0%,40%{opacity:0;transform:scale(1.8)rotate(12deg)}48%,92%{opacity:1;transform:scale(1)rotate(12deg)}to{opacity:0;transform:scale(1)rotate(12deg)}}.signing-stamp{animation:6s ease-in-out infinite signing-stamp-pop}@keyframes signing-pin-fill{0%,10%{opacity:.15}20%,to{opacity:1}}.signing-pin-dot{opacity:.15;animation:6s infinite signing-pin-fill;animation-delay:calc(var(--pin-index) * .35s)}@media (prefers-reduced-motion:reduce){.signing-phone-float,.signing-pin-dot,.signing-signature-path,.signing-stamp,.signing-step-dot{animation:none}.signing-pin-dot{opacity:1}.signing-stamp{opacity:1;transform:rotate(12deg)}}
