/* Shared styles for the legal pages. Tokens mirror index.html so the pages read as one site. */
:root {
  --ground:#F7F5F0; --surface:#FFFFFF; --tint:#EFEAE1;
  --ink:#1B2433; --ink-soft:#4A5468; --muted:#5F6779;
  --line:#E1DCD2; --line-strong:#CFC7B9;
  --human:#C9502F; --human-strong:#B04525; --on-accent:#FFF7F4;
  --deep:#141B26; --on-deep:#F4F1EA; --on-deep-soft:#B9BFCB; --deep-line:#2A3444;
  --mk-ink:#1B2433; --mk-acc:#C9502F;
  --display:'Fraunces', Georgia, 'Times New Roman', serif;
  --body:'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, Consolas, monospace;
  --page:67.5rem; --gutter:28px; --prose:44rem;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ground:#10161F; --surface:#18202C; --tint:#1D2633; --ink:#F2EFE8; --ink-soft:#C3C9D4; --muted:#9AA2B1;
    --line:#2A3444; --line-strong:#3A4658; --human:#F08A6C; --human-strong:#F5A288; --on-accent:#10161F;
    --deep:#0A0E15; --on-deep:#F2EFE8; --on-deep-soft:#A9B1BF; --deep-line:#232C3B;
    --mk-ink:#F4F1EA; --mk-acc:#F08A6C;
  }
}
:root[data-theme="dark"] {
  --ground:#10161F; --surface:#18202C; --tint:#1D2633; --ink:#F2EFE8; --ink-soft:#C3C9D4; --muted:#9AA2B1;
  --line:#2A3444; --line-strong:#3A4658; --human:#F08A6C; --human-strong:#F5A288; --on-accent:#10161F;
  --deep:#0A0E15; --on-deep:#F2EFE8; --on-deep-soft:#A9B1BF; --deep-line:#232C3B;
  --mk-ink:#F4F1EA; --mk-acc:#F08A6C;
}

* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--ground); color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-wrap:break-word; }
a { color:var(--human-strong); text-underline-offset:3px; }
a:hover { color:var(--ink); }
:focus-visible { outline:2px solid var(--human); outline-offset:3px; }
.wrap { max-width:var(--page); margin:0 auto; padding-inline:var(--gutter); }
@media (max-width:640px) { :root { --gutter:16px; } }

/* Header */
header.top { position:sticky; top:0; z-index:30; background:var(--ground); background:color-mix(in srgb, var(--ground) 92%, transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.bar { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:70px; }
.wordmark { display:inline-flex; align-items:center; flex:none; font-family:var(--display); font-weight:600; font-size:1.8rem; letter-spacing:-0.03em; color:var(--ink); text-decoration:none; line-height:1; }
.wordmark:hover { color:var(--ink); }
.wordmark .mark { width:38px; height:38px; flex:none; margin-right:.5rem; transform:rotate(180deg); }
.wordmark .h { color:var(--human); }
.back { color:var(--ink-soft); text-decoration:none; font-weight:500; font-size:.97rem; }
.back:hover { color:var(--ink); }
@media (max-width:640px) { .wordmark { font-size:1.5rem; } .wordmark .mark { width:32px; height:32px; margin-right:.4rem; } }

/* Prose */
main { padding-block:3.5rem 5rem; }
.prose { max-width:var(--prose); }
.kicker { font-family:var(--mono); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 1rem; }
h1 { font-family:var(--display); font-weight:500; letter-spacing:-0.02em; font-size:clamp(2.2rem,5vw,3.4rem); line-height:1.08; margin:0 0 .75rem; }
h2 { font-family:var(--display); font-weight:500; letter-spacing:-0.01em; font-size:1.6rem; line-height:1.2; margin:2.6rem 0 .8rem; }
h3 { font-family:var(--body); font-weight:700; font-size:1.05rem; margin:1.8rem 0 .5rem; }
.lede { font-size:1.15rem; color:var(--ink-soft); margin:0 0 .6rem; }
.meta { color:var(--muted); font-size:.92rem; margin:0 0 2.4rem; }
p { margin:0 0 1rem; }
ul, ol { margin:0 0 1rem; padding-left:1.3rem; }
li { margin-bottom:.4rem; }
li > ul { margin-top:.4rem; }
strong { font-weight:700; }
.box { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.2rem 1.4rem; margin:1.4rem 0; }
.box p:last-child { margin-bottom:0; }
table { border-collapse:collapse; width:100%; margin:0 0 1.4rem; font-size:.95rem; }
th, td { text-align:left; vertical-align:top; padding:.6rem .7rem; border-bottom:1px solid var(--line); }
th { font-weight:700; font-size:.85rem; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
@media (max-width:640px) { table, thead, tbody, tr, th, td { display:block; } thead { display:none; } td { padding:.3rem 0; border:0; } td::before { content:attr(data-h); display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); } tr { padding:.8rem 0; border-bottom:1px solid var(--line); } }
.toc { background:var(--tint); border-radius:12px; padding:1rem 1.3rem; margin:0 0 2.4rem; font-size:.95rem; }
.toc ol { margin:0; padding-left:1.2rem; columns:2; column-gap:2rem; }
.toc li { break-inside:avoid; margin-bottom:.3rem; }
.toc a { text-decoration:none; }
.toc a:hover { text-decoration:underline; }
@media (max-width:640px) { .toc ol { columns:1; } }

/* Footer */
footer { background:var(--deep); color:var(--on-deep-soft); padding-block:3rem 2.5rem; border-top:1px solid var(--deep-line); }
footer .wordmark { color:var(--on-deep); }
footer .wordmark:hover { color:var(--on-deep); }
footer .wordmark .h { color:#F08A6C; }
.foot-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem; align-items:flex-start; }
.foot-links { list-style:none; display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; font-size:.95rem; margin:0; padding:0; }
.foot-links a { color:var(--on-deep-soft); }
.foot-links a:hover { color:var(--on-deep); }
.legal { margin:2rem 0 0; font-size:.85rem; }
