/* ---- Datenschutz-scoped layout ---- */
    .legal-hero { padding: 132px 0 0; }
    @media (min-width: 1024px) { .legal-hero { padding: 152px 0 0; } }
    .legal-hero__lead {
      font-family: var(--font-body);
      font-size: var(--lead-size);
      line-height: 1.6;
      color: var(--c-muted);
      max-width: 60ch;
      margin: 24px 0 0;
    }
    .legal-hero__stand {
      font-family: var(--font-mono);
      font-size: 11px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--c-muted-soft);
      margin: 20px 0 0;
    }
    .legal-back {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--font-mono);
      font-size: 11px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--c-muted);
      margin-bottom: 28px;
      transition: color 200ms ease, gap 200ms ease;
    }
    .legal-back:hover { color: var(--c-accent); gap: 12px; }
    .legal-back svg { width: 14px; height: 14px; }

    .legal-body { padding: 56px 0 96px; }
    @media (min-width: 1024px) { .legal-body { padding: 72px 0 120px; } }

    .legal-layout {
      display: grid;
      gap: 48px;
      grid-template-columns: 1fr;
      align-items: start;
    }
    @media (min-width: 960px) {
      .legal-layout { grid-template-columns: 240px 1fr; gap: 64px; }
    }

    /* ---- Sticky table of contents ---- */
    .legal-toc { display: none; }
    @media (min-width: 960px) {
      .legal-toc {
        display: block;
        position: sticky;
        top: 104px;
      }
    }
    .legal-toc__label {
      font-family: var(--font-mono);
      font-size: 11px;
      letter-spacing: 0.20em;
      text-transform: uppercase;
      color: var(--c-muted-soft);
      margin: 0 0 16px;
    }
    .legal-toc ol {
      list-style: none;
      margin: 0;
      padding: 0;
      counter-reset: toc;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .legal-toc a {
      display: flex;
      gap: 12px;
      align-items: baseline;
      padding: 7px 10px;
      border-radius: var(--radius-sm);
      font-family: var(--font-body);
      font-size: 14px;
      line-height: 1.35;
      color: var(--c-muted);
      transition: color 180ms ease, background 180ms ease;
    }
    .legal-toc a::before {
      counter-increment: toc;
      content: counter(toc, decimal-leading-zero);
      font-family: var(--font-mono);
      font-size: 11px;
      color: var(--c-muted-soft);
      flex: none;
    }
    .legal-toc a:hover { color: var(--c-text); background: rgba(20, 23, 29, 0.04); }

    /* ---- Prose ---- */
    .legal-prose { max-width: 72ch; }
    .legal-prose__section { scroll-margin-top: 104px; }
    .legal-prose__section + .legal-prose__section { margin-top: 56px; }
    .legal-prose__num {
      font-family: var(--font-mono);
      font-size: 11px;
      letter-spacing: 0.20em;
      text-transform: uppercase;
      color: var(--c-accent-deep);
      margin: 0 0 10px;
    }
    .legal-prose h2 {
      font-family: var(--font-display);
      font-weight: 500;
      letter-spacing: -0.02em;
      font-size: clamp(24px, 3vw, 30px);
      line-height: 1.15;
      color: var(--c-text);
      margin: 0 0 18px;
    }
    .legal-prose h3 {
      font-family: var(--font-display);
      font-weight: 500;
      letter-spacing: -0.01em;
      font-size: 18px;
      line-height: 1.3;
      color: var(--c-text);
      margin: 28px 0 10px;
    }
    .legal-prose p,
    .legal-prose li {
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.7;
      color: var(--c-muted);
      margin: 0;
    }
    .legal-prose p + p { margin-top: 14px; }
    .legal-prose ul {
      margin: 14px 0 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .legal-prose ul li {
      position: relative;
      padding-left: 22px;
    }
    .legal-prose ul li::before {
      content: "";
      position: absolute;
      left: 2px;
      top: 11px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--c-accent);
    }
    .legal-prose a { color: var(--c-accent-deep); text-decoration: none; transition: color 200ms ease; }
    .legal-prose a:hover { color: var(--c-accent); }
    .legal-prose strong { color: var(--c-text); font-weight: 500; }

    /* Controller / highlight card */
    .legal-callout {
      padding: 28px 32px;
      border-radius: var(--radius-md);
      border: 1px solid var(--c-border);
      margin: 18px 0 0;
    }
    .legal-callout p { color: var(--c-text); }
    .legal-callout p + p { margin-top: 4px; }
    .legal-callout .legal-callout__role {
      font-family: var(--font-mono);
      font-size: 11px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--c-muted-soft);
      margin-bottom: 12px;
    }
    .legal-callout a { color: var(--c-accent-deep); }