.legal{padding-bottom:var(--section)}.legal__title{max-width:14ch}.legal__notice{border:1px dashed var(--text-2);border-left:4px solid var(--wait);background:var(--wait-soft);grid-template-columns:auto 1fr;align-items:baseline;gap:8px 20px;max-width:880px;margin-top:clamp(32px,4vw,48px);padding:18px 22px;display:grid}.legal__notice-tag{color:var(--text);font-weight:500}.legal__notice p:last-child{font-size:var(--fs-small);color:var(--text-2)}.legal__notice b{color:var(--text)}.legal__layout{grid-template-columns:minmax(0,3fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,112px);margin-top:clamp(48px,6vw,88px);display:grid}.legal__toc{top:calc(var(--header-h) + 32px);flex-direction:column;gap:14px;display:flex;position:sticky}.legal__toc ol{border-top:1px solid var(--rule-strong)}.legal__toc a{border-bottom:1px solid var(--rule);min-height:44px;font-size:var(--fs-small);color:var(--text-2);align-items:baseline;gap:12px;padding:10px 0;transition:color .25s;display:flex}.legal__toc a:hover{color:var(--text)}.legal__toc .mono{color:var(--text-3)}.legal__body{max-width:70ch}.legal__intro{font-size:var(--fs-lead);letter-spacing:-.01em;border-bottom:1px solid var(--rule-strong);padding-bottom:32px;line-height:1.5}.legal__section{border-bottom:1px solid var(--rule);padding:32px 0}.legal__section h2{align-items:baseline;gap:14px;display:flex}.legal__text{color:var(--text-2);margin-top:14px}.legal__text>*+*{margin-top:12px}.legal__text ul{gap:8px;display:grid}.legal__text li{padding-left:20px;position:relative}.legal__text li:before{content:"—";color:var(--text-3);position:absolute;left:0}.legal__text b{color:var(--text)}.legal a{text-underline-offset:3px;text-decoration:underline}.legal__toc a,.legal .index a{text-decoration:none}.legal__todo{background:var(--wait-soft);border-bottom:1px dashed var(--wait);color:var(--text);padding:1px 6px;font-size:.9em;display:inline}.legal__todo:before{content:"To complete: ";font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.78em}.legal__foot{font-size:var(--fs-small);flex-direction:column;gap:10px;padding-top:32px;display:flex}.legal__foot .mono{text-transform:none;letter-spacing:0}@media (max-width:900px){.legal__layout{grid-template-columns:1fr}.legal__toc{position:relative;top:0}}@media (max-width:560px){.legal__notice{grid-template-columns:1fr}}
