/* legal.css — generated legal pages (scripts/legal/generate-legal-pages.py), Sunshine portal tokens only.
 * Colours come from tokens.css; the DRAFT banner is calm gold, never alarm red (brand-strategy §6). */
.draft-banner { padding: .6rem 0; background: var(--accent-container); color: var(--text-emphasis); border-bottom: 2px solid var(--accent); font-size: .92rem; }
.legal { padding: 2.5rem 0 1rem; }
.legal__wrap { max-width: 72ch; }
.legal__eyebrow { margin: 0; color: var(--accent-text); font-weight: 700; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; }
.legal h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); line-height: 1.15; letter-spacing: -.02em; margin: .3rem 0 .6rem; }
.legal__meta { color: var(--text-muted); font-size: .92rem; margin: 0 0 2rem; }
.legal h2 { font-size: 1.25rem; margin: 2rem 0 .6rem; }
.legal p, .legal ul, .legal table { margin: 0 0 1rem; }
.legal ul { padding-left: 1.3rem; }
.legal li { margin-bottom: .4rem; }
.legal a { text-decoration: underline; text-underline-offset: .18em; }
.legal table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.legal th, .legal td { text-align: left; padding: .5rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.legal th { color: var(--text-emphasis); }
.legal__table { overflow-x: auto; }
.legal__nav { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin-bottom: 1rem; }
.legal__nav a { color: var(--text-muted); padding: .35rem 0; }
.legal__nav a[aria-current="page"] { color: var(--text-emphasis); font-weight: 600; }
.footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
mark.todo { background: var(--accent-container); color: var(--text-emphasis); padding: 0 .2rem; border-radius: 4px; box-shadow: inset 0 0 0 1px var(--accent); }
