/* Legal pages: a readable column with a contents rail, in the site's own type. */
.legal { max-width: 1100px; margin: 0 auto; padding: 120px 24px 80px; display: grid; grid-template-columns: 200px 1fr; gap: 48px; }
.legal-nav { position: sticky; top: 100px; align-self: start; display: flex; flex-direction: column; gap: 2px; }
.legal-nav-h { font-family: "Geist", sans-serif; font-weight: 600; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 8px; }
.legal .legal-nav a { font-size: 13.5px; color: var(--ink-3); text-decoration: none; padding: 6px 10px; border-radius: 8px; }
.legal-nav a:hover { color: var(--ink); background: var(--bg-sunken, rgba(0,0,0,.04)); }
.legal-nav a.on { color: var(--ink); font-weight: 600; background: var(--bg-sunken, rgba(0,0,0,.05)); }
.legal article { max-width: 760px; min-width: 0; }
.legal-eyebrow { font-family: "Geist", sans-serif; font-weight: 600; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 10px; }
.legal h1 { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; }
.legal h1 em { font-style: italic; color: var(--accent); }
.legal h1 { font-size: clamp(34px, 5vw, 48px); line-height: 1.05; margin: 0 0 14px; }
.legal-lead { font-size: 17px; color: var(--ink-3); line-height: 1.6; margin: 0 0 18px; }
.legal-operator { font-size: 13px; color: var(--ink-4); line-height: 1.6; margin-bottom: 26px; }
.legal-operator:empty { display: none; }
.legal h2 { font-size: 19px; font-weight: 600; margin: 34px 0 10px; letter-spacing: -.01em; }
.legal h3 { font-size: 15px; font-weight: 600; margin: 18px 0 6px; }
.legal p, .legal li { font-size: 15px; line-height: 1.7; color: var(--ink-2, #2b2b26); }
.legal ul, .legal ol { padding-left: 22px; }
.legal li { margin: 5px 0; }
.legal a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.legal table { width: 100%; border-collapse: collapse; margin: 12px 0 8px; font-size: 14px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 9px 12px; border-bottom: 1px solid var(--rule, #e3e0d6); line-height: 1.55; }
.legal th { font-weight: 600; color: var(--ink); background: var(--bg-sunken, rgba(0,0,0,.03)); }
.legal code { font-family: "Geist Mono", ui-monospace, monospace; font-size: 12.5px; background: var(--bg-sunken, rgba(0,0,0,.05)); padding: 1px 5px; border-radius: 5px; word-break: break-all; }
.legal-note { padding: 14px 16px; border-radius: 10px; background: var(--bg-sunken, rgba(0,0,0,.04)); border: 1px solid var(--rule, #e3e0d6); }
@media (max-width: 820px) {
  .legal { grid-template-columns: 1fr; gap: 20px; padding-top: 96px; }
  .legal-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .legal-nav-h { width: 100%; }
  .legal table { display: block; overflow-x: auto; }
}

/* The cookie notice. SYSTMS sets nothing that needs consent, so this is a
   notice, not a wall: one line, one button, remembered. */
.cookie-notice { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; max-width: 560px; margin: 0 auto; display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 14px; background: var(--ink, #16160f); color: #f4efe4; box-shadow: 0 12px 40px rgba(0,0,0,.25); font-size: 13.5px; line-height: 1.5; }
.cookie-notice a { color: #f4efe4; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice button { flex-shrink: 0; font: inherit; font-weight: 600; padding: 8px 14px; border-radius: 9px; border: 0; background: #f4efe4; color: #16160f; cursor: pointer; }
