/* alexndr.ai legal pages — reading layout on top of assets/tokens.css (design system v0.3).
   One stylesheet for /privacy, /terms, /legal and /notices so the four pages cannot drift. */

.legal-wrap { max-width: 820px; margin: 0 auto; padding: var(--alx-space-8) var(--alx-space-gutter) var(--alx-space-9); }
.legal-wrap > .upd { display: block; font-family: var(--alx-font-mono); font-size: var(--alx-type-micro-size);
  letter-spacing: var(--alx-type-micro-tracking); text-transform: uppercase; color: var(--alx-color-ink-soft); margin-bottom: var(--alx-space-2); }
.legal-wrap h1 { font-family: var(--alx-font-display); font-size: var(--alx-type-display-4-size);
  line-height: var(--alx-type-display-4-line); font-weight: var(--alx-type-display-4-weight); margin: 0 0 var(--alx-space-2); color: var(--alx-color-ink); }
.legal-wrap .lede { font-size: var(--alx-type-body-lg-size); line-height: var(--alx-type-body-lg-line); color: var(--alx-color-ink-soft); margin: 0 0 var(--alx-space-6); }
.legal-wrap h2 { font-family: var(--alx-font-body); font-size: var(--alx-type-heading-2-size);
  line-height: var(--alx-type-heading-2-line); font-weight: var(--alx-type-heading-2-weight);
  margin: var(--alx-space-7) 0 var(--alx-space-3); padding-top: var(--alx-space-3); border-top: 1px solid var(--alx-color-rule); color: var(--alx-color-ink); }
.legal-wrap h3 { font-family: var(--alx-font-body); font-size: var(--alx-type-heading-size); line-height: var(--alx-type-heading-line);
  font-weight: 400; margin: var(--alx-space-5) 0 var(--alx-space-2); color: var(--alx-color-ink); }
.legal-wrap p, .legal-wrap li { color: var(--alx-color-ink-soft); line-height: 1.72; font-size: var(--alx-type-body-size); }
.legal-wrap ul, .legal-wrap ol { padding-left: 22px; margin: var(--alx-space-3) 0; }
.legal-wrap li { margin: 6px 0; }
.legal-wrap strong { color: var(--alx-color-ink); font-weight: 400; }
.legal-wrap a { color: var(--alx-color-accent); text-decoration: underline; text-underline-offset: 2px; }
.legal-wrap code { font-family: var(--alx-font-mono); font-size: 0.92em; background: var(--alx-color-surface);
  border: 1px solid var(--alx-color-border); border-radius: var(--alx-radius-chip); padding: 1px 5px; }
.legal-meta { background: var(--alx-color-surface); border: 1px solid var(--alx-color-border); border-radius: var(--alx-radius-chip);
  padding: var(--alx-space-4); margin: var(--alx-space-5) 0; }
.legal-meta dl { display: grid; grid-template-columns: minmax(150px, 30%) 1fr; gap: 6px var(--alx-space-4); margin: 0; }
.legal-meta dt { font-family: var(--alx-font-mono); font-size: var(--alx-type-micro-size); letter-spacing: .06em; text-transform: uppercase; color: var(--alx-color-ink-soft); padding-top: 2px; }
.legal-meta dd { margin: 0; color: var(--alx-color-ink); font-size: var(--alx-type-small-size); }
.legal-toc { border-left: 3px solid var(--alx-color-accent); padding: var(--alx-space-2) 0 var(--alx-space-2) var(--alx-space-4); margin: var(--alx-space-5) 0; }
.legal-toc ol { margin: 0; padding-left: 18px; }
.legal-toc a { color: var(--alx-color-ink-soft); text-decoration: none; }
.legal-toc a:hover { color: var(--alx-color-accent); text-decoration: underline; }
.legal-note { border-left: 3px solid var(--alx-color-accent); background: var(--alx-color-accent-soft); padding: var(--alx-space-3) var(--alx-space-4); margin: var(--alx-space-4) 0; }
.legal-note p { color: var(--alx-color-ink); margin: 0; font-size: var(--alx-type-small-size); }
table.legal-table { width: 100%; border-collapse: collapse; margin: var(--alx-space-4) 0; font-size: var(--alx-type-small-size); }
table.legal-table th, table.legal-table td { text-align: left; vertical-align: top; padding: 9px 11px; border-bottom: 1px solid var(--alx-color-rule); color: var(--alx-color-ink-soft); }
table.legal-table th { font-family: var(--alx-font-mono); font-size: var(--alx-type-micro-size); letter-spacing: .06em; text-transform: uppercase; color: var(--alx-color-ink); }
.legal-foot { margin-top: var(--alx-space-8); padding-top: var(--alx-space-4); border-top: 1px solid var(--alx-color-rule); }
.legal-foot .micro { color: var(--alx-color-ink-soft); }
@media (max-width: 640px) { .legal-meta dl { grid-template-columns: 1fr; } }
