.privacy-page {
  background: var(--color-cream-50);
  color: var(--color-ink-900);
}

.privacy-page section[id] {
  scroll-margin-top: 7rem;
}

.privacy-page__hero {
  overflow: hidden;
  padding-block: clamp(4.5rem, 8vw, 6.5rem);
  background: var(--color-night-950);
  color: var(--color-mist-100);
}

.privacy-page__hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--grid-gap);
  align-items: center;
}

.privacy-page__hero-layout > * { min-width: 0; }

.privacy-page__hero-copy {
  width: min(100%, 42.5rem);
}

.privacy-page__hero-copy h1 { margin-bottom: var(--space-4); }

.privacy-page__hero-copy .intro {
  max-width: 40rem;
  color: var(--color-mist-300);
}

.privacy-page__hero-rule {
  width: 8rem;
  height: 1px;
  margin: 0 0 var(--space-5);
  background: var(--color-copper-500);
}

.privacy-page__pending {
  display: inline;
  padding-inline: 0.2em;
  border-bottom: 1px dashed currentColor;
  color: inherit;
  font-weight: 600;
}

.privacy-page__hero-lines {
  display: grid;
  min-height: 12rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  align-items: center;
  opacity: 0.65;
}

.privacy-page__hero-lines span {
  min-width: 0;
  height: 70%;
  border-inline: 1px solid var(--color-line-night);
}

.privacy-page__hero-lines span:nth-child(2) { height: 100%; border-color: var(--color-copper-500); }
.privacy-page__hero-lines span:nth-child(3) { height: 48%; }
.privacy-page__hero-lines span:nth-child(4) { height: 82%; }

.privacy-page__landmarks-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--grid-gap);
  align-items: start;
}

.privacy-page__landmarks-grid > * { min-width: 0; }

.privacy-page__responsible { width: min(100%, 42.5rem); }

.privacy-page__completion-box {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-line-dark);
  background: var(--color-cream-200);
}

.privacy-page__completion-box > * { min-width: 0; margin: 0; }

.privacy-page__completion-box .label { color: var(--color-copper-500); }

.privacy-page__toc {
  width: 100%;
  padding: var(--space-5);
  border-top: 1px solid var(--color-copper-500);
  border-bottom: 1px solid var(--color-line-dark);
}

.privacy-page__toc > * { min-width: 0; }
.privacy-page__toc .label { color: var(--color-copper-500); }

.privacy-page__toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

.privacy-page__toc li { min-width: 0; border-bottom: 1px solid var(--color-line-dark); }

.privacy-page__toc a {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-ink-900);
  font-size: var(--text-meta);
  text-decoration: none;
}

.privacy-page__toc a:hover { color: var(--color-copper-500); text-decoration: underline; }

.privacy-page__data-intro,
.privacy-page__purposes-intro,
.privacy-page__rights-intro {
  width: min(100%, 42.5rem);
  margin-bottom: var(--space-7);
}

.privacy-page__data-intro .intro,
.privacy-page__purposes-intro .intro,
.privacy-page__rights-intro .intro { max-width: 40rem; }

.privacy-page__data-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
  align-items: stretch;
}

.privacy-page__data-grid > * { min-width: 0; width: 100%; }

.privacy-page__data-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border-top: 1px solid var(--color-copper-500);
  border-bottom: 1px solid var(--color-line-dark);
  background: var(--color-cream-50);
}

.privacy-page__data-card > * { min-width: 0; margin: 0; }
.privacy-page__data-card h3 { font-size: 1.5rem; }
.privacy-page__data-card p:last-child { max-width: 34rem; font-size: var(--text-meta); line-height: var(--leading-body); }

.privacy-page__card-number {
  color: var(--color-copper-500);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-micro);
}

.privacy-page__purposes-intro { margin-bottom: var(--space-6); }

.privacy-page__table-wrap { width: 100%; overflow: visible; }

.privacy-page__purposes-table {
  color: var(--color-ink-900);
  table-layout: fixed;
}

.privacy-page__purposes-table th,
.privacy-page__purposes-table td {
  min-width: 0;
  padding: var(--space-5);
  border-color: var(--color-line-dark);
  line-height: var(--leading-body);
}

.privacy-page__purposes-table thead th {
  color: var(--color-ink-600);
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.privacy-page__purposes-table th:nth-child(1) { width: 25%; }
.privacy-page__purposes-table th:nth-child(2) { width: 50%; }
.privacy-page__purposes-table th:nth-child(3) { width: 25%; }
.privacy-page__purposes-table tbody th { font-family: var(--font-heading); font-size: 1.35rem; font-weight: 600; line-height: 1.2; }
.privacy-page__purposes-table tbody tr:nth-child(2) { background: rgb(233 221 201 / 42%); }
.privacy-page__purposes-table tbody td { font-size: var(--text-meta); }

.privacy-page__retention-heading { width: min(100%, 42.5rem); margin-bottom: var(--space-7); }

.privacy-page__retention-first {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 3fr);
  gap: var(--grid-gap);
  align-items: start;
  margin-bottom: var(--space-7);
}

.privacy-page__retention-first > * { min-width: 0; }

.privacy-page__retention-copy { width: min(100%, 42.5rem); }
.privacy-page__retention-copy p { max-width: 43rem; }

.privacy-page__documentation-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-start: 1px solid var(--color-copper-500);
  background: var(--color-cream-200);
}

.privacy-page__documentation-note > * { min-width: 0; margin: 0; }
.privacy-page__documentation-note .label { color: var(--color-copper-500); }
.privacy-page__documentation-note p:last-child { font-size: var(--text-meta); }

.privacy-page__recipients {
  width: min(100%, 42.5rem);
  margin-bottom: var(--space-7);
}

.privacy-page__recipients > ul { width: min(100%, 33rem); margin-bottom: 0; }

.privacy-page__transfers {
  display: flex;
  width: min(100%, 62.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-inline-start: auto;
  padding: var(--space-6);
  border: 1px solid var(--color-line-night);
  background: var(--color-night-900);
  color: var(--color-mist-100);
}

.privacy-page__transfers > * { min-width: 0; margin: 0; }
.privacy-page__transfers .meta { max-width: 36rem; }

.privacy-page__security { color: var(--color-mist-100); }

.privacy-page__security-heading { width: min(100%, 42.5rem); margin-bottom: var(--space-7); }
.privacy-page__security-heading .intro { max-width: 38rem; color: var(--color-mist-300); }

.privacy-page__security-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
  align-items: stretch;
}

.privacy-page__security-grid > * { min-width: 0; width: 100%; }

.privacy-page__security-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-line-night);
  background: var(--color-night-900);
}

.privacy-page__security-item > * { min-width: 0; margin: 0; }
.privacy-page__security-item p:last-child { max-width: 35rem; color: var(--color-mist-300); font-size: var(--text-meta); line-height: var(--leading-body); }

.privacy-page__rights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--grid-gap);
  align-items: start;
  margin-bottom: var(--space-7);
}

.privacy-page__rights-grid > * { min-width: 0; width: 100%; }

.privacy-page__rights-column {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.privacy-page__rights-column > * { min-width: 0; width: 100%; }

.privacy-page__rights-column article {
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-line-dark);
}

.privacy-page__rights-column article > :last-child { margin-bottom: 0; }
.privacy-page__rights-column h3 { margin-bottom: var(--space-2); }
.privacy-page__rights-column p { max-width: 32rem; font-size: var(--text-meta); }

.privacy-page__exercise-box {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-line-dark);
  background: var(--color-cream-200);
}

.privacy-page__exercise-box > * { min-width: 0; margin: 0; }
.privacy-page__exercise-box .label { color: var(--color-copper-500); }
.privacy-page__exercise-box p { max-width: 40rem; }

.privacy-page__cnil-note {
  width: min(100%, 42.5rem);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line-dark);
  color: var(--color-ink-600);
  font-size: var(--text-meta);
}

.privacy-page__closing { color: var(--color-mist-100); }

.privacy-page__cookies-box {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-line-night);
  background: var(--color-night-900);
}

.privacy-page__cookies-box > * { min-width: 0; margin: 0; }
.privacy-page__cookies-box h2 { margin-bottom: var(--space-2); }
.privacy-page__cookies-box h3 { font-size: 1.5rem; }
.privacy-page__cookies-box p { max-width: 40rem; color: var(--color-mist-300); }

.privacy-page__external-note,
.privacy-page__update-note {
  width: min(100%, 37rem);
}

.privacy-page__external-note { margin-top: var(--space-7); }

.privacy-page__update-note {
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-copper-500);
}

.privacy-page__external-note h3,
.privacy-page__update-note h3 { margin-bottom: var(--space-3); }
.privacy-page__external-note p,
.privacy-page__update-note p { color: var(--color-mist-300); }

@media (max-width: 56.24rem) {
  .privacy-page__data-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-page__data-card:nth-child(3) { grid-column: 1 / -1; }

  .privacy-page__purposes-table thead { display: none; }
  .privacy-page__purposes-table,
  .privacy-page__purposes-table tbody,
  .privacy-page__purposes-table tr,
  .privacy-page__purposes-table th,
  .privacy-page__purposes-table td { display: block; width: 100%; }
  .privacy-page__purposes-table tr { padding: var(--space-5); border-bottom: 1px solid var(--color-line-dark); }
  .privacy-page__purposes-table th,
  .privacy-page__purposes-table td { padding: 0; border: 0; }
  .privacy-page__purposes-table th { margin-bottom: var(--space-4); }
  .privacy-page__purposes-table td + td { margin-top: var(--space-4); }
  .privacy-page__purposes-table td::before {
    display: block;
    margin-bottom: var(--space-2);
    color: var(--color-ink-600);
    content: attr(data-label);
    font-size: var(--text-micro);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
}

@media (max-width: 53.74rem) {
  .privacy-page__landmarks-grid,
  .privacy-page__retention-first { grid-template-columns: minmax(0, 1fr); }
  .privacy-page__responsible,
  .privacy-page__retention-copy { width: 100%; }
  .privacy-page__documentation-note { width: 100%; }
  .privacy-page__transfers { width: 100%; margin-inline-start: 0; }
  .privacy-page__security-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 47.49rem) {
  .privacy-page__hero { padding-block: var(--space-8); }
  .privacy-page__hero-layout { grid-template-columns: minmax(0, 1fr); }
  .privacy-page__hero-lines { display: none; }
  .privacy-page__hero-copy { width: 100%; }
  .privacy-page__hero-copy .intro { max-width: none; font-size: 1.0625rem; }

  .privacy-page__toc ol { grid-template-columns: minmax(0, 1fr); }
  .privacy-page__data-intro,
  .privacy-page__purposes-intro,
  .privacy-page__rights-intro,
  .privacy-page__retention-heading,
  .privacy-page__security-heading { width: 100%; margin-bottom: var(--space-6); }
  .privacy-page__data-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-page__data-card:nth-child(3) { grid-column: auto; }
  .privacy-page__rights-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-page__exercise-box,
  .privacy-page__cnil-note,
  .privacy-page__cookies-box,
  .privacy-page__external-note,
  .privacy-page__update-note { width: 100%; }
  .privacy-page__recipients { width: 100%; }
}

@media (max-width: 32.49rem) {
  .privacy-page__completion-box,
  .privacy-page__data-card,
  .privacy-page__security-item,
  .privacy-page__exercise-box,
  .privacy-page__cookies-box,
  .privacy-page__transfers { padding: var(--space-5); }
  .privacy-page__exercise-box .button,
  .privacy-page__cookies-box .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-page__toc a { transition: none; }
}