:root {
  --legal-navy: #0c162c;
  --legal-blue: #1c386b;
  --legal-text: #181e28;
  --legal-muted: #5f6875;
  --legal-bg: #f5f7fa;
  --legal-surface: #ffffff;
  --legal-border: rgba(12, 22, 44, 0.1);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--legal-bg);
  color: var(--legal-text);
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.legal-wrap { width: 100%; max-width: 820px; margin: 0 auto; padding: 0 20px; }
.legal-header { background: linear-gradient(135deg, var(--legal-navy), var(--legal-blue)); padding: 18px 0; }
.legal-header .legal-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.legal-brand img { height: 34px; width: auto; display: block; }
.legal-nav { display: flex; gap: 8px; }
.legal-nav a {
  color: #fff; text-decoration: none; font-weight: 600; font-size: 15px;
  padding: 10px 14px; border-radius: 999px; min-height: 44px; display: inline-flex; align-items: center;
}
.legal-nav a[aria-current="page"] { background: rgba(255, 255, 255, 0.16); }
.legal-doc {
  background: var(--legal-surface); border: 1px solid var(--legal-border); border-radius: 18px;
  margin-top: 24px; margin-bottom: 24px; padding: 28px 24px 36px;
}
@media (max-width: 520px) { .legal-doc { padding: 22px 18px 28px; border-radius: 14px; } }
@media (min-width: 860px) { .legal-doc { padding: 44px 56px 52px; } }
.legal-doc h1 { font-size: 1.9rem; line-height: 1.2; margin: 0 0 6px; color: var(--legal-navy); }
.legal-doc .legal-lead { color: var(--legal-muted); margin: 0 0 28px; }
.legal-doc h2 { font-size: 1.25rem; margin: 36px 0 10px; color: var(--legal-navy); scroll-margin-top: 16px; }
.legal-doc h3 { font-size: 1.05rem; margin: 22px 0 6px; }
.legal-doc p, .legal-doc li { overflow-wrap: anywhere; }
.legal-doc ul, .legal-doc ol { padding-left: 1.3em; }
.legal-doc li { margin: 6px 0; }
.legal-doc a { color: var(--legal-blue); }
.legal-toc { background: var(--legal-bg); border-radius: 12px; padding: 14px 20px; margin: 0 0 8px; }
.legal-toc ol { margin: 6px 0; }
.legal-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.95rem; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--legal-border); }
.legal-table th { color: var(--legal-muted); font-weight: 600; }
@media (max-width: 640px) {
  .legal-table thead { display: none; }
  .legal-table tr { display: block; border-bottom: 1px solid var(--legal-border); padding: 8px 0; }
  .legal-table td { display: block; border: 0; padding: 4px 0; }
  .legal-table td::before { content: attr(data-label); display: block; font-weight: 600; color: var(--legal-muted); font-size: 0.85rem; }
}
.legal-callout { border-left: 4px solid var(--legal-blue); background: var(--legal-bg); padding: 12px 16px; border-radius: 0 10px 10px 0; margin: 16px 0; }
.legal-fill { background: #fff1a8; color: #4a3b00; padding: 0 4px; border-radius: 4px; }
.legal-pending { background: #fff8d6; border: 1px solid #ecd67a; color: #4a3b00; border-radius: 12px; padding: 12px 16px; margin-bottom: 20px; font-size: 0.95rem; }
.legal-footer { color: var(--legal-muted); font-size: 0.9rem; padding: 0 0 32px; }
.legal-footer p { margin: 4px 0; }
