.privacy-page {
  padding-block: var(--space-8) var(--space-10);
  background: var(--color-canvas-cream);
}

.privacy-page__hero {
  margin-block-end: var(--space-9);
}

.privacy-page__hero-container {
  padding: var(--space-8);
  border: 1px solid var(--color-navy-surface);
  border-radius: var(--radius-hero);
  background: var(--color-navy-surface);
  color: var(--color-on-dark);
}

.privacy-breadcrumbs {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
  margin-block-end: var(--space-5);
  color: var(--color-on-dark-muted);
  font-size: var(--text-14);
}

.privacy-breadcrumbs > * { min-width: 0; }
.privacy-breadcrumbs a { color: var(--color-on-dark-muted); }
.privacy-breadcrumbs a:hover { color: var(--color-on-dark); }

.privacy-page__hero-copy {
  display: flex;
  min-width: 0;
  max-width: 45rem;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

.privacy-page__hero-copy > * { margin: 0; }
.privacy-page__hero-label { color: var(--color-on-dark-muted); }
.privacy-page__hero-copy h1 { color: var(--color-on-dark); font-size: clamp(2.375rem, 4vw, 3.25rem); line-height: 1.08; }
.privacy-page__hero-copy .lead { max-width: 56ch; color: var(--color-on-dark); }
.privacy-page__hero-copy a { color: var(--color-on-dark); }

.privacy-page__hero-meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  color: var(--color-on-dark-muted);
  font-size: var(--text-14);
}

.privacy-page__hero-meta > * { min-width: 0; }
.privacy-page__hero-meta strong { color: var(--color-on-dark); }

.privacy-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 45rem) minmax(16.25rem, 21.25rem);
  gap: var(--space-9);
  align-items: start;
}

.privacy-article { grid-column: 1; min-width: 0; }
.privacy-index { grid-column: 2; min-width: 0; position: sticky; top: var(--space-6); }

.privacy-index__details {
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--color-surface-white);
}

.privacy-index__details summary {
  min-height: 2.75rem;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-22);
  font-weight: var(--weight-bold);
}

.privacy-index__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding-block-start: var(--space-3);
}

.privacy-index__content > * { min-width: 0; margin: 0; }
.privacy-index__content ol { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin: 0; padding-inline-start: 1.25rem; }
.privacy-index__content li { min-width: 0; }
.privacy-index__content a[aria-current="location"] { color: var(--color-ink-night); font-weight: var(--weight-bold); text-decoration-thickness: 2px; }
.privacy-index__notice { padding: var(--space-3); border-inline-start: 3px solid var(--color-moon-blue); background: var(--color-moon-blue-soft); color: var(--color-ink-night); font-size: var(--text-14); line-height: 1.43; }

.privacy-section { scroll-margin-top: 7rem; }
.privacy-section + .privacy-section { margin-block-start: var(--space-9); }
.privacy-section > h2 { margin-block-end: var(--space-5); }

.privacy-section__copy {
  display: flex;
  min-width: 0;
  max-width: 68ch;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

.privacy-section__copy > * { margin: 0; }
.privacy-section__copy h3 { margin-block-start: var(--space-2); }
.privacy-section__intro { max-width: 62ch; margin-block-end: var(--space-5); }

.privacy-contact-list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin: 0; }
.privacy-contact-list > div { display: grid; grid-template-columns: 9.375rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.privacy-contact-list dt, .privacy-contact-list dd { min-width: 0; margin: 0; }

.privacy-scope-note,
.privacy-security-note,
.privacy-request-panel,
.privacy-play-note,
.privacy-unsolicited-note,
.privacy-complaint-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.privacy-scope-note > *, .privacy-security-note > *, .privacy-request-panel > *, .privacy-play-note > *, .privacy-unsolicited-note > *, .privacy-complaint-note > * { margin: 0; }
.privacy-scope-note { padding: var(--space-5); border: 1px solid var(--color-moon-blue); border-radius: var(--radius-card); background: var(--color-moon-blue-soft); }

.privacy-data-list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.privacy-data-item { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding: var(--space-4) 0; border-block-end: var(--border-default); }
.privacy-data-item__number { min-width: 0; color: var(--color-moon-blue); font-family: var(--font-heading); font-size: var(--text-22); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.privacy-data-item__body { display: flex; min-width: 0; max-width: 70ch; flex-direction: column; gap: var(--space-2); }
.privacy-data-item__body > * { margin: 0; }
.privacy-data-item__body .eyebrow { color: var(--color-ink-muted); }
.privacy-data-item--soft .privacy-data-item__body { padding: var(--space-4); border-radius: var(--radius-card); background: var(--color-moon-blue-soft); }
.privacy-minimisation-note { display: flex; min-width: 0; max-width: 68ch; flex-direction: column; gap: var(--space-2); padding: var(--space-4); border-inline-start: 4px solid var(--color-mint); background: var(--color-mint-soft); }
.privacy-minimisation-note > * { margin: 0; }

.privacy-purpose-table-wrap { overflow: hidden; border: var(--border-default); border-radius: var(--radius-card); background: var(--color-surface-white); }
.privacy-purpose-table { table-layout: fixed; }
.privacy-purpose-table th, .privacy-purpose-table td { padding: var(--space-4); border-bottom: var(--border-default); overflow-wrap: anywhere; }
.privacy-purpose-table thead th { background: var(--color-moon-blue-soft); }
.privacy-purpose-table thead th:nth-child(1) { width: 32%; }
.privacy-purpose-table thead th:nth-child(2) { width: 33%; }
.privacy-purpose-table thead th:nth-child(3) { width: 35%; }
.privacy-purpose-table tbody th { color: var(--color-ink-night); font-family: var(--font-heading); font-size: var(--text-18); line-height: 1.3; }
.privacy-purpose-table tbody tr:nth-child(2) { background: #f4f9fd; }
.privacy-purpose-table tbody tr:last-child > * { border-bottom: 0; }

.privacy-automation-note { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; margin-block-start: var(--space-5); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-surface-white); }
.privacy-automation-note > span { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-moon-blue-soft); color: var(--color-ink-night); font-weight: var(--weight-bold); }
.privacy-automation-note > div { min-width: 0; max-width: 66ch; }
.privacy-automation-note h3, .privacy-automation-note p { margin: 0; }
.privacy-automation-note p { margin-block-start: var(--space-2); }

.privacy-play-note { margin-block-start: var(--space-2); padding: var(--space-5); border: 1px solid var(--color-relic-violet); border-radius: var(--radius-panel); background: var(--color-violet-soft); }
.privacy-play-note ul { display: flex; min-width: 0; max-width: 60ch; flex-direction: column; gap: var(--space-2); margin: 0; }

.privacy-security-note { padding: var(--space-5); border: 1px solid var(--color-mint); border-radius: var(--radius-panel); background: var(--color-mint-soft); }

.privacy-rights-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.privacy-rights-grid > section { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-surface-white); }
.privacy-rights-grid > section > * { margin: 0; }
.privacy-rights-grid h3 { font-size: var(--text-22); }
.privacy-request-panel { margin-block-start: var(--space-5); padding: var(--space-5); border: 1px solid var(--color-moon-blue); border-radius: var(--radius-panel); background: var(--color-moon-blue-soft); }
.privacy-request-panel ol { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin: 0; }
.privacy-complaint-note { margin-block-start: var(--space-5); padding: var(--space-4); border-inline-start: 4px solid var(--color-combat-coral); background: var(--color-coral-soft); }

.privacy-unsolicited-note { padding: var(--space-4); border-inline-start: 4px solid var(--color-legendary-gold); background: var(--color-gold-soft); }

.privacy-page__closing { margin-block-start: var(--space-10); }
.privacy-page__closing-container { padding: var(--space-7); border: 1px solid var(--color-navy-surface); border-radius: var(--radius-hero); background: var(--color-navy-surface); color: var(--color-on-dark); }
.privacy-page__closing-copy { display: flex; min-width: 0; max-width: 45rem; flex-direction: column; gap: var(--space-4); }
.privacy-page__closing-copy > * { margin: 0; }
.privacy-page__closing h2, .privacy-page__closing h3 { color: var(--color-on-dark); }
.privacy-page__closing a { color: var(--color-on-dark); }
.privacy-page__closing-contact { display: flex; min-width: 0; max-width: 35rem; flex-direction: column; gap: var(--space-2); padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-navy-muted); }
.privacy-page__closing-contact > * { margin: 0; }
.privacy-page__closing .meta { color: var(--color-on-dark-muted); }

@media (max-width: 60rem) {
  .privacy-page__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .privacy-index { grid-column: 1; grid-row: 1; position: static; width: 100%; }
  .privacy-article { grid-column: 1; grid-row: 2; }
  .privacy-index__details:not([open]) .privacy-index__content { display: none; }
}

@media (max-width: 51.25rem) {
  .privacy-purpose-table-wrap { overflow: visible; border: 0; background: transparent; }
  .privacy-purpose-table, .privacy-purpose-table tbody, .privacy-purpose-table tr, .privacy-purpose-table th, .privacy-purpose-table td { display: block; width: 100%; }
  .privacy-purpose-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .privacy-purpose-table tbody { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
  .privacy-purpose-table tbody tr { padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-surface-white); }
  .privacy-purpose-table tbody tr:nth-child(2) { background: var(--color-moon-blue-soft); }
  .privacy-purpose-table th, .privacy-purpose-table td { padding: 0; border: 0; }
  .privacy-purpose-table td { margin-block-start: var(--space-3); }
  .privacy-purpose-table td::before { display: block; margin-block-end: var(--space-1); color: var(--color-ink-muted); content: attr(data-label); font-size: var(--text-12); font-weight: var(--weight-bold); letter-spacing: 0.06em; text-transform: uppercase; }
}

@media (max-width: 42.5rem) {
  .privacy-rights-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 40rem) {
  .privacy-page { padding-block: var(--space-7) var(--space-8); }
  .privacy-page__hero { margin-block-end: var(--space-7); }
  .privacy-page__hero-container, .privacy-page__closing-container { padding: var(--space-5) var(--space-4); border-radius: var(--radius-panel); }
  .privacy-page__hero-copy { gap: var(--space-3); }
  .privacy-page__hero-copy h1 { font-size: 2.375rem; line-height: 1.11; }
  .privacy-page__hero-meta { flex-direction: column; gap: var(--space-2); }
  .privacy-section + .privacy-section { margin-block-start: var(--space-8); }
  .privacy-section > h2 { font-size: var(--text-28); line-height: 1.21; }
  .privacy-contact-list > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .privacy-data-item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); padding-block: var(--space-3); }
  .privacy-data-item__body { gap: var(--space-2); }
  .privacy-data-item--soft .privacy-data-item__body { padding: var(--space-4); }
  .privacy-scope-note, .privacy-security-note, .privacy-request-panel, .privacy-play-note { padding: var(--space-4); }
  .privacy-automation-note { grid-template-columns: minmax(0, 1fr); }
  .privacy-page__closing { margin-block-start: var(--space-8); }
}
