/* Reading layout; the member stylesheet and shared theme own the brand and controls. */
.legal-page { background:var(--surface); }
.legal-main { max-width:75rem; padding-top:1.5rem; }
.legal-intro { max-width:48rem; margin:1.5rem 0 0; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.legal-intro h1 { margin:0 0 1rem; font-size:clamp(2.5rem,5vw,3.5rem); }
.legal-date { margin:0; color:var(--muted); font-size:.875rem; }
.legal-layout { display:grid; grid-template-columns:14rem minmax(0,1fr); align-items:start; gap:clamp(2rem,5vw,5rem); margin-top:2.5rem; }
.legal-contents { position:sticky; top:1.5rem; }
.legal-contents > p { margin:0 0 .75rem; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.legal-contents ol { list-style:none; margin:0; padding:0; }
.legal-contents a { display:flex; align-items:center; min-height:44px; padding:.375rem .5rem; border-radius:var(--app-radius); color:var(--muted); font-size:.875rem; line-height:1.45; }
.legal-contents a:hover { background:var(--surface-subtle); color:var(--ink); }
.legal-copy { min-width:0; max-width:68ch; }
.legal-copy section { scroll-margin-top:1.5rem; }
.legal-copy section + section { margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--line); }
.legal-copy h2 { margin:0 0 1rem; font-size:clamp(1.25rem,2vw,1.5rem); line-height:1.3; }
.legal-copy p { margin:0 0 1rem; }
.legal-copy ul { margin:0 0 1rem; padding-left:1.25rem; }
.legal-copy li { margin:.5rem 0; padding-left:.25rem; }
.legal-copy a:any-link { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-copy a:hover { color:var(--lime-dark); }
.legal-copy address { font-style:normal; line-height:1.8; overflow-wrap:anywhere; }
.legal-table-wrap { max-width:100%; margin:1.5rem 0; overflow-x:auto; border:1px solid var(--line); border-radius:var(--app-radius); }
.legal-copy table { width:100%; border-collapse:collapse; font-size:.875rem; line-height:1.6; }
.legal-copy caption { padding:1rem; font-weight:700; text-align:left; background:var(--surface-subtle); }
.legal-copy th, .legal-copy td { padding:.875rem 1rem; border-top:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-copy th { font-weight:700; }
@media(max-width:56rem) {
  .legal-layout { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .legal-contents { position:static; padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
  .legal-contents ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.125rem .75rem; }
  .legal-copy { max-width:68ch; }
}
@media(max-width:30rem) {
  .legal-page .header-shell { gap:.75rem; }
  .legal-page .brand { width:6rem; }
  .legal-contents a { font-size:.8125rem; }
  .legal-copy th, .legal-copy td { padding:.75rem; }
}
@media print {
  .legal-page .site-header, .legal-page .footer, .legal-contents, .legal-main > .app-back, .skip { display:none; }
  .legal-main { width:100%; max-width:none; padding:0; }
  .legal-layout { display:block; margin-top:1.5rem; }
  .legal-copy { max-width:none; }
  .legal-copy section + section { margin-top:1.5rem; padding-top:1rem; }
  .legal-copy h2 { break-after:avoid; }
  .legal-table-wrap { overflow:visible; }
}
