.f-ms{padding:2rem 2.4rem 1rem;text-align:center}
.f-ms.hidden{display:none}
.f-ms__msg{font-size:1.4rem;font-weight:600;margin:0 0 1.8rem}
.f-ms__track{position:relative;height:.6rem;border-radius:1rem;background:#e9e9e9;margin:0 1.6rem 4rem}
.f-ms__fill{position:absolute;inset:0 auto 0 0;width:var(--p);background:rgb(var(--color-foreground));border-radius:1rem;transition:width .35s ease}
.f-ms__step{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}
.f-ms__step i{width:2rem;height:2rem;border-radius:50%;background:#fff;border:.2rem solid #cfcfcf;transition:.3s}
.f-ms__step.is-on i{background:rgb(var(--color-foreground));border-color:rgb(var(--color-foreground))}
.f-ms__step.is-on i::after{content:"✓";color:#fff;font-size:1.1rem;line-height:1.6rem;display:block}
.f-ms__step b{position:absolute;top:2.6rem;font-size:1.1rem;font-weight:600;white-space:nowrap}
.f-ms__note{font-size:1.2rem;margin:0;padding-top:.8rem;border-top:.1rem dashed #ddd}
