/* ============================================================
   FIBRIC legal/policy pages — shared layout. Import tokens.css + base.css first.
   A calm, readable two-column policy page: sticky section nav + prose.
   Every legal page (privacy, terms, acceptable-use, dpa, subprocessors,
   responsible-disclosure) uses this. See app.js for nav/footer injection.
   ============================================================ */
.legal-head{padding:clamp(7rem,12vw,9rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line)}
.legal-head .eyebrow{margin-bottom:1.1rem}
.legal-head h1{font-family:var(--serif);font-weight:330;font-size:var(--s4);line-height:1.02;letter-spacing:-.02em;max-width:18ch}
.legal-head .legal-meta{margin-top:1.4rem;display:flex;gap:1.4rem;flex-wrap:wrap;font-family:var(--mono);font-size:.78rem;color:var(--mid);letter-spacing:.02em}
.legal-head .legal-meta b{color:var(--ink-2);font-weight:600}

.legal-shell{display:grid;grid-template-columns:230px 1fr;gap:clamp(2rem,5vw,4.5rem);
  max-width:var(--maxw);margin-inline:auto;padding:clamp(2.5rem,5vw,4rem) var(--gutter) clamp(4rem,9vw,7rem)}
/* sticky section nav */
.legal-toc{position:sticky;top:6rem;align-self:start;display:flex;flex-direction:column;gap:.1rem}
.legal-toc__h{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--faint);margin-bottom:.7rem}
.legal-toc a{font-size:.9rem;color:var(--mid);padding:.4rem 0;border-left:2px solid transparent;padding-left:.9rem;margin-left:-.9rem;transition:color .18s,border-color .18s}
.legal-toc a:hover{color:var(--ink)}
.legal-toc a.is-active{color:var(--clay);border-left-color:var(--clay)}
@media(max-width:820px){.legal-shell{grid-template-columns:1fr}.legal-toc{display:none}}

/* prose body */
.legal-body{max-width:68ch}
.legal-body .lead{font-size:var(--s1);color:var(--ink-2);max-width:none;margin-bottom:2.4rem;line-height:1.5}
.legal-body section{padding-top:1rem;margin-bottom:2.6rem;scroll-margin-top:6rem}
.legal-body h2{font-family:var(--serif);font-weight:480;font-size:var(--s2);letter-spacing:-.012em;margin:0 0 .9rem;color:var(--ink)}
.legal-body h3{font-family:var(--display);font-weight:600;font-size:1.02rem;margin:1.6rem 0 .5rem;color:var(--ink)}
.legal-body p{color:var(--mid);line-height:1.62;margin-bottom:1rem}
.legal-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--clay)}
.legal-body ul,.legal-body ol{margin:0 0 1.1rem 1.2rem;color:var(--mid)}
.legal-body li{margin-bottom:.5rem;line-height:1.55}
.legal-body strong{color:var(--ink-2);font-weight:600}
.legal-body table{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font-size:.92rem}
.legal-body th,.legal-body td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);color:var(--mid);vertical-align:top}
.legal-body th{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.legal-body .legal-note{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);padding:1.1rem 1.3rem;margin:1.4rem 0;color:var(--ink-2);font-size:.95rem}
.legal-body .legal-contact{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--mid)}
