/* The legal pages: the same paper, the same type, quieter. */
body.legal { background: var(--paper); color: var(--ink); }
.legal-bar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 14px var(--gutter); background: rgba(229, 225, 213, .86); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--hair); }
.legal-bar img { display: block; height: 30px; width: auto; }
.legal-bar a.back { font: 600 .6875rem/1 var(--f-text); text-transform: uppercase; letter-spacing: .12em; color: var(--ink); text-decoration: none; padding: .8rem 0; }
.legal-bar a.back:hover { color: var(--cobalt); }
.legal-main { padding: clamp(3rem, 9vh, 6rem) var(--gutter) 6rem; display: grid; grid-template-columns: minmax(0, 17rem) minmax(0, 46rem); gap: clamp(2rem, 6vw, 6rem); justify-content: center; align-items: start; }
.legal-head { grid-column: 1 / -1; display: grid; gap: .9rem; }
.legal-head h1 { font: 400 clamp(3rem, 8vw, 7rem)/.92 var(--f-display); text-transform: uppercase; color: var(--cobalt); margin: 0; letter-spacing: -.02em; }
.legal-head .accent { font: italic 400 1.25rem/1.2 var(--f-accent); margin: 0; }
.legal-head .meta { margin: 0; font: 600 .6875rem/1 var(--f-text); text-transform: uppercase; letter-spacing: .12em; color: rgba(20, 21, 31, .6); }
.legal-toc { position: sticky; top: 90px; align-self: start; display: grid; gap: .1rem; font: 500 .9375rem/1.3 var(--f-text); }
.legal-toc a { color: rgba(20, 21, 31, .7); text-decoration: none; padding: .4rem 0; border-top: 1px solid var(--hair); }
.legal-toc a:hover { color: var(--cobalt); }
.legal-body { font: 400 1.0625rem/1.65 var(--f-text); }
.legal-body > * + * { margin-top: 1rem; }
.legal-body h2 { font: 400 clamp(1.7rem, 2.6vw, 2.3rem)/1 var(--f-display); text-transform: uppercase; color: var(--ink); margin-top: 3rem; scroll-margin-top: 90px; }
.legal-body h3 { font: 600 1.0625rem/1.3 var(--f-text); margin-top: 1.6rem; }
.legal-body ul, .legal-body ol { padding-left: 1.2rem; display: grid; gap: .5rem; }
.legal-body a { color: var(--cobalt); text-underline-offset: 3px; }
.legal-body table { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.legal-body th, .legal-body td { text-align: left; vertical-align: top; padding: .8rem .8rem .8rem 0; border-top: 1px solid var(--hair); }
.legal-body th { font: 600 .6875rem/1.2 var(--f-text); text-transform: uppercase; letter-spacing: .1em; color: rgba(20, 21, 31, .6); }
.legal-note { padding: 1.2rem 1.4rem; border: 1px solid var(--ink); border-radius: 14px; background: rgba(252, 250, 244, .55); }
.legal-note strong { font-weight: 600; }
.legal-foot { padding: 2rem var(--gutter) 3rem; display: flex; flex-wrap: wrap; gap: .8rem 2rem; border-top: 1px solid var(--hair); font: 500 .875rem/1.4 var(--f-text); }
.legal-foot a { color: var(--ink); text-underline-offset: 3px; }
mark.todo { background: #FFE08A; color: var(--ink); padding: 0 .25em; border-radius: 3px; }
@media (max-width: 820px) { .legal-main { grid-template-columns: 1fr; } .legal-toc { position: static; grid-auto-flow: row; } .legal-body { font-size: 1rem; } .legal-body table, .legal-body tbody, .legal-body tr, .legal-body td, .legal-body th { display: block; } .legal-body thead { display: none; } .legal-body td { padding: .2rem 0; border: 0; } .legal-body tr { padding: .8rem 0; border-top: 1px solid var(--hair); } }
@media print { .legal-bar, .legal-toc, .legal-foot { display: none; } .legal-main { display: block; padding: 0; } body.legal { background: #fff; } }
