/* Text pages: contact and docs. Uses the tokens and header/footer from style.css. */
.page-hero { padding-bottom: 28px; }
.page-hero h1 { margin-top: 22px; max-width: 760px; }
.page-lede { max-width: 680px; margin: 16px 0 0; font-size: 17px; line-height: 1.7; color: #5d6469; }
.page-body { padding-block: 8px 64px; }
.page-lede a, .page-body a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
.page-body h2 { font-size: 22px; font-weight: 500; letter-spacing: -.02em; margin: 0 0 10px; }
.page-body p, .page-body li { font-size: 15px; line-height: 1.75; color: #4f565b; }
.page-body p { margin: 0 0 12px; }
.page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.page-grid > article { padding: 26px 26px 18px 0; border-bottom: 1px solid var(--line); }
.page-grid > article:nth-child(even) { padding-left: 26px; border-left: 1px solid var(--line); }
.page-section { padding-top: 34px; margin-top: 30px; border-top: 1px solid var(--line); }
.page-section ol, .page-section ul { padding-left: 20px; margin: 0 0 12px; }
.page-facts { display: grid; grid-template-columns: 180px minmax(0, 1fr); margin: 0; border-top: 1px solid var(--line); }
.page-facts dt, .page-facts dd { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.6; }
.page-facts dt { color: #6b767e; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding-top: 15px; }
.page-facts dd { color: #2b3034; overflow-wrap: anywhere; }
.page-body code { font: 14px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: var(--accent-soft); color: #6b2f0c; padding: 1px 5px; border-radius: 3px; }
.page-table-wrap { overflow-x: auto; }
.page-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.page-table th, .page-table td { text-align: left; vertical-align: top; padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line); line-height: 1.55; }
.page-table th { font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #6b767e; }
.page-table td:first-child { white-space: nowrap; }
.page-note { padding: 14px 16px; background: var(--accent-soft); border-radius: 3px; color: #6b2f0c; }

@media (max-width: 760px) {
  .page-grid { grid-template-columns: 1fr; }
  .page-grid > article, .page-grid > article:nth-child(even) { padding: 22px 0 12px; border-left: 0; }
  .page-facts { grid-template-columns: 1fr; }
  .page-facts dt { padding-bottom: 0; border-bottom: 0; }
  .page-lede { font-size: 16px; }
}
