@layer components {
  @media (max-width: 767px) {
    .nav--privacy {
      flex-wrap: wrap;
    }

    .nav--privacy .nav__cta {
      flex: 1 0 100%;
    }
  }

  .privacy-lang {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid var(--line-subtle);
    border-radius: var(--radius-1);
    padding: 0.2rem;
  }

  .privacy-lang__btn {
    border: 0;
    border-radius: calc(var(--radius-1) - 2px);
    background: transparent;
    color: var(--text-2);
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    padding: 0.45rem 0.65rem;
  }

  .privacy-lang__btn:hover,
  .privacy-lang__btn.is-active {
    background: var(--surface-1);
    color: var(--text-0);
  }

  [data-lang]:not(.privacy-lang__btn) {
    display: none;
  }

  [data-lang]:not(.privacy-lang__btn).is-active {
    display: revert;
  }

  /* ── Hero meta / badges ─────────────────────────────────────── */
  .privacy-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-4);
    margin-block-start: var(--space-3);
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    color: var(--text-2);
  }

  .privacy-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-start: var(--space-4);
  }

  .privacy-badge {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    color: var(--text-2);
    border: 1px solid var(--line-subtle);
    border-radius: var(--radius-1);
    padding: 0.35em 0.75em;
    text-transform: uppercase;
  }

  .privacy-badge strong {
    color: var(--secondary-500);
    font-weight: 600;
  }

  /* ── Two-column layout: sticky index + document body ───────── */
  .privacy-layout {
    display: grid;
    gap: var(--space-6);
    min-width: 0;
    padding-block: var(--space-4) var(--space-16);
  }

  @media (min-width: 900px) {
    .privacy-layout {
      grid-template-columns: 240px minmax(0, 1fr);
      align-items: start;
    }
  }

  .privacy-toc {
    border-inline-start: 1px solid var(--line-subtle);
    min-width: 0;
    padding-inline-start: var(--space-4);
  }

  @media (min-width: 900px) {
    .privacy-toc {
      position: sticky;
      top: var(--space-10);
    }
  }

  @media (max-width: 899px) {
    .privacy-toc {
      border-inline-start: none;
      border-block-start: 1px solid var(--line-subtle);
      padding-inline-start: 0;
      padding-block-start: var(--space-4);
    }
  }

  .privacy-toc__title {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--secondary-500);
  }

  .privacy-toc__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-block-start: var(--space-3);
  }

  @media (max-width: 899px) {
    .privacy-toc__list {
      flex-direction: row;
      flex-wrap: wrap;
      gap: var(--space-3);
    }
  }

  .privacy-toc__list a {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    color: var(--text-2);
    transition: color var(--duration-short) var(--ease-standard);
  }

  .privacy-toc__list a:hover { color: var(--text-0); }

  .privacy-toc__link.active {
    color: var(--text-0);
  }

  /* ── Document body ──────────────────────────────────────────── */
  .privacy-body {
    max-width: none;
    margin-inline: 0;
    min-width: 0;
    padding-block: 0;
    display: flex;
    flex-direction: column;
  }

  .privacy-section {
    max-width: none;
    margin-inline: 0;
    min-width: 0;
    padding-block: var(--space-8);
    border-block-start: 1px solid var(--line-subtle);
    overflow-wrap: anywhere;
  }

  .privacy-section:first-child {
    padding-block-start: 0;
    border-block-start: none;
  }

  .privacy-section__number {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--secondary-500);
    margin-block-end: var(--space-1);
  }

  .privacy-section h2 {
    font-size: var(--font-size-3);
    margin-block-end: var(--space-3);
  }

  .privacy-section__title {
    font-size: var(--font-size-3);
    margin-block-end: var(--space-3);
  }

  .privacy-text {
    color: var(--text-1);
    max-width: 75ch;
  }

  .privacy-text + .privacy-text {
    margin-block-start: var(--space-2);
  }

  .privacy-section p + p {
    margin-block-start: var(--space-2);
  }

  /* ── Callouts (definitions, warnings) ───────────────────────── */
  .privacy-callout {
    border-inline-start: 3px solid var(--secondary-500);
    background: var(--surface-1);
    border-radius: var(--radius-2);
    padding: var(--space-3) var(--space-4);
    margin-block-start: var(--space-3);
    box-shadow: var(--shadow-inset-highlight);
  }

  .privacy-callout p {
    max-width: none;
  }

  .privacy-callout p:last-child { margin-block-start: 0; }

  .privacy-callout__tag {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--secondary-500);
    margin-block-end: var(--space-1);
    display: block;
  }

  /* ADR-005 precedent: accent-500 reserved for conversion/critical state —
     these callouts flag legally critical facts (no sensitive-data collection,
     cross-border transfer safeguard, breach notification, minors restriction) */
  .privacy-callout--critical {
    border-inline-start-color: var(--accent-500);
    background: color-mix(in oklch, var(--accent-500) 6%, var(--surface-1));
  }

  .privacy-callout--critical .privacy-callout__tag {
    color: var(--text-0);
  }

  /* ── Data tables ────────────────────────────────────────────── */
  .privacy-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    margin-block-start: var(--space-3);
    border-radius: var(--radius-1);
  }

  .privacy-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-0);
  }

  .privacy-table th {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--secondary-500);
    text-align: left;
    font-weight: 400;
    padding: var(--space-2) var(--space-3);
    border-bottom: 1px solid var(--line-subtle);
    white-space: nowrap;
  }

  .privacy-table td {
    color: var(--text-1);
    padding: var(--space-2) var(--space-3);
    border-bottom: 1px solid var(--line-subtle);
    vertical-align: top;
    line-height: var(--leading-normal);
  }

  .privacy-table td:first-child {
    color: var(--text-0);
    font-weight: 600;
    white-space: nowrap;
  }

  .privacy-table tr:last-child td { border-bottom: none; }

  @media (max-width: 699px) {
    .privacy-table {
      table-layout: fixed;
    }

    .privacy-table th,
    .privacy-table td,
    .privacy-table td:first-child {
      overflow-wrap: anywhere;
      white-space: normal;
    }
  }

  /* ── Rights grid ────────────────────────────────────────────── */
  .privacy-rights-grid {
    display: grid;
    gap: var(--space-3);
    margin-block-start: var(--space-4);
  }

  @media (min-width: 700px) {
    .privacy-rights-grid { grid-template-columns: repeat(2, 1fr); }
  }

  .privacy-right {
    background: var(--surface-1);
    border-radius: var(--radius-2);
    padding: var(--space-3) var(--space-4);
    box-shadow: var(--shadow-inset-highlight);
  }

  .privacy-right__code {
    font-family: var(--font-mono);
    font-size: var(--font-size-00);
    letter-spacing: var(--tracking-wide);
    color: var(--secondary-500);
    display: block;
    margin-block-end: var(--space-1);
  }

  .privacy-right__title {
    font-weight: 700;
    color: var(--text-0);
    display: block;
    margin-block-end: var(--space-1);
  }

  .privacy-right__desc {
    color: var(--text-2);
    font-size: var(--font-size-0);
    line-height: var(--leading-normal);
  }

  /* ── Contact card ───────────────────────────────────────────── */
  .privacy-contact {
    background: var(--surface-1);
    border-radius: var(--radius-2);
    border: 1px solid var(--line-subtle);
    padding: var(--space-5) var(--space-6);
    margin-block-start: var(--space-3);
    display: grid;
    gap: var(--space-2);
  }

  .privacy-contact__name {
    font-size: var(--font-size-2);
    font-weight: 700;
    color: var(--text-0);
    margin-block-end: var(--space-1);
  }

  .privacy-contact__row {
    font-family: var(--font-mono);
    font-size: var(--font-size-0);
    letter-spacing: 0.02em;
    color: var(--text-2);
  }

  .privacy-contact__row a { color: var(--secondary-500); }
  .privacy-contact__row a:hover { color: var(--text-0); }
}
