
.how-hero h1{font-size:44px;line-height:1.1;letter-spacing:-0.02em;margin:0 0 12px}
.how-hero{border-top:0}

.part-list,.promise-list{list-style:none;margin:0;padding:0}

.vt{list-style:none;margin:0;padding:0;max-width:980px}
.vt-step{display:grid;grid-template-columns:140px 28px minmax(0,1fr);position:relative}
.vt-time{margin:0;text-align:right;font-family:var(--aik-font-heading);font-weight:600;font-size:22px;line-height:1.1;padding:2px 0 40px}
.vt-time small{display:block;font-family:var(--aik-font-body);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.vt-dot{position:relative;display:block}
.vt-dot::before{content:"";position:absolute;left:13px;top:0;bottom:0;width:2px;background:var(--line)}
.vt-dot::after{content:"";position:absolute;left:6px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--text);box-sizing:border-box}
.vt-step.pay .vt-dot::after{background:var(--accent);border-color:var(--accent)}
.vt-step.last .vt-dot::before{background:none;border-left:2px dashed var(--line);width:0}

.vt-sub .vt-time{font-size:17px;color:var(--muted);padding-top:5px}
.vt-sub .vt-dot::after{left:9px;top:9px;width:10px;height:10px}
.vt-body{padding:0 0 40px 14px;min-width:0}
.vt-body h3{font-size:20px;margin:0 0 8px}
.vt-body p{margin:0;max-width:66ch}
.vt-plain{margin-top:10px !important;font-size:15px;color:var(--muted)}
.vt-plain .label{font-size:11px;margin-right:6px}
.vt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px !important}
.vt-chips .chip{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:4px 12px;background:var(--surface)}
.vt-chips .money-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--muted)}
.vt-step.pay .vt-body{background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:16px 18px 18px;margin:-16px 0 28px 14px}
.vt-step.pay .money-chip{color:var(--accent-text);border-color:var(--accent);font-weight:700}
.vt-chips .todo{display:inline-block;border:1px dashed var(--accent);border-radius:6px;padding:0 6px}

.lanes-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 20px;overflow-x:auto}
.lanes{min-width:720px;margin:0}
.lanes thead th{border-bottom:1px solid var(--text)}
.lanes tbody th{width:24%;font-weight:600;text-transform:none;letter-spacing:0;font-size:15px;color:var(--text)}
.lanes tbody th .when{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-weight:500;margin-bottom:2px}
.lanes td.n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;white-space:nowrap}
.lanes tr.pay th,.lanes tr.pay td{background:var(--wash)}
.lanes tr.pay td.n{color:var(--accent-text);font-weight:700}
.lanes tbody tr:last-child th,.lanes tbody tr:last-child td{border-bottom:0}
.lanes .todo{display:inline-block;border:1px dashed var(--accent);border-radius:6px;padding:0 6px;font-family:var(--aik-font-body)}

@media (max-width:720px){
  .how-hero h1{font-size:34px}
  .vt-step{grid-template-columns:64px 24px minmax(0,1fr)}
  .vt-time{font-size:15px}
  .vt-dot::before{left:11px}
  .vt-dot::after{left:4px}
  .vt-sub .vt-time{font-size:13px}
  .vt-sub .vt-dot::after{left:7px}
  .vt-body{padding-left:8px}
  .vt-step.pay .vt-body{margin-left:8px}
}
