/* The plain text pages: one for each company, and the list of all of them. Same paper, type and colours as the chart pages. */
.text-page { max-width: 1320px; }
.crumbs { margin-top: 14px; font-size: 0.875rem; color: var(--muted); }
.crumbs a { color: var(--ink-2); }
.crumbs span[aria-hidden] { margin: 0 4px; color: var(--rule-strong); }

.prose { margin-top: 18px; }
.prose .co-name { margin: 0; font-size: clamp(1.9rem, 4vw, 2.9rem); font-weight: 800; font-stretch: 112%; letter-spacing: -0.02em; line-height: 1.05; overflow-wrap: anywhere; }
.prose .lede { margin: 12px 0 0; max-width: 76ch; font-size: 1.0625rem; line-height: 1.5; color: var(--ink-2); }
.prose h3 { margin: 0 0 8px; font-size: 1.125rem; font-weight: 750; font-stretch: 108%; line-height: 1.25; }
.prose h4 { margin: 22px 0 8px; font-size: 1rem; font-weight: 650; }
.prose section { margin-top: 34px; }
.prose section > p { max-width: 76ch; margin: 8px 0 0; line-height: 1.55; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.pill { padding: 6px 15px; border: 1px solid var(--rule-strong); border-radius: 999px; background: var(--surface); font-size: 0.9375rem; font-weight: 600; text-decoration: none; }
.pill:hover { background: var(--wash); }
.pill:first-child { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.two-lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 0 44px; align-items: start; }

.ledger { width: 100%; max-width: 640px; border-collapse: collapse; background: var(--surface); border: 1px solid var(--rule-strong); border-radius: 8px; overflow: hidden; }
.ledger.wide { max-width: none; margin-top: 22px; }
.ledger caption { padding: 14px 0 8px; text-align: left; font-weight: 650; }
.ledger th, .ledger td { padding: 8px 14px; border-bottom: 1px solid var(--rule); font-weight: 400; text-align: left; vertical-align: baseline; }
.ledger thead th { font-size: 0.8125rem; font-weight: 650; color: var(--ink-2); border-bottom-color: var(--rule-strong); }
.ledger td, .ledger thead th + th { text-align: right; white-space: nowrap; }
.ledger thead th + th { white-space: normal; }
.ledger tbody th { font-stretch: 88%; font-weight: 600; overflow-wrap: anywhere; }
.ledger tr:last-child th, .ledger tr:last-child td { border-bottom: 0; }

.deals { list-style: none; margin: 12px 0 0; padding: 0; max-width: 860px; border-top: 1px solid var(--rule-strong); }
.deals li { padding: 12px 0 14px; border-bottom: 1px solid var(--rule); }
.deals p { margin: 4px 0 0; max-width: 84ch; line-height: 1.5; }
.deals .deal-head { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 18px; margin: 0; }
.deals .deal-head b { font-stretch: 88%; font-weight: 650; }
.deals .deal-head span { font-weight: 700; white-space: nowrap; }
.deals .deal-meta, .deals .deal-note { font-size: 0.875rem; color: var(--ink-2); }

@media (max-width: 640px) {
  .ledger th, .ledger td { padding: 8px 10px; }
  .ledger.wide thead th:nth-child(n+4), .ledger.wide td:nth-child(n+4) { display: none; }     /* a phone keeps the name and the two amounts */
}
