.flowrail{position:relative;margin-top:clamp(2rem,4vw,3rem);padding-left:clamp(2.4rem,6vw,4rem)}.flowrail__line{position:absolute;left:9px;top:10px;bottom:10px;width:2px;background:var(--line);border-radius:2px}.flowrail__fill{position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(180deg,var(--red),var(--red-bright));transform-origin:top;transform:scaleY(0);border-radius:2px}.flowrail__head{position:absolute;left:50%;top:0;width:14px;height:14px;border-radius:4px;background:var(--red);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 18px 3px color-mix(in srgb,var(--red) 45%,transparent)}.fstep{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.1rem,3vw,2.4rem);align-items:center;padding:clamp(1.5rem,3.4vw,2.5rem) 0;border-bottom:1px solid var(--line);opacity:.6;transform:translate(16px);transition:opacity .6s ease,transform .6s var(--ease-out)}.fstep:last-child{border-bottom:0}.fstep.reached{opacity:1;transform:none}.fstep:before{content:"";position:absolute;top:50%;left:calc(-1*clamp(2.4rem,6vw,4rem) + 11px);width:clamp(1rem,3vw,2rem);height:2px;background:var(--line);transition:background .4s}.fstep.reached:before{background:var(--red)}.fstep__num{font-family:var(--f-display);font-weight:800;line-height:.85;font-size:clamp(3.4rem,9vw,6.4rem);color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 26%,transparent);transition:color .5s ease,-webkit-text-stroke-color .5s ease;min-width:2ch;text-align:center}.fstep.reached .fstep__num{color:var(--ink);-webkit-text-stroke-color:transparent}.fstep.is-now .fstep__num{color:var(--red-ink);text-shadow:0 0 26px color-mix(in srgb,var(--red) 30%,transparent)}.fstep__body :is(b,h3){display:block;margin:0;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--ink)}.fstep__body i{font-family:var(--f-mono);font-style:normal;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-mute);display:block;margin-bottom:.35rem}.fstep.is-now .fstep__body i{color:var(--red-ink)}.fstep__body p{margin:.5rem 0 0;color:var(--ink-mute);max-width:58ch;line-height:1.65}@media(max-width:600px){.fstep{grid-template-columns:1fr;gap:.5rem;align-items:start}.fstep__num{text-align:left;min-width:0;font-size:clamp(2.6rem,13vw,3.4rem)}}@media(prefers-reduced-motion:reduce){.fstep,.fstep.reached{opacity:1;transform:none;transition:none}.flowrail__fill{transform:scaleY(1)}.flowrail__head{display:none}}
