/* Shared chrome for Letfolk legal pages. Tokens and header/footer match index.html. */
:root {
  --ink: #1c1b16;
  --muted: #5b574c;
  --paper: #f3eee4;
  --paper-2: #e8e1d3;
  --forest: #1c3628;
  --forest-2: #12241b;
  --cream-on-green: #efe8d8;
  --amber: #a86b10;
  --rule: rgba(28, 27, 22, 0.16);
  --rule-strong: rgba(28, 27, 22, 0.28);
  --page: 1180px;
  --gutter: 24px;
  --serif: "Instrument Serif", "Iowan Old Style", Palatino, "Palatino Linotype", serif;
  --sans: "Inter Tight", "Inter", "Helvetica Neue", system-ui, sans-serif;
  --header-h: 64px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}
html, body { margin: 0; background: var(--paper); color: var(--ink); }
body {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: -0.011em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
button, input { font: inherit; }
:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; }
.skip { position: absolute; left: -999px; top: 0; }
.skip:focus { left: 16px; top: 8px; background: var(--paper); padding: 8px 12px; z-index: 100; }

.wrap {
  width: min(var(--page), calc(100% - 48px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gutter);
}
.rule { border: 0; border-top: 1px solid var(--rule); margin: 0; }
.rule-page { width: 100%; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.site-header .wrap { height: var(--header-h); align-items: center; }
.wordmark {
  grid-column: 1 / 5;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: -0.04em;
  text-decoration: none;
  color: var(--ink);
}
.wordmark:hover { text-decoration: none; }
.wordmark img { height: 32px; width: auto; max-width: none; }
.nav {
  grid-column: 6 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  font-size: 13.5px;
  font-weight: 500;
}
.nav a { text-decoration: none; color: var(--ink); }
.nav a:hover { text-decoration: underline; }
.nav a[aria-current="page"] { text-decoration: underline; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--forest);
  color: var(--cream-on-green);
  text-decoration: none;
  border: 0;
  border-radius: 3px;
  padding: 0 16px;
  height: 40px;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: -0.01em;
  cursor: pointer;
  white-space: nowrap;
}
.btn:hover { background: var(--forest-2); text-decoration: none; }

.legal-page { padding: 56px 0 80px; }
.legal-page .kicker {
  grid-column: 1 / 10;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  margin: 0 0 14px;
}
.legal-page h1 {
  grid-column: 1 / 10;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.02;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  margin: 0 0 16px;
  max-width: 16ch;
}
.legal-page .meta {
  grid-column: 1 / 10;
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 24px;
}
.draft-note {
  grid-column: 1 / 10;
  background: var(--paper-2);
  border-left: 3px solid var(--amber);
  padding: 14px 18px;
  margin: 0 0 36px;
  font-size: 14.5px;
  color: var(--ink);
  max-width: 68ch;
}
.draft-note strong { font-weight: 600; }
.legal-body {
  grid-column: 1 / 10;
  max-width: 68ch;
}
.legal-body h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 1.85rem;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 2.2em 0 0.6em;
}
.legal-body h3 {
  font-family: var(--sans);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 1.6em 0 0.4em;
}
.legal-body p, .legal-body li { margin: 0 0 0.85em; }
.legal-body ul, .legal-body ol { margin: 0 0 1.1em; padding-left: 1.2em; }
.legal-body li { padding-left: 0.2em; }
.legal-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  margin: 0 0 1.4em;
}
.legal-body th, .legal-body td {
  text-align: left;
  vertical-align: top;
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--rule);
}
.legal-body th {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--forest);
}
.legal-body code {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9em;
  background: var(--paper-2);
  padding: 0 0.22em;
}
.legal-body .ph,
.ph {
  display: inline;
  background: var(--paper-2);
  border-bottom: 1px dashed var(--amber);
  padding: 0 0.22em;
  font-weight: 500;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.92em;
  letter-spacing: 0;
  white-space: nowrap;
}
.toc { margin: 0 0 2em; padding: 0; list-style: none; }
.toc li { margin: 0 0 0.35em; padding: 0; }
.toc a { color: var(--forest); }

.site-footer { padding: 40px 0 48px; }
.site-footer .wordmark {
  grid-column: 1 / 4;
  display: block;
  margin-bottom: 14px;
}
.legal-blurb {
  grid-column: 1 / 8;
  font-size: 13px;
  color: var(--muted);
  max-width: 50ch;
  margin: 0 0 10px;
}
.copy {
  grid-column: 1 / 8;
  font-size: 12.5px;
  color: var(--muted);
  margin: 0;
}
.copy + .copy { margin-top: 8px; }
.copy a { color: inherit; }

@media (max-width: 820px) {
  :root { --gutter: 16px; }
  .wordmark img { height: 26px; }
  .wrap { width: calc(100% - 36px); }
  .nav a:not(.btn):not([aria-current="page"]) { display: none; }
  .legal-page { padding: 36px 0 64px; }
  .legal-page .kicker,
  .legal-page h1,
  .legal-page .meta,
  .draft-note,
  .legal-body,
  .site-footer .wordmark,
  .legal-blurb,
  .copy {
    grid-column: 1 / -1;
  }
  .legal-page h1 { font-size: 2.4rem; max-width: none; }
  .legal-body table { font-size: 14px; display: block; overflow-x: auto; }
}
