/* Calm reading layout, sharing the public site's theme and typography. */
.legal-header { grid-template-columns:1fr auto; }
.legal-header .nav-actions { grid-row:auto; }
.legal-main { padding-block:1.5rem 3rem; }
.legal-back { display:inline-flex; align-items:center; min-height:44px; font-size:.9rem; }
.legal-heading { margin:1.25rem 0 1.5rem; max-width:70ch; }
.legal-heading h1 { max-width:none; font-size:clamp(2rem,5vw,3rem); }
.legal-heading .lead { margin-top:.8rem; }
.legal-date { margin-top:.85rem; }
.legal-preview { padding:.9rem 1rem; background:var(--badge-bg); color:var(--badge-text); border-radius:10px; margin-bottom:1.5rem; font-size:.9rem; }
.legal-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:3rem; align-items:start; }
.legal-contents { position:sticky; top:6rem; padding:1.1rem; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.legal-contents h2 { font-size:.9rem; letter-spacing:0; }
.legal-contents ol { list-style:none; padding:0; margin:.65rem 0 0; }
.legal-contents a { display:flex; align-items:center; min-height:44px; padding:.4rem 0; font-size:.9rem; overflow-wrap:anywhere; }
.legal-copy { max-width:70ch; min-width:0; }
.legal-copy section { padding:0 0 1.5rem; margin:0 0 1.5rem; border-bottom:1px solid var(--border); scroll-margin-top:6rem; }
.legal-copy h2 { font-size:1.35rem; margin-bottom:.8rem; }
.legal-copy p + p { margin-top:.85rem; }
.legal-copy p { overflow-wrap:anywhere; }
.legal-tabs { display:flex; gap:.5rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.legal-tabs a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem 1rem; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.legal-tabs a[aria-current] { color:var(--text); border-color:var(--link); box-shadow:inset 0 -2px var(--link); font-weight:600; }
.legal-review-note { margin-top:1rem; padding:1rem; border-left:3px solid var(--badge-text); border-radius:0 8px 8px 0; color:var(--badge-text); background:var(--badge-bg); font-size:.875rem; }
.legal-review-note strong { display:block; margin-bottom:.4rem; }
@media(max-width:767px) {
  .legal-layout { grid-template-columns:1fr; gap:1.75rem; }
  .legal-contents { position:static; padding:1rem; }
  .legal-contents ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1rem; }
  .legal-heading { margin-top:.75rem; }
}
@media print {
  .site-header,.skip-link,.legal-contents,.legal-back,.footer { display:none; }
  .legal-layout { display:block; }
  .legal-main,.legal-copy { width:auto; max-width:none; }
  .legal-copy h2 { break-after:avoid; }
}
