/* ============================================================================
   Legal pages (/privacy, /terms) — minimal shell. Depends on tokens.css only;
   intentionally does NOT load base.css/sections.css (no landing chrome).
   ========================================================================== */
body.legal {
  margin: 0;
  background: var(--c-paper);
  color: var(--c-ink);
  font-family: var(--f-body);
  font-size: var(--step-0);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.legal:lang(en) { font-family: var(--f-latin); }
.legal h1, .legal h2 { font-family: var(--f-head); font-weight: 700; }
.legal:lang(en) h1, .legal:lang(en) h2 { font-family: var(--f-latin); letter-spacing: -0.02em; }

/* --- top bar --- */
.legal-bar {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 0.8rem clamp(1rem, 4vw, 2rem);
  background: var(--c-surface);
  border-block-end: 1px solid var(--c-rule);
}
.legal-bar__brand {
  display: inline-flex; align-items: center; gap: 0.6rem;
  color: var(--c-ink); text-decoration: none;
  font-family: var(--f-head); font-weight: 700; font-size: 1.05rem;
}
.legal-bar__brand img { display: block; }
.legal-bar__lang { color: var(--c-green-deep); font-size: 0.9rem; }

/* --- reading column --- */
.legal-main {
  max-width: 70ch;
  margin-inline: auto;
  padding: clamp(1.5rem, 5vw, 2.5rem) clamp(1rem, 4vw, 2rem) 3rem;
  overflow-wrap: break-word;
}
.legal-main h1 { font-size: var(--step-2); margin: 0; }
.legal-main h1::after {
  content: ""; display: block; width: 72px; height: 3px;
  margin-block-start: 0.5rem; border-radius: 2px;
  background: linear-gradient(90deg, var(--c-gold), transparent);
}
[dir="rtl"] .legal-main h1::after { background: linear-gradient(270deg, var(--c-gold), transparent); }
.legal-updated { color: var(--c-ink-faint); font-size: var(--step--1); margin-block: 0.75rem 2rem; }
.legal-main h2 {
  font-size: var(--step-1); color: var(--c-green-deep);
  margin-block: 2rem 0.5rem; scroll-margin-block-start: 1rem;
}
.legal-main p, .legal-main li { color: var(--c-ink-soft); margin-block: 0 0.75rem; }
.legal-main ul, .legal-main ol { padding-inline-start: 1.3rem; margin-block: 0.5rem 1rem; }
.legal-main li { margin-block-end: 0.9rem; }
.legal-main strong { color: var(--c-ink); }
.legal-main a { color: var(--c-green-deep); text-decoration: underline; text-underline-offset: 2px; }

/* --- legal footer --- */
.legal-foot {
  border-block-start: 1px solid var(--c-rule);
  padding: 1.25rem clamp(1rem, 4vw, 2rem) 1.75rem;
  text-align: center;
  font-size: 0.85rem; color: var(--c-ink-faint);
}
.legal-foot a { color: var(--c-ink-faint); text-decoration: underline; text-underline-offset: 2px; }
.legal-foot a:hover { color: var(--c-ink); }
.legal-foot small { display: block; margin-block-start: 0.5rem; font-size: 0.8rem; }
