Data source: Ohio Secretary of State campaign finance filings (2022–2025). Built with Observable Framework + D3.js.