/* Aptus.AI letterhead styles; fonts self-hosted (the distribution's CSP allows same-origin only) */
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/hanken-grotesk-400.woff2) format('woff2'); }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/hanken-grotesk-600.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/plus-jakarta-sans-500.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/plus-jakarta-sans-600.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/plus-jakarta-sans-700.woff2) format('woff2'); }
/* Aptus.AI letterhead: brand #2e0058, body #434343, Hanken Grotesk body, Plus Jakarta Sans headings and footer */
  :root { color-scheme: light; --brand: #2e0058; --ink: #434343; --rule: #e6e2ee; }
  body { margin: 0; padding: 0 16px; font: 16px/1.6 "Hanken Grotesk", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; color: var(--ink); background: #ffffff; }
  .page { max-width: 760px; margin: 0 auto; padding: 32px 0 0; }
  header.letterhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 20px; border-bottom: 2px solid var(--brand); }
  header.letterhead img { width: 190px; height: auto; display: block; }
  header.letterhead .kicker { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; color: var(--brand); font-size: 0.95rem; letter-spacing: 0.02em; text-align: right; }
  h1 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; color: var(--brand); font-size: 1.9rem; margin: 36px 0 6px; }
  h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; color: var(--brand); font-size: 1.2rem; margin: 34px 0 8px; padding-bottom: 4px; border-bottom: 1px solid var(--rule); }
  p, li { max-width: 72ch; }
  a { color: var(--brand); }
  code { font: 0.92em ui-monospace, SFMono-Regular, Menlo, monospace; background: #f5f2f9; padding: 1px 5px; border-radius: 4px; }
  table { border-collapse: collapse; width: 100%; margin: 12px 0; font-size: 0.95rem; }
  th, td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--rule); }
  th { background: #f5f2f9; color: var(--brand); font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; }
  .lead { color: #5b5f6b; margin-bottom: 24px; }
  blockquote.clause { margin: 12px 0 20px; padding: 14px 18px; border-left: 3px solid var(--brand); background: #f5f2f9; }
  blockquote.clause p { margin: 0; }
  h3 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; color: var(--brand); font-size: 1rem; margin: 22px 0 6px; }
  pre { margin: 10px 0 14px; padding: 12px 16px; background: #f5f2f9; border-radius: 6px; overflow-x: auto; }
  pre code { background: none; padding: 0; font-size: 0.95rem; }
  nav.toc { margin: 24px 0 8px; padding: 14px 18px; border: 1px solid var(--rule); border-radius: 6px; }
  nav.toc .toc-title { margin: 0 0 6px; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; color: var(--brand); }
  nav.toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
  nav.toc li { margin: 2px 0; }
  ol.steps li { margin: 4px 0; }
  .note { padding: 10px 14px; border-left: 3px solid var(--brand); background: #f5f2f9; }
  @media (max-width: 560px) { nav.toc ol { columns: 1; } td code, li code { word-break: break-all; } th, td { padding: 8px 6px; } }
  footer.letterhead { margin-top: 56px; padding: 18px 0 32px; border-top: 2px solid var(--brand); text-align: center; font-family: "Plus Jakarta Sans", sans-serif; font-size: 0.72rem; line-height: 1.5; color: var(--brand); }
  footer.letterhead .brand { font-weight: 600; }
