/* Allevic's shared navy, paper, champagne and self-hosted typefaces. */
.legal-updated { margin:24px 0 0; color:var(--paper-dim); font-size:.9rem; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:64px; align-items:start; }
.legal-toc { position:sticky; top:calc(var(--nav) + 28px); display:flex; flex-direction:column; gap:8px; padding:24px; border:1px solid var(--line); border-radius:20px; }
.legal-toc strong { color:var(--paper); margin-bottom:8px; }
.legal-toc a { color:var(--paper-dim); font-size:.94rem; line-height:1.5; padding:6px 0; text-decoration:none; }
.legal-toc a:hover { color:var(--champ); text-decoration:underline; text-underline-offset:4px; }
.legal-copy { min-width:0; max-width:48rem; }
.legal-copy section { scroll-margin-top:calc(var(--nav) + 28px); }
.legal-copy section:first-child h2 { margin-top:0; }
.legal-copy section + section { margin-top:44px; padding-top:8px; border-top:1px solid var(--line); }
.legal-copy a { overflow-wrap:anywhere; }
.legal-copy ol { padding-left:1.3rem; }
.legal-copy strong { color:var(--paper); }
.legal-table { overflow-x:auto; margin:24px 0; }
.legal-table table { width:100%; border-collapse:collapse; font-size:.95rem; line-height:1.6; }
.legal-table caption { text-align:left; color:var(--paper); font-weight:600; margin-bottom:14px; }
.legal-table th,.legal-table td { min-width:130px; padding:16px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-table th { color:var(--paper); background:rgba(233,205,169,.06); }
.legal-table td { color:var(--paper-dim); }
.legal-layout :focus-visible,.how-actions :focus-visible { outline:2px solid var(--champ); outline-offset:5px; }
.how-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; padding-top:32px; padding-bottom:56px; }
#how { scroll-margin-top:var(--nav); }
#how .node-label { white-space:normal; text-wrap:balance; }
@media(max-width:960px) {
  .legal-layout { grid-template-columns:1fr; gap:36px; }
  .legal-toc { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 24px; }
  .legal-toc strong { grid-column:1 / -1; }
}
@media(max-width:480px) {
  .legal-toc { grid-template-columns:1fr; padding:20px; }
  .how-actions { flex-direction:column; align-items:stretch; }
  .how-actions a { justify-content:center; text-align:center; }
}
