.flow-main{min-height:calc(100dvh - 64px);padding:clamp(24px,5vw,64px) 0 96px}.flow{max-width:980px;padding:0 var(--gutter);grid-template-columns:220px 1fr;gap:clamp(24px,5vw,72px);margin:0 auto;display:grid}.flow-rail{align-self:start;gap:4px;margin:0;padding:0;list-style:none;display:grid;position:sticky;top:96px}.flow-rail li{color:var(--ash);font-weight:550;font-size:var(--t-s);grid-template-columns:28px 1fr;align-items:center;gap:12px;padding:10px 0;display:grid}.flow-rail li span.n{border:1px solid var(--line-strong);width:28px;height:28px;font-family:var(--font-display);font-size:var(--t-xs);border-radius:50%;place-items:center;display:grid}.flow-rail li[data-state=current]{color:var(--ink)}.flow-rail li[data-state=current] span.n{background:var(--ink);color:var(--white);border-color:var(--ink)}.flow-rail li[data-state=done]{color:var(--graphite)}.flow-rail li[data-state=done] span.n{background:var(--good-soft);color:var(--good);border-color:#0000}.flow-card h1{letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(2rem,4.4vw,3rem)}.flow-card .lede{color:var(--ash);font-size:var(--t-l);max-width:34rem;margin-bottom:32px}.candidates{gap:12px;margin-top:24px;display:grid}.candidate{background:var(--white);border:1px solid var(--line);border-radius:var(--r-m);animation:fadeUp .28s var(--ease) both;grid-template-columns:48px 1fr;gap:16px;padding:20px;display:grid}.candidate-avatar{background:var(--ink);width:48px;height:48px;color:var(--white);font-family:var(--font-display);border-radius:12px;place-items:center;font-size:1.25rem;font-weight:650;display:grid}.candidate h3{font-size:var(--t-xl);margin-bottom:6px}.candidate dl{font-size:var(--t-s);grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0 16px;display:grid}.candidate dt{color:var(--ash)}.candidate dd{color:var(--graphite);word-break:break-word;margin:0}.chosen{background:var(--white);border:1px solid var(--line);border-radius:var(--r-m);align-items:center;gap:14px;margin-bottom:28px;padding:14px 16px;display:flex}.otp-input{font-family:var(--font-display);letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;min-height:72px;padding-left:.5em;font-size:2rem}.form-grid{gap:20px;display:grid}@media (max-width:760px){.flow{grid-template-columns:1fr}.flow-rail{gap:16px;display:flex;position:static;overflow-x:auto}.flow-rail li{white-space:nowrap;grid-template-columns:24px auto;gap:8px;padding:0}.flow-rail li span.n{width:24px;height:24px}.candidate{grid-template-columns:1fr}.candidate-avatar{display:none}}
