/* Subprocessors page only. Shared tokens and .prose live in /styles.css. */
.sub-page { padding: 32px 0 16px; }
.sub-intro { max-width: 760px; }
.sub-glance { list-style: none; margin: 24px 0; padding: 0; display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
@media (min-width: 900px) { .sub-glance { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sub-glance li { margin: 0; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: var(--fs-sm); color: var(--muted); }
.sub-glance strong { display: block; font-size: var(--fs-h3); color: var(--ink); }
.sub-table table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.sub-table th, .sub-table td { text-align: left; vertical-align: top; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.sub-table thead th { background: var(--bg); font-weight: 700; }
.sub-table tbody th { font-weight: 700; }
.sub-table tbody tr:last-child > * { border-bottom: 0; }
.sub-table a { overflow-wrap: anywhere; }
.sub-cond { display: block; margin-top: 4px; font-weight: 400; font-size: var(--fs-xs); color: var(--muted); }
.sub-notes { max-width: 760px; margin-top: 32px; }
.sub-notes h2 { margin-top: 0; }

@media (min-width: 900px) {
  .sub-table { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
  .sub-table tbody th { width: 15%; }
  .sub-table td:nth-child(2), .sub-table td:nth-child(3) { width: 25%; }
}
/* Phones and tablets: one card per provider. */
@media (max-width: 899px) {
  .sub-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sub-table table, .sub-table tbody, .sub-table tr, .sub-table th, .sub-table td { display: block; width: auto; }
  .sub-table tr { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 12px; padding: 4px 0 8px; }
  .sub-table tbody th { padding: 14px 16px 6px; border: 0; font-size: var(--fs-body); }
  .sub-table td { padding: 6px 16px; border: 0; }
  .sub-table td[data-label]::before { content: attr(data-label); display: block; font: 500 12px/1.4 var(--mono); text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); margin-bottom: 2px; }
}
