/* Legal pages: calm reading surfaces within the shared holographic system. */
.legal-hero { position:relative; padding-bottom:3rem; overflow:hidden; }
.legal-hero::before { content:""; position:absolute; pointer-events:none; inset:0; background:radial-gradient(ellipse at 80% 12%, var(--accent-soft), transparent 60%); opacity:.6; }
.legal-hero > .container { position:relative; }
.legal-title-row { display:grid; grid-template-columns:minmax(0,1fr) 200px; align-items:center; gap:3rem; }
.legal-title-row h1 { max-width:17ch; }
.legal-title-row .lead { max-width:62ch; }
.legal-title-row .section-head { margin-bottom:1.5rem; }
.legal-seal { width:180px; height:180px; display:grid; place-items:center; position:relative; color:var(--ember); }
.legal-seal-ring { position:absolute; inset:0; border:1px solid var(--hair-strong); border-radius:50%; outline:1px dashed var(--hair); outline-offset:12px; }
.legal-seal-ring::before,.legal-seal-ring::after { content:""; position:absolute; inset:11px; border:1px solid var(--hair); border-radius:50%; }
.legal-seal-ring::after { inset:19px; border-style:dotted; }
.legal-seal svg { width:65px; stroke-width:1.5; margin-top:-18px; }
.legal-seal > span:last-child { position:absolute; bottom:35px; color:var(--label); font: .57rem var(--font-data); text-transform:uppercase; letter-spacing:.12em; }
.legal-meta { display:flex; gap:1rem 2rem; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:1rem 0; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.legal-meta .hud-label { flex-wrap:wrap; }
.legal-draft { margin-top:1.5rem; max-width:none; }
.legal-short { margin-top:2rem; padding:clamp(1.3rem,3vw,2.5rem); }
.legal-short h2 { font-size:clamp(1.8rem,3vw,2.6rem); margin:1rem 0 1.5rem; }
.legal-summary-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; color:var(--text-2); line-height:1.55; }
.legal-summary-list > li { padding-left:1rem; border-left:1px solid var(--hair-strong); }
.legal-summary-list > li > span:first-child { display:block; font:600 .78rem var(--font-data); text-transform:uppercase; color:var(--hot); margin-bottom:.6rem; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.legal-sidebar { position:sticky; top:calc(var(--header-h) + 2rem); max-height:calc(100svh - var(--header-h) - 4rem); overflow-y:auto; padding-bottom:.5rem; }
.legal-toc > p { margin:0 0 1.1rem; color:var(--label); }
.legal-toc a { display:flex; align-items:center; min-height:44px; gap:.8rem; padding-top:.5rem; padding-bottom:.5rem; font-size:.72rem; line-height:1.5; }
.legal-toc a > span { font-size:.6rem; color:var(--label); flex-shrink:0; }
.legal-toc a[aria-current="true"] > span { color:var(--ember); }
.legal-top { margin-top:1.5rem; }
.legal-prose { min-width:0; max-width:none; color:var(--glow); padding-bottom:3rem; }
.legal-chapter { position:relative; padding-bottom:2.6rem; }
.legal-chapter + .legal-chapter { padding-top:2.5rem; border-top:1px solid var(--hair); }
.legal-section-index { font: .65rem var(--font-data); text-transform:uppercase; color:var(--label); letter-spacing:.09em; margin-bottom:.7rem !important; }
.legal-prose .legal-chapter h2 { margin:0 0 1rem; padding:0; border:0; font-size:clamp(1.7rem,2vw + 1rem,2.25rem); scroll-margin-top:calc(var(--header-h) + 2rem); }
.legal-chapter > p + p, .legal-chapter > ul + p, .legal-chapter > p + ul { margin-top:1rem; }
.legal-prose p,.legal-prose li { color:var(--text-2); }
.legal-prose strong { color:var(--hot); }
.legal-prose p,.legal-prose li,.legal-prose td,.legal-prose th { overflow-wrap:anywhere; }
.legal-data-table { margin:1.5rem 0; border:1px solid var(--hair); }
.legal-data-table table { min-width:640px; margin:0; font-size:.95rem; line-height:1.6; }
.legal-data-table th[scope="row"] { font-family:var(--font-ui); text-transform:none; font-size:1rem; letter-spacing:0; color:var(--hot); font-weight:600; width:26%; }
.legal-data-table td { vertical-align:top; }
.legal-data-table th,.legal-data-table td { padding:1rem; }
.legal-end { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; align-items:center; border-top:1px solid var(--hair-strong); padding-top:1.5rem; }
.legal-end > .micro { color:var(--label); }
@media(max-width:900px) { .legal-layout { grid-template-columns:190px minmax(0,1fr); gap:2rem; } .legal-title-row { grid-template-columns:minmax(0,1fr) 160px; } .legal-seal { transform:scale(.8); transform-origin:right center; } }
@media(max-width:700px) { .legal-title-row { display:block; } .legal-seal { display:none; } .legal-summary-list { grid-template-columns:1fr; gap:1.3rem; } .legal-layout { display:block; } .legal-sidebar { position:static; max-height:none; overflow:visible; margin-bottom:2.7rem; } .legal-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .legal-toc a { font-size:.65rem; gap:.45rem; } .legal-top { display:none; } .legal-meta { align-items:flex-start; flex-direction:column; gap:.35rem; } .legal-short { margin-top:1.5rem; } .legal-hero { padding-bottom:2rem; } .legal-prose { font-size:1.1rem; } }
@media(prefers-reduced-motion:reduce) { .legal-toc a { transition:none; } }
