/* Policy / info page body: an ordered flow of heading, lede, rate-table, card-grid and accordion
   groups inside one container. Brand-neutral and reusable for any long-form policy or info page.
   The hairline accordion is the shared faq-list component (markup + CSS + JS), and the table frame
   is the same 2-column comparison look comparison-split uses — the ratio here holds at every width
   and only the cell padding/type step down on narrow screens. */
.policy-content {
  display: block;
  background: rgba(var(--color-background));
  color: rgba(var(--color-text));
}
/* The compact page rhythm (56px, 40px on narrow screens) lives on the wrapper so the keyed
   container measures as the bare content box. */
.policy-content--pad-top { padding-top: 56px; }
.policy-content--pad-bottom { padding-bottom: 56px; }
.policy-content--pad-both { padding-block: 56px; }
@media (max-width: 560px) {
  .policy-content--pad-top { padding-top: 40px; }
  .policy-content--pad-bottom { padding-bottom: 40px; }
  .policy-content--pad-both { padding-block: 40px; }
}
.policy-content__inner { display: block; }

.policy-content__heading { margin-block: var(--gap-above, 44px) var(--gap-below, 18px); }
.policy-content__lede { margin-top: var(--gap-above, 16px); max-width: var(--lede-width, 52ch); }

.policy-content__table {
  margin-top: var(--gap-above, 0px);
  display: grid; gap: 1px; background: var(--theme-line-2);
  border: 1px solid var(--theme-line-2); border-radius: 16px; overflow: hidden;
}
.policy-content__thead,
.policy-content__trow { display: grid; grid-template-columns: var(--policy-table-cols, 1.5fr 1fr); }
.policy-content__thead {
  background: var(--theme-ink); color: var(--theme-cream);
  font: 600 12px/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase;
}
.policy-content__thead > div { padding: 14px 16px; }
.policy-content__thead > div:nth-child(2) { color: var(--theme-accent); }
/* The rows sit in one grid cell, so the frame's 1px gap draws a single rule under the header
   (the source look). --row-rules puts each row in the grid instead, hairlining every row. */
.policy-content__tbody { display: block; }
.policy-content__table--row-rules .policy-content__tbody {
  display: grid; gap: 1px; background: var(--theme-line-2);
}
.policy-content__trow { background: rgba(var(--color-card-background)); font-size: 14px; }
.policy-content__trow > div { padding: 15px 16px; font-weight: 600; }
.policy-content__trow > div:last-child { color: var(--theme-text-faint); }

.policy-content__cards { margin-top: var(--gap-above, 36px); }
.policy-content__card-body { margin-top: var(--gap-above, 10px); }

.policy-content__acc { margin-top: var(--gap-above, 0px); }

@media (max-width: 760px) {
  .policy-content__thead > div,
  .policy-content__trow > div { padding: 12px; font-size: 13px; }
}
