/* doc.css — the shared stylesheet for privacy.html and support.html.
 *
 * SHARED, UNLIKE index.html, WHICH INLINES ITS OWN. The landing page is one
 * file with one job and gets read once; these two are prose documents that
 * must look identical to each other, and two copies of the same rules would
 * drift the first time one was edited. That is the same argument as
 * NutrientRows, at the scale of a stylesheet.
 */
:root {
  color-scheme: light dark;
  --bg: #f7fbfd; --panel: #ffffff; --line: #e3ecf2;
  --text: #12161c; --muted: #5a6673; --accent: #3f7fd8;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b0c0e; --panel: #14161a; --line: #23262c;
    --text: #f2f3f5; --muted: #9aa0a9; --accent: #6f9fff;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: 17px/1.7 -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.wrap { width: min(720px, 100% - 40px); margin-inline: auto; }
a { color: var(--accent); }

header.bar {
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}
header.bar .wrap { padding: 12px 0; }
.home { display: inline-flex; align-items: center; gap: 10px;
        text-decoration: none; color: var(--text); }
.home img { width: 28px; height: 28px; border-radius: 7px; }
.home strong { font-size: .93rem; }

/* PROSE WIDTH IS DELIBERATELY NARROW. A privacy policy nobody can read is a
 * privacy policy that has not been published, and a 40-em measure is the
 * single biggest thing separating one that gets read from one that does not. */
main.doc { padding: 44px 0 72px; }
h1 { font-size: clamp(1.9rem, 5vw, 2.5rem); letter-spacing: -.02em; margin: 0 0 6px; }
.updated { color: var(--muted); font-size: .85rem; margin: 0 0 26px; }
.lede { font-size: 1.06rem; color: var(--text); }
h2 { font-size: 1.18rem; letter-spacing: -.01em; margin: 38px 0 8px;
     padding-top: 18px; border-top: 1px solid var(--line); }
p, ul { margin: 0 0 14px; }
ul { padding-left: 1.2em; }
li { margin-bottom: 6px; }
strong { font-weight: 650; }

.btn {
  display: inline-block; padding: 12px 20px; border-radius: 12px;
  background: var(--text); color: var(--bg); text-decoration: none;
  font-weight: 600; font-size: .95rem; margin-bottom: 8px;
}

footer {
  border-top: 1px solid var(--line); padding: 28px 0 48px;
  color: var(--muted); font-size: .85rem;
}
footer .wrap { display: flex; gap: 18px; flex-wrap: wrap; }
footer nav { margin-left: auto; display: flex; gap: 16px; }
footer a { color: var(--muted); }

/* --------------------------------------------------------------- tables
   Added 03/08/2026 for the GDPR page's processing table and rights list.
   Both were being rendered with browser defaults — serif, hairline borders,
   full-bleed — which looked like a different website had been pasted in. */
.doc table {
  width: 100%; border-collapse: collapse; margin: 18px 0 26px;
  font-size: .93rem;
}
.doc th, .doc td {
  text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.doc th { font-weight: 600; color: var(--text); }
.doc td { color: var(--muted); }
/* SCROLLS RATHER THAN OVERFLOWS on a phone. A three-column table at 320px
   either wraps to unreadable slivers or pushes the page sideways; the second
   is worse because it breaks every other section too. */
@media (max-width: 560px) {
  .doc table { display: block; overflow-x: auto; white-space: nowrap; }
  .doc td { white-space: normal; min-width: 9rem; }
}

/* ------------------------------------------------------- rights list */
.doc dl { margin: 18px 0 26px; }
.doc dt {
  font-weight: 600; margin-top: 16px;
}
.doc dd {
  margin: 4px 0 0; color: var(--muted);
}
