.legal{background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-beige) 100%);min-height:100vh;padding:calc(var(--header-h) + clamp(2.5rem,6vw,4.5rem)) var(--gutter) clamp(3rem,8vw,6rem);color:var(--color-text);font-family:var(--font-body)}.legal__wrap{max-width:46rem;margin-inline:auto}.legal__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-strong);margin:0 0 1rem}.legal__title{font-family:var(--font-heading);font-weight:800;letter-spacing:-.02em;font-size:clamp(2.2rem,4vw + 1rem,3.4rem);line-height:1.05;color:var(--color-ink);margin:0 0 1rem}.legal__sub{font-size:1.05rem;line-height:1.6;color:var(--color-muted);margin:0 0 .6rem;max-width:40rem}.legal__updated{font-size:.82rem;color:var(--color-muted);margin:0 0 2.5rem}.legal__updated strong{color:var(--color-ink)}.legal__toc{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:1.25rem 0;margin:0 0 2.75rem}.legal__toc-eb{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .75rem}.legal__toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:2.25rem}.legal__toc li{break-inside:avoid;padding:.25rem 0}.legal__toc a{color:var(--color-text);text-decoration:none;font-size:.9rem;display:flex;gap:.5rem}.legal__toc a:hover{color:var(--color-accent-strong)}.legal__toc a .n{color:var(--color-accent-strong);font-weight:700}.legal__section{margin-top:2.75rem;scroll-margin-top:calc(var(--header-h) + 1rem)}.legal__h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.35rem,2vw + .8rem,1.85rem);line-height:1.15;color:var(--color-ink);margin:0 0 1rem}.legal__h2 .n{color:var(--color-accent-strong);font-weight:800}.legal__h2 .n:after{content:"·";color:var(--color-muted);margin:0 .4rem}.legal p{font-size:1rem;line-height:1.75;margin:0 0 1rem}.legal p:last-child{margin-bottom:0}.legal strong{color:var(--color-ink);font-weight:600}.legal a{color:var(--color-accent-strong);text-decoration:underline;text-underline-offset:2px}.legal a:hover{color:var(--color-ink)}.legal ul{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.legal li{position:relative;padding-left:1.25rem;line-height:1.6}.legal li:before{content:"";position:absolute;left:.1rem;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.legal .ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;color:var(--color-accent-strong)}.legal__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;margin:.5rem 0 1rem}.legal__row{display:flex;flex-direction:column;gap:.2rem;padding:.8rem 0;border-bottom:1px solid var(--color-border)}.legal__row .k{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.legal__row .v{font-size:.98rem;color:var(--color-ink);font-weight:500}.legal__row .v.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}.legal__row--todo{border-bottom-color:var(--color-accent)}.legal__row--todo .v{color:var(--color-accent-strong);font-style:italic}.legal__callout{border-left:3px solid var(--color-accent);padding:.25rem 0 .25rem 1rem;margin:1.25rem 0;font-size:.95rem;line-height:1.65;color:var(--color-text)}.legal__callout .eb{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-strong);margin-bottom:.35rem}.legal__tablewrap{overflow-x:auto;margin:.5rem 0 1rem}.legal__table{width:100%;border-collapse:collapse;font-size:.92rem}.legal__table th,.legal__table td{text-align:left;padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--color-border);vertical-align:top}.legal__table th{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap}.legal__table td strong{color:var(--color-ink)}.legal__back{display:inline-flex;align-items:center;gap:.4rem;margin-top:3rem;font-size:.9rem;font-weight:600;color:var(--color-accent-strong);text-decoration:none}.legal__back:hover{color:var(--color-ink)}@media(max-width:640px){.legal__grid{grid-template-columns:1fr}.legal__toc ol{columns:1}}
