/* ===========================================================================
   Legal & policy documents
   Long-form reading. Generous measure, clear hierarchy, printable.
   =========================================================================== */

.legal-doc { max-width: 74ch; }
.legal-doc > .legal-section + .legal-section { margin-top: var(--sp-7); }

.legal-doc h2 {
  font-size: var(--c1-fs-xl);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 2px solid var(--c1-teal-100);
  scroll-margin-top: 100px;
}
.legal-doc h3 {
  font-size: var(--c1-fs-md);
  margin-top: var(--sp-5);
  margin-bottom: var(--sp-2);
  color: var(--c1-teal-800);
}
.legal-doc p { margin-top: var(--sp-3); }
.legal-doc p:first-child { margin-top: 0; }
.legal-doc ul, .legal-doc ol { margin-top: var(--sp-3); padding-left: 1.4em; }
.legal-doc li { margin-top: var(--sp-2); }
.legal-doc .callout { margin-top: var(--sp-4); }
.legal-doc .table-wrap { margin-top: var(--sp-4); }
.legal-doc .legal-meta { margin-top: var(--sp-4); margin-bottom: 0; }

/* ---- Unresolved facts --------------------------------------------------
   Loud on purpose. A missing effective date or officer name must be
   impossible to miss during review — not silently blank, never invented.   */
.todo-mark {
  display: inline-block;
  background: var(--c1-warn-bg);
  color: var(--c1-warn);
  border: 1px dashed var(--c1-warn);
  border-radius: var(--c1-r-sm);
  padding: 2px 8px;
  font-size: var(--c1-fs-xs);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

/* ---- Language taglines ------------------------------------------------- */
.lang-taglines {
  display: grid;
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  padding: var(--sp-5);
  background: var(--c1-bg-subtle);
  border: 1px solid var(--c1-border);
  border-radius: var(--c1-r-md);
}
.lang-taglines p { margin: 0; font-size: var(--c1-fs-sm); line-height: 1.6; }
.lang-taglines p + p { padding-top: var(--sp-3); border-top: 1px solid var(--c1-border); }
.lang-taglines b { color: var(--c1-teal-800); letter-spacing: .04em; }

/* ---- Print ------------------------------------------------------------- */
@media print {
  .doc-layout { display: block; }
  .legal-doc { max-width: none; }
  .legal-doc h2 { break-after: avoid; }
  .legal-doc li, .legal-doc .callout, .legal-meta { break-inside: avoid; }
  .todo-mark { border: 1.5px solid #000; color: #000; background: none; }
  .lang-taglines { border: 1px solid #999; background: none; }
  @page { margin: 16mm; }
}
