/* Legal pages: article chrome only; tokens come from site.css. */
.legal { max-width: 44rem; margin: 0 auto; padding: 2rem 0 4rem; line-height: 1.65; overflow-wrap: anywhere; }
.legal .eyebrow { margin: 0 0 .6rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.legal h1 { margin: 0 0 .6rem; font-size: clamp(1.9rem, 4vw, 2.5rem); line-height: 1.15; letter-spacing: -.01em; }
.legal h2 { margin: 2.4rem 0 .7rem; padding-top: 1.4rem; border-top: 1px solid var(--line); font-size: 1.35rem; line-height: 1.3; }
.legal h3 { margin: 1.6rem 0 .5rem; font-size: 1.08rem; line-height: 1.35; }
.legal p { margin: 0 0 1rem; }
.legal .meta { color: var(--muted); font-size: .92rem; margin-bottom: 1.4rem; }
.legal .intro { font-size: 1.08rem; padding: 1rem 1.2rem; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
.legal ul, .legal ol { margin: 0 0 1rem; padding-left: 1.4rem; }
.legal li { margin-bottom: .45rem; }
.legal li::marker { color: var(--brown); }
.legal strong { font-weight: 650; }
.legal a { color: var(--text); text-decoration: underline; text-decoration-color: var(--brown); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.legal a:hover { color: var(--brown); }
.legal code { font-size: .9em; padding: .1em .4em; background: var(--card); border: 1px solid var(--line); border-radius: 6px; }
.legal table { width: 100%; border-collapse: collapse; margin: 0 0 1rem; font-size: .95rem; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: .6rem .7rem; border-bottom: 1px solid var(--line); }
.legal th { color: var(--muted); font-weight: 600; }
.legal .btn { cursor: pointer; }
@media (max-width: 44rem) { .legal { padding: 1.2rem 0 3rem; } .legal h2 { margin-top: 2rem; } }
