.step-progress-bar{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:1.5rem;width:100%}.step-progress-fragment{display:contents}.step-progress-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:0 0 auto}.step-progress-dot{width:2rem;height:2rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;font-family:var(--font-heading,inherit);border:2px solid var(--gray-300);background:var(--bg-card,var(--white));color:var(--gray-500);transition:all .3s ease;z-index:1}.step-progress-dot.completed{background:var(--brand-700);border-color:var(--brand-700);color:var(--white)}.step-progress-dot.active{border-color:var(--brand-700);color:var(--brand-700);animation:step-pulse 2s infinite}@keyframes step-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--info-accent) 30%,transparent)}50%{box-shadow:0 0 0 6px transparent}}.step-progress-label{margin-top:.375rem;font-size:.6875rem;font-family:var(--font-body,inherit);color:var(--gray-500);white-space:nowrap;transition:color .3s ease}.step-progress-label.active,.step-progress-label.completed{color:var(--brand-700);font-weight:600}.step-progress-line{flex:1 1 auto;height:2px;min-width:2rem;background:var(--gray-300);position:relative;align-self:flex-start;margin-top:1rem;transition:background .3s ease}.step-progress-line.filled{background:var(--brand-700)}@media (max-width:480px){.step-progress-label{display:none}.step-progress-dot{width:1.5rem;height:1.5rem;font-size:.625rem}.step-progress-line{margin-top:.75rem;min-width:1.25rem}.step-progress-bar{margin-bottom:1rem}}