    :root { color-scheme: light; --paper: #f8f7f2; --ink: #30382d; --muted: #65705f; --line: #d9ddcf; }
    * { box-sizing: border-box; }
    html { scroll-padding-top: 24px; }
    body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-underline-offset: 3px; overflow-wrap: anywhere; }
    a:hover { color: #6c684c; }
    a:focus-visible { outline: 2px solid #657957; outline-offset: 5px; }
    .legal-shell { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
    .legal-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding-block: 24px; border-bottom: 1px solid var(--line); }
    .legal-brand { display: inline-flex; align-items: center; width: 128px; min-height: 44px; text-decoration: none; }
    .legal-brand img { display: block; width: 100%; height: auto; }
    .legal-navigation { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; }
    .legal-navigation a { text-decoration: none; }
    .legal-navigation a:hover { text-decoration: underline; }
    .legal-content { width: min(760px, calc(100% - 48px)); margin: 64px auto 80px; overflow-wrap: break-word; }
    .legal-content h1 { margin: 0 0 24px; font: 400 clamp(36px, 6vw, 50px)/1.12 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
    .legal-content h2 { margin: 42px 0 16px; font-size: 23px; line-height: 1.35; }
    .legal-content h3 { margin: 28px 0 12px; font-size: 18px; line-height: 1.5; }
    .legal-content p { margin: 0 0 18px; }
    .legal-content ul, .legal-content ol { margin: 0 0 20px; padding-left: 28px; }
    .legal-content li { margin-bottom: 12px; }
    .legal-content li > p:last-child { margin-bottom: 0; }
    .legal-content .legal-level-1 { margin-left: 24px; }
    .legal-marker { margin-right: .45em; }
    .legal-content strong { font-weight: 650; }
    .legal-content table { width: 100%; border-collapse: collapse; margin: 24px 0; }
    .legal-content th, .legal-content td { padding: 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
    .legal-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 32px; padding-block: 24px 32px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
    .legal-skip { position: absolute; top: 8px; left: 16px; padding: 8px 12px; background: var(--paper); transform: translateY(-150%); }
    .legal-skip:focus { transform: none; }
    .legal-layout { position: relative; }
    .legal-toc { display: none; }
    .legal-toc-label { margin-bottom: 16px; font-size: 13px; }
    .legal-toc ol, .legal-toc-mobile ol { margin: 0; padding: 0; list-style: none; }
    .legal-toc a, .legal-toc-mobile a { display: block; padding: 7px 0; color: var(--muted); font-size: 13px; line-height: 1.5; text-decoration: none; }
    .legal-toc a:hover, .legal-toc-mobile a:hover { color: var(--ink); text-decoration: underline; }
    .legal-toc-mobile { margin: 28px 0; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
    .legal-toc-mobile summary { color: var(--muted); cursor: pointer; }
    .legal-toc-mobile ol { margin-top: 16px; }
    @media (min-width: 1280px) {
      .legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 760px minmax(0, 1fr); }
      .legal-content { grid-column: 2; grid-row: 1; width: 100%; }
      .legal-toc { display: block; grid-column: 1; grid-row: 1; justify-self: end; width: 180px; margin: 64px 40px 0 0; position: sticky; top: 40px; align-self: start; max-height: calc(100dvh - 80px); overflow-y: auto; }
      .legal-toc-mobile { display: none; }
    }
    @media (max-width: 600px) {
      .legal-shell { width: calc(100% - 40px); }
      .legal-header { padding-block: 22px; }
      .legal-brand { width: 112px; }
      .legal-content { width: calc(100% - 40px); margin-block: 44px 56px; font-size: 15px; }
      .legal-content h2 { font-size: 21px; }
      .legal-navigation { gap: 10px 18px; }
    }
    @media print {
      body { color: #000; background: #fff; font-size: 11pt; }
      .legal-header, .legal-footer, .legal-skip, .legal-toc, .legal-toc-mobile { display: none; }
      .legal-layout { display: block; }
      .legal-content { width: 100%; margin: 0; }
      h1, h2, h3 { break-after: avoid; }
      p, li { orphans: 3; widows: 3; }
    }
      .legal-doc-toc ol { margin: 0 0 28px; padding: 0; list-style: none; }
    .legal-doc-toc li { margin-bottom: 6px; }
  