/* Keep captions in their table's native layout. Narrow-screen tables that
   stack their rows already switch their caption to block layout as needed. */
main#main table > caption {
  caption-side: top;
  margin: 0;
  padding: .55rem .75rem;
  border-block-start: 2px solid var(--blue-mid);
  background: var(--surface);
  color: var(--ink);
  font-size: .94rem;
  font-weight: 650;
  line-height: 1.45;
  text-align: start;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Long coverage labels may use another line as the reader enlarges text. */
main#main :is(.hp-case-table,.property-ledger,.whole-example-table,.life-example-table,.plan-table) :is(th,td) { overflow-wrap: anywhere; }

@media print {
  main#main table > caption {
    padding-inline: 0;
    border-block-start: 1px solid currentColor;
    background: transparent;
    color: #111;
    break-after: avoid;
  }
}
