.legal-shell { display: grid; grid-template-columns: 1fr; gap: var(--space-8); align-items: start; }
    @media (min-width: 1024px) { .legal-shell { grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-9); } }

    .legal-toc { position: sticky; top: 110px; align-self: start; padding-top: var(--space-3); }
    .legal-toc__label {
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      font-weight: var(--weight-semibold);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-text-muted);
      margin-bottom: var(--space-4);
      padding-bottom: var(--space-3);
      border-bottom: var(--border-thin);
    }
    .legal-toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-3); counter-reset: toc; }
    .legal-toc li { counter-increment: toc; font-size: var(--text-sm); }
    .legal-toc a { color: var(--color-text-muted); display: grid; grid-template-columns: 24px 1fr; gap: var(--space-2); line-height: 1.4; }
    .legal-toc a::before { content: counter(toc, decimal-leading-zero); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-subtle); letter-spacing: -0.005em; }
    .legal-toc a:hover, .legal-toc a[aria-current="true"] { color: var(--color-brand-orange-deep); }

    .legal-meta {
      display: flex; flex-wrap: wrap;
      gap: var(--space-4) var(--space-6);
      padding: var(--space-4) var(--space-5);
      background: var(--color-surface-sunken);
      border-left: 3px solid var(--color-brand-orange);
      border-radius: var(--radius-sm);
      margin-bottom: var(--space-7);
      font-size: var(--text-sm);
      color: var(--color-text-muted);
      font-family: var(--font-mono);
      letter-spacing: -0.005em;
    }
    .legal-meta strong { color: var(--color-ink); font-weight: var(--weight-semibold); }

    .legal-prose h2 {
      font-size: clamp(1.4rem, 2.2vw, 1.75rem);
      letter-spacing: -0.01em;
      margin-top: var(--space-9);
      margin-bottom: var(--space-4);
      scroll-margin-top: 100px;
      max-width: 32ch;
    }
    .legal-prose h2:first-of-type { margin-top: 0; }
    .legal-prose h3 {
      font-family: var(--font-sans);
      font-size: var(--text-base);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
      letter-spacing: 0;
      margin-top: var(--space-6);
      margin-bottom: var(--space-3);
    }
    .legal-prose p { font-size: var(--text-base); line-height: 1.65; color: var(--color-text); margin-bottom: var(--space-4); max-width: 70ch; }
    .legal-prose ul { margin: 0 0 var(--space-4); padding-left: var(--space-5); max-width: 70ch; }
    .legal-prose ul li { font-size: var(--text-base); line-height: 1.65; color: var(--color-text); margin-bottom: var(--space-2); }
    .legal-prose ul li::marker { color: var(--color-brand-orange); }
    .legal-prose a { color: var(--color-brand-orange-deep); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
    .legal-prose a:hover { color: var(--color-ink); }
    .legal-prose strong { color: var(--color-ink); font-weight: var(--weight-semibold); }

    .legal-callout {
      padding: var(--space-5) var(--space-6);
      background: var(--color-surface-sunken);
      border-left: 4px solid var(--color-brand-navy);
      border-radius: var(--radius-sm);
      margin: var(--space-5) 0;
      font-size: var(--text-sm);
      color: var(--color-text);
      line-height: 1.6;
      max-width: 70ch;
    }
    .legal-callout--warn { border-left-color: var(--color-brand-orange); }
    .legal-callout strong { color: var(--color-ink); }