.fitch-waterfall { max-width: 860px; font: 400 .875rem/1.6 var(--font-body); padding-top: 8px; }
.fitch-waterfall p { max-width: none; }
.fitch-waterfall .fw-intro { margin: 0 0 20px; color: var(--muted); }
.fitch-waterfall .fw-flow, .fitch-waterfall .fw-notes { border-top: 1px solid var(--line); }
.fitch-waterfall .fw-flow > summary, .fitch-waterfall .fw-notes > summary { justify-content: flex-start; font-weight: 600; }
.fitch-waterfall .fw-flow > summary::after, .fitch-waterfall .fw-notes > summary::after { content: '+'; margin-left: auto; }
.fitch-waterfall .fw-flow[open] > summary::after, .fitch-waterfall .fw-notes[open] > summary::after { content: '−'; }
.fitch-waterfall .fw-count { font-size: .8125rem; font-weight: 400; color: var(--muted); }
.fitch-waterfall .fw-flow-body { padding: 4px 0 28px; }
.fitch-waterfall .fw-condition { margin-bottom: 16px; color: var(--muted); }
.fitch-waterfall .fw-pool { border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--wash); padding: 16px 20px; margin-bottom: 24px; }
.fitch-waterfall .fw-pool h4 { margin: 0 0 6px; font: 600 .875rem/1.5 var(--font-body); }
.fitch-waterfall .fw-pool p { margin: 0; }
.fitch-waterfall .fw-steps { list-style: none; max-width: none; padding: 0; margin: 0; }
.fitch-waterfall .fw-step { position: relative; border: 1px solid var(--line); padding: 16px 20px; margin: 0 0 24px; }
.fitch-waterfall .fw-step::before { content: ''; position: absolute; top: -25px; left: 32px; height: 24px; border-left: 1px solid var(--muted); }
.fitch-waterfall .fw-step::after { content: ''; position: absolute; top: -6px; left: 29px; width: 6px; height: 6px; border-right: 1px solid var(--muted); border-bottom: 1px solid var(--muted); transform: rotate(45deg); }
.fitch-waterfall .fw-step:last-child { background: var(--wash); margin-bottom: 0; }
.fitch-waterfall .fw-step-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.fitch-waterfall .fw-rank { flex: 0 0 24px; text-align: center; color: var(--muted); font-variant-numeric: tabular-nums; font-size: .8125rem; }
.fitch-waterfall .fw-step h4 { margin: 0; font: 600 .875rem/1.5 var(--font-body); }
.fitch-waterfall .fw-tag { font-size: .8125rem; color: var(--muted); margin-left: auto; }
.fitch-waterfall .fw-step p { max-width: 72ch; margin: 0; }
.fitch-waterfall .fw-path { margin: 8px 0 0; padding-left: 20px; }
.fitch-waterfall .fw-path li { padding: 2px 0; }
.fitch-waterfall .fw-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 12px; }
.fitch-waterfall .fw-branch { border-left: 2px solid var(--line); padding: 2px 0 2px 12px; min-width: 0; }
.fitch-waterfall .fw-branch h5 { margin: 0; font: 600 .8125rem/1.5 var(--font-body); }
.fitch-waterfall .fw-branch .fw-path { margin-top: 6px; }
.fitch-waterfall .fw-notes-body { padding: 0 0 16px; }
.fitch-waterfall .fw-notes-body h4 { font: 600 .875rem/1.5 var(--font-body); }
.fitch-waterfall .fw-source { border-top: 1px solid var(--line); padding-top: 16px; margin: 8px 0 0; font-size: .8125rem; color: var(--muted); }
.fitch-waterfall .fw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 560px) {
  .fitch-waterfall .fw-pool, .fitch-waterfall .fw-step { padding: 14px 16px; }
  .fitch-waterfall .fw-step::before { left: 28px; }
  .fitch-waterfall .fw-step::after { left: 25px; }
  .fitch-waterfall .fw-branches { grid-template-columns: 1fr; gap: 12px; }
  .fitch-waterfall .fw-tag { flex-basis: 100%; margin-left: 36px; }
  .fitch-waterfall .fw-count { margin-left: auto; }
}
