/* Calmatte legal pages — the same paper the app is printed on.
   Self-hosted fonts, no third-party requests: a privacy policy that phones a
   font CDN to be read is a poor advertisement for itself. */

@font-face{font-family:'Lexend';src:url('/fonts/Lexend.ttf')format('truetype-variations');font-weight:100 900;font-display:swap}
@font-face{font-family:'Bricolage';src:url('/fonts/BricolageGrotesque.ttf')format('truetype-variations');font-weight:200 800;font-display:swap}

:root{
  --paper:#f4f0e8; --sand:#eae4d8; --green:#2f6b52; --on-green:#f4f0e8;
  --ink:#1c1a16; --ink-body:#26231d; --ink-2:#57544c; --ink-3:#66655d;
  --faint:#6e6b65; --hair:#ddd6c7; --clay:#a85f22;
  --tint-note:#dfe8da; --tint-warn:#f9e8db;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--paper); color:var(--ink-body);
  font-family:'Lexend',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:16px; line-height:1.62; -webkit-font-smoothing:antialiased;
  padding:32px 20px 96px;
}
.wrap{max-width:760px;margin:0 auto}

a{color:var(--green);text-underline-offset:3px}
a:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}

header.doc{margin-bottom:26px}
.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;margin-bottom:20px}
.brand .mark{width:30px;height:30px;border-radius:10px;background:var(--green);
  display:flex;align-items:center;justify-content:center;color:var(--on-green);
  font-weight:700;font-size:14px}
.brand span{font-weight:600;font-size:15px;color:var(--ink)}
h1{font-family:'Bricolage',serif;font-size:clamp(30px,6vw,42px);line-height:1.06;
  letter-spacing:-1.3px;font-weight:700;margin:0 0 12px;color:var(--ink)}
.lede{font-size:17px;color:var(--ink-2);margin:0 0 14px;max-width:60ch}
.dates{font-size:13px;color:var(--ink-3)}

nav.toc{background:var(--sand);border-radius:22px;padding:18px 20px;margin:22px 0 30px}
nav.toc h2{font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 10px}
nav.toc ol{margin:0;padding-left:20px;columns:2;column-gap:26px}
nav.toc li{margin:0 0 6px;break-inside:avoid;font-size:14px}
@media (max-width:560px){nav.toc ol{columns:1}}

h2.sec{font-family:'Bricolage',serif;font-size:23px;line-height:1.2;letter-spacing:-.5px;
  font-weight:700;color:var(--ink);margin:38px 0 12px;scroll-margin-top:20px}
h3{font-size:15.5px;font-weight:700;color:var(--ink);margin:24px 0 8px}
p{margin:0 0 14px;max-width:68ch}
ul,ol.body{margin:0 0 16px;padding-left:22px;max-width:68ch}
li{margin:0 0 8px}
strong{font-weight:600;color:var(--ink)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:var(--sand);padding:1px 6px;border-radius:6px}

/* A short, plain restatement at the top of a long section. */
.plain{background:var(--tint-note);border-radius:18px;padding:15px 18px;margin:0 0 18px;
  font-size:14.5px;color:var(--ink-body)}
.plain strong{display:block;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--green);margin-bottom:6px;font-weight:600}

.warn{background:var(--tint-warn);border-radius:18px;padding:16px 18px;margin:0 0 18px;
  font-size:14.5px;color:#7a4210}
.warn strong{color:#7a4210}

table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14px;display:block;overflow-x:auto}
thead th{text-align:left;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--ink-3);font-weight:600;padding:0 14px 8px 0;white-space:nowrap}
tbody td{padding:11px 14px 11px 0;border-top:1px solid var(--hair);vertical-align:top;min-width:150px}
tbody td:first-child{font-weight:600;color:var(--ink)}

footer.doc{margin-top:52px;padding-top:22px;border-top:1px solid var(--hair);
  font-size:13.5px;color:var(--faint)}
footer.doc a{font-weight:600}
.footlinks{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}

@media print{
  body{padding:0;background:#fff;font-size:11pt}
  nav.toc{break-inside:avoid}
  h2.sec{break-after:avoid}
  .plain,.warn{border:1px solid #ccc;background:#fff}
}
