/* The privacy page every brand shares (kinds-src/privacy.html, 2026-10-11). Neutral on purpose: colour and type come
   only from the five variables each brand's theme sets on :root (public/assets/brand-<id>.css), with plain fallbacks.
   Every class is doc- prefixed so a theme's rules for its own home page don't reach in. */
.doc-body {
  margin: 0;
  background: var(--brand-paper, #ffffff);
  color: var(--brand-ink, #16181d);
  font: 400 18px/1.6 var(--brand-font-text, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.doc-body *, .doc-body *::before, .doc-body *::after { box-sizing: border-box; }
.doc-wrap { width: 100%; max-width: 760px; margin: 0 auto; padding: 0 20px; }

.doc-top { border-bottom: 1px solid rgba(0, 0, 0, 0.14); border-bottom-color: color-mix(in srgb, var(--brand-ink, #16181d) 16%, transparent); }
.doc-top-row { display: flex; align-items: center; min-height: 76px; }
.doc-wordmark { display: inline-flex; align-items: center; min-height: 48px; color: inherit; text-decoration: none; font: 700 22px/1 var(--brand-font-display, inherit); }
/* A logo that starts with its mark: the space a kind's own header puts between mark and name. */
.doc-wordmark > svg:first-child { margin-right: 12px; }

.doc-main { padding: 48px 0 72px; }
.doc h1 { margin: 0 0 6px; font: 700 44px/1.1 var(--brand-font-display, inherit); letter-spacing: -0.01em; }
.doc h2 { margin: 40px 0 10px; font: 700 24px/1.25 var(--brand-font-display, inherit); text-wrap: balance; }
.doc p { margin: 0 0 16px; max-width: 66ch; font-size: 18px; }
.doc .doc-updated { font-size: 16px; }

.doc a, .doc-foot a {
  color: inherit; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px;
  text-decoration-color: var(--brand-accent, currentColor); overflow-wrap: anywhere;
}
.doc a:hover, .doc-foot a:hover { text-decoration-thickness: 3px; }
.doc a:focus-visible, .doc-foot a:focus-visible, .doc-wordmark:focus-visible { outline: 3px solid var(--brand-ink, #16181d); outline-offset: 3px; border-radius: 2px; }

.doc-foot { border-top: 1px solid rgba(0, 0, 0, 0.14); border-top-color: color-mix(in srgb, var(--brand-ink, #16181d) 16%, transparent); padding: 16px 0 24px; font-size: 16px; }
.doc-foot-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 24px; }
.doc-foot .doc-disclosure { margin: 0; }
.doc-foot nav { display: flex; flex-wrap: wrap; gap: 0 24px; }
.doc-foot nav a { display: inline-flex; align-items: center; min-height: 48px; }

@media (max-width: 640px) {
  /* Nothing on a phone under 17 px, whatever a brand's own theme says about bare p or a. */
  .doc-body, .doc p, .doc .doc-updated, .doc-foot, .doc-foot p, .doc-foot a { font-size: 17px; }
  .doc-main { padding: 32px 0 56px; }
  .doc h1 { font-size: 36px; }
  .doc h2 { margin-top: 32px; font-size: 22px; }
}
