/* Shared stylesheet for the public legal pages (legal/*.html). Brand tokens mirror index.html's :root. */
:root {
  --brand:#1f4266; --brand-tint:#eaf0f6; --gold:#9e8159; --gold-tint:#f5eddc;
  --ink:#1b2632; --ink-2:#344150; --mute:#5e6a78; --faint:#8a94a1;
  --bg:#f6f3ec; --card:#ffffff; --line:#e6e0d3; --line-2:#d8d1c2;
  --f-ui:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand:#9cc0e6; --brand-tint:#16283b; --gold:#d8c193; --gold-tint:#2c2619;
    --ink:#eef1f5; --ink-2:#d3d9e1; --mute:#a2acb8; --faint:#7f8995;
    --bg:#0e1824; --card:#152230; --line:#24344a; --line-2:#2e4058;
  }
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:15.5px/1.65 var(--f-ui); }
.top { border-bottom:1px solid var(--line); background:var(--card); }
.top-inner, .foot-inner { max-width:860px; margin:0 auto; padding:14px 16px; display:flex; align-items:center; gap:10px 18px; flex-wrap:wrap; }
.brand { font-family:'Cinzel',Georgia,serif; font-weight:700; letter-spacing:.03em; font-size:16px; color:var(--ink-2); text-decoration:none; }
.brand b { color:var(--brand); font-weight:inherit; }
.top nav { margin-left:auto; display:flex; gap:4px 14px; flex-wrap:wrap; font-size:13px; }
.top nav a, .foot-inner a { color:var(--mute); text-decoration:none; }
.top nav a:hover, .foot-inner a:hover { color:var(--brand); text-decoration:underline; }
.top nav a[aria-current="page"] { color:var(--brand); font-weight:600; }
main { max-width:860px; margin:0 auto; padding:28px 16px 48px; }
h1 { font-size:clamp(26px,4.5vw,34px); line-height:1.2; margin:0 0 6px; letter-spacing:-.01em; }
.meta { color:var(--mute); font-size:13.5px; margin:0 0 22px; }
h2 { font-size:19px; margin:34px 0 8px; padding-top:14px; border-top:1px solid var(--line); scroll-margin-top:12px; }
h3 { font-size:16px; margin:20px 0 4px; }
p, li { color:var(--ink-2); }
a { color:var(--brand); }
ul, ol { padding-left:22px; }
li { margin:3px 0; }
.summary { background:var(--brand-tint); border:1px solid var(--line-2); border-radius:8px; padding:14px 18px; margin:0 0 8px; }
.summary h2 { border:0; margin:0 0 6px; padding:0; font-size:16px; }
.summary ul { margin:6px 0 0; }
.callout { background:var(--gold-tint); border-left:3px solid var(--gold); border-radius:6px; padding:12px 16px; margin:14px 0; }
.caps { text-transform:uppercase; font-size:14px; letter-spacing:.01em; }
.toc { columns:2 240px; column-gap:28px; font-size:14px; margin:10px 0 0; padding-left:20px; }
.toc li { break-inside:avoid; }
table { width:100%; border-collapse:collapse; font-size:14px; margin:10px 0; display:block; overflow-x:auto; }
th, td { text-align:left; vertical-align:top; padding:8px 10px; border-bottom:1px solid var(--line); }
th { color:var(--mute); font-weight:600; font-size:12.5px; text-transform:uppercase; letter-spacing:.03em; }
.docs { list-style:none; padding:0; display:grid; gap:12px; }
.docs li { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:14px 16px; margin:0; }
.docs a { font-weight:600; text-decoration:none; font-size:16px; }
.docs p { margin:4px 0 0; font-size:14px; color:var(--mute); }
footer { border-top:1px solid var(--line); background:var(--card); font-size:12.5px; color:var(--mute); }
@media print { .top nav, footer { display:none; } body { background:#fff; } }
