/* Outfit — shared tokens.
   These are Theme.swift's values, not an approximation of them: the site and
   the app are the same monochrome register. No chromatic accent anywhere;
   black is the action colour and the photography does the work. */
:root {
  --paper:#F6F4F1; --surface:#FFFFFF; --plate:#EAE7E1;
  --ink:#111111; --ink2:#6E6E68; --ink3:#8A8A84; --line:#E6E3DD;
  --onAccent:#F6F4F1;
  --measure:min(1120px, 92vw);
  /* A settle, never a bounce: UI the reader did not throw is critically damped. */
  --settle:cubic-bezier(.22,1,.36,1);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper:#121212; --surface:#1C1C1C; --plate:#1E1E1E;
    --ink:#F5F3EF; --ink2:#A8A8A2; --ink3:#8E8E88; --line:#2E2E2C;
    --onAccent:#111111;
  }
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
body {
  margin:0; background:var(--paper); color:var(--ink);
  font:400 17px/1.6 var(--sans); letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3 { letter-spacing:-.032em; line-height:1.04; font-weight:600; margin:0; }
a { color:inherit; }
img { max-width:100%; display:block; }

/* The eyebrow: the app's MicroLabel — tracked, uppercase, tertiary. */
.eyebrow { font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--ink3); margin:0 0 14px; }

.wrap { width:var(--measure); margin:0 auto; }
hr { border:0; border-top:1px solid var(--line); margin:0; }

/* Prose, for /privacy and /terms — same register, comfortable measure. */
.prose { max-width:none; width:min(720px,92vw); margin:0 auto; padding:96px 0 96px; }
.prose h1 { font-size:clamp(30px,5vw,42px); margin:0 0 6px; }
.prose h2 { font-size:20px; margin:38px 0 10px; letter-spacing:-.02em; }
.prose p, .prose li { color:var(--ink); }
.prose li { margin-bottom:6px; }
.prose .updated { color:var(--ink2); font-size:14px; margin:0 0 30px; }
.prose a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--ink3); }
.prose table { border-collapse:collapse; width:100%; font-size:15px; margin:14px 0; }
.prose th,.prose td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
.prose th { color:var(--ink2); font-weight:600; font-size:13px; letter-spacing:.02em; }
.prose footer { color:var(--ink2); font-size:14px; }
