/* Shared styles for the legal pages (privacy, terms).
   Tokens, header and footer are copied from index.html so the pages match the home page. */
:root{
  --paper:#f6f4ee; --paper-2:#eeebe2; --ink:#1b2422; --ink-2:#4a5653; --ink-3:#5d6967;
  --pine:#1f6f5f; --pine-deep:#174f44; --pine-soft:#dfebe5; --rule:#dcd8cc;
  --measure:70ch; --gutter:clamp(20px,4vw,48px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:24px}
body{overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--pine);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pine-deep)}
:focus-visible{outline:3px solid var(--pine);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.02em;line-height:1.15}
p{margin:0}

/* header (same as index.html) */
.top{display:flex;align-items:center;justify-content:space-between;padding:26px 0 10px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:19px;letter-spacing:-0.01em}
.top nav{display:flex;gap:26px}
.top nav a{color:var(--ink-2);text-decoration:none;font-size:15px;padding:12px 2px;display:inline-block}
.top nav a:hover{color:var(--ink)}
.top nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--pine);text-decoration-thickness:2px;text-underline-offset:6px}
@media (max-width:1000px){.top nav{gap:18px}}
@media (max-width:820px){.top{flex-wrap:wrap;padding-bottom:0}.top nav{width:100%;flex-wrap:wrap;gap:0 18px;margin-top:8px;border-top:1px solid var(--rule)}.top nav a{min-width:44px;min-height:44px;padding:11px 0}}

/* page head */
.doc-head{padding:clamp(32px,6vw,72px) 0 clamp(24px,4vw,40px);border-bottom:1px solid var(--rule)}
.doc-head h1{font-size:clamp(34px,5vw,54px);max-width:18ch;text-wrap:balance}
.doc-head .meta{margin-top:14px;color:var(--ink-2);font-size:15px}
.draft{display:inline-block;margin-top:14px;padding:6px 12px;border-radius:999px;background:var(--pine-soft);color:var(--pine-deep);font-size:14px;font-weight:500}
.doc-head .summary{margin-top:18px;color:var(--ink-2);max-width:var(--measure);font-size:18px}

/* layout: sticky contents on desktop, plain list on mobile */
.doc{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:clamp(28px,4vw,48px) 0 clamp(40px,6vw,72px);align-items:start}
.toc{position:sticky;top:24px;font-size:15px}
.toc h2{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink);border-left-color:var(--pine)}
@media (max-width:860px){
  .doc{grid-template-columns:1fr}
  .toc{position:static;padding-bottom:20px;border-bottom:1px solid var(--rule)}
  .toc ol{border-left:0;padding-left:1.2em;list-style:decimal}
  .toc ol li::marker{color:var(--ink-3)}
  .toc a{display:inline-block;padding:8px 0;border-left:0;margin-left:0}
}

/* prose */
.prose{max-width:var(--measure)}
.prose section{padding:0 0 clamp(26px,3vw,36px)}
.prose section+section{padding-top:clamp(26px,3vw,36px);border-top:1px solid var(--rule)}
.prose h2{font-size:clamp(22px,2.4vw,27px);margin-bottom:12px}
.prose h3{font-size:18px;margin:20px 0 6px}
.prose p{margin:0 0 12px;color:var(--ink-2)}
.prose p:last-child{margin-bottom:0}
.prose ul{margin:0 0 12px;padding-left:1.2em;color:var(--ink-2)}
.prose li{margin:6px 0;padding-left:4px}
.prose li::marker{color:var(--pine)}
.prose strong{color:var(--ink);font-weight:600}
.callout{background:var(--paper-2);border-left:3px solid var(--pine);border-radius:0 12px 12px 0;padding:14px 18px;margin:0 0 12px}
.callout p{color:var(--ink)}
.caps{font-size:16px}

/* footer (index.html footer + legal links) */
footer.site{padding:26px 0 48px;border-top:1px solid var(--rule);color:var(--ink-3);font-size:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer.site a{color:var(--ink-3)}
footer.site nav{display:flex;gap:6px 18px;flex-wrap:wrap}
footer.site nav a{padding:6px 0}
footer.site a[aria-current="page"]{color:var(--ink)}
