.privacy-page {
  --privacy-rule: var(--border-width) solid var(--color-border);
}

.privacy-page .section {
  padding-block: var(--section-space);
}

.privacy-page .privacy-index,
.privacy-page .privacy-point-number {
  margin: 0;
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-meta);
  line-height: 1.2;
  text-transform: uppercase;
}

.privacy-page .privacy-index--accent {
  color: var(--color-rouge-luna);
}

.privacy-page a:not(.button) {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.privacy-page a:not(.button):hover {
  text-decoration-thickness: 2px;
}

.privacy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  column-gap: var(--gutter-desktop);
  align-items: start;
}

.privacy-hero__grid > * { min-width: 0; }
.privacy-hero__grid > .privacy-index { grid-column: 1; }
.privacy-hero__content { grid-column: 2; max-width: 58ch; }
.privacy-hero__lead { max-width: 58ch; font-size: var(--text-lg); line-height: 1.4; }
.privacy-hero__scope { max-width: 58ch; margin-bottom: 0; }

.privacy-scope { padding-block: var(--section-space); }
.privacy-scope__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
}
.privacy-scope__grid > * { min-width: 0; }
.privacy-scope__intro { grid-column: 1; }
.privacy-scope__intro p:last-child { max-width: 46ch; }
.privacy-scope__point { grid-column: span 1; padding-top: var(--space-3); }
.privacy-scope__point h3 { margin-top: var(--space-3); }
.privacy-scope__point p:last-child { margin-bottom: 0; max-width: 48ch; }

.privacy-data__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--gutter-desktop);
  align-items: start;
}
.privacy-data__grid > * { min-width: 0; }
.privacy-data__intro { grid-column: 1; }
.privacy-data__intro p:last-child { max-width: 45ch; }
.privacy-data__categories {
  display: grid;
  grid-column: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8) var(--gutter-desktop);
}
.privacy-data__categories > * { min-width: 0; }
.privacy-data__category { padding-top: var(--space-3); }
.privacy-data__category--navigation { grid-column: 1 / -1; }
.privacy-data__category > p { max-width: 60ch; }
.privacy-detail-list { margin: 0; }
.privacy-detail-list li {
  padding-block: var(--space-2);
  border-top: var(--border-width) solid var(--color-border);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}
.privacy-detail-list li::before {
  display: inline-block;
  width: 1.5em;
  content: "—";
}
.privacy-detail-list--inline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.privacy-detail-list--inline li { min-width: 0; }

.privacy-purposes__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: var(--gutter-desktop);
  align-items: start;
}
.privacy-purposes__grid > * { min-width: 0; }
.privacy-purposes__intro { grid-column: 1; }
.privacy-purposes__intro p:last-child { max-width: 38ch; }
.privacy-purposes__list { display: flex; grid-column: 2; min-width: 0; flex-direction: column; }
.privacy-purpose {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr);
  gap: var(--gutter-desktop);
  padding-block: var(--space-4);
}
.privacy-purpose > * { min-width: 0; }
.privacy-purpose__label { grid-column: 1; }
.privacy-purpose__label h3 { margin-top: var(--space-2); }
.privacy-purpose > p { grid-column: 2; max-width: 60ch; margin-bottom: 0; }

.privacy-retention__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr) minmax(0, 1fr) minmax(0, 3fr);
  gap: var(--gutter-desktop);
  align-items: start;
}
.privacy-retention__grid > * { min-width: 0; }
.privacy-retention__grid > .privacy-index { grid-column: 1; }
.privacy-retention__content { grid-column: 2; max-width: 60ch; }
.privacy-retention__update { margin-top: var(--space-8); padding-top: var(--space-4); }
.privacy-retention__update p:last-child { margin-bottom: 0; }
.privacy-access { grid-column: 4; padding: var(--space-6); }
.privacy-access h3 { margin-top: var(--space-3); }
.privacy-access p:last-child { margin-bottom: 0; }

.privacy-rights__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--gutter-desktop);
  align-items: start;
}
.privacy-rights__grid > * { min-width: 0; }
.privacy-rights__content { grid-column: 1; }
.privacy-rights__intro { max-width: 58ch; }
.privacy-rights__group { display: flex; min-width: 0; flex-direction: column; margin-top: var(--space-8); }
.privacy-rights__group + .privacy-rights__group { padding-top: var(--space-4); }
.privacy-rights__group-title { margin-bottom: var(--space-4); }
.privacy-right {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 6fr);
  gap: var(--gutter-desktop);
  padding-block: var(--space-4);
}
.privacy-right > * { min-width: 0; }
.privacy-right h4 { margin-top: var(--space-2); }
.privacy-right > p { margin-bottom: 0; max-width: 58ch; }
.privacy-request {
  display: flex;
  grid-column: 2;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-6);
}
.privacy-request > * { min-width: 0; margin: 0; }
.privacy-request h3 { margin-top: var(--space-1); }
.privacy-request__button { align-self: flex-start; }

.privacy-cookies { padding-block: var(--section-space); }
.privacy-cookies__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--gutter-desktop);
  align-items: start;
}
.privacy-cookies__grid > * { min-width: 0; }
.privacy-cookies__intro { grid-column: 1; }
.privacy-cookies__intro p:last-child { max-width: 46ch; }
.privacy-cookies__content { grid-column: 2; max-width: 58ch; }
.privacy-cookies__content p:last-child { margin-bottom: 0; }

.privacy-closing__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--gutter-desktop);
  align-items: start;
}
.privacy-closing__grid > * { min-width: 0; }
.privacy-closing__grid > .privacy-index { grid-column: 1; justify-self: end; }
.privacy-closing__content { grid-column: 2; max-width: 56ch; }
.privacy-closing__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding-top: var(--space-4);
  border-top: var(--privacy-rule);
}
.privacy-closing__action > * { min-width: 0; margin: 0; }

@media (max-width: 62.4375rem) {
  .privacy-hero__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 4fr); }
  .privacy-hero__content { grid-column: 2; }
  .privacy-scope__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr); gap: var(--gutter-tablet); }
  .privacy-data__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gutter-tablet); }
  .privacy-data__intro { grid-column: 1 / -1; }
  .privacy-data__categories { grid-column: 1 / -1; }
  .privacy-purposes__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gutter-tablet); }
  .privacy-purposes__intro { grid-column: 1 / -1; max-width: 48ch; }
  .privacy-purposes__list { grid-column: 1 / -1; }
  .privacy-purpose { grid-template-columns: minmax(0, 2fr) minmax(0, 4fr); gap: var(--gutter-tablet); }
  .privacy-retention__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gutter-tablet); }
  .privacy-retention__grid > .privacy-index { grid-column: 1 / -1; }
  .privacy-retention__content { grid-column: 1 / -1; }
  .privacy-access { grid-column: 1 / -1; max-width: 48ch; }
  .privacy-rights__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gutter-tablet); }
  .privacy-rights__content { grid-column: 1 / -1; }
  .privacy-request { grid-column: 1 / -1; max-width: 48ch; }
  .privacy-right { grid-template-columns: minmax(0, 2fr) minmax(0, 4fr); gap: var(--gutter-tablet); }
  .privacy-cookies__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gutter-tablet); }
  .privacy-cookies__intro { grid-column: 1 / -1; max-width: 48ch; }
  .privacy-cookies__content { grid-column: 1 / -1; }
  .privacy-closing__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gutter-tablet); }
  .privacy-closing__grid > .privacy-index { grid-column: 1 / -1; justify-self: start; }
  .privacy-closing__content { grid-column: 1 / -1; }
}

@media (max-width: 47.9375rem) {
  .privacy-page .section,
  .privacy-scope,
  .privacy-cookies { padding-block: var(--section-space); }
  .privacy-page h1 { font-size: clamp(2.75rem, 12vw, 3.5rem); line-height: 0.95; }
  .privacy-page h2 { font-size: 2rem; line-height: 1; }
  .privacy-page h3 { font-size: 1.5rem; }
  .privacy-hero__grid,
  .privacy-scope__grid,
  .privacy-data__grid,
  .privacy-purposes__grid,
  .privacy-retention__grid,
  .privacy-rights__grid,
  .privacy-cookies__grid,
  .privacy-closing__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .privacy-hero__grid > .privacy-index,
  .privacy-hero__content,
  .privacy-scope__intro,
  .privacy-scope__point,
  .privacy-data__intro,
  .privacy-data__categories,
  .privacy-purposes__intro,
  .privacy-purposes__list,
  .privacy-retention__grid > .privacy-index,
  .privacy-retention__content,
  .privacy-access,
  .privacy-rights__content,
  .privacy-request,
  .privacy-cookies__intro,
  .privacy-cookies__content,
  .privacy-closing__grid > .privacy-index,
  .privacy-closing__content { grid-column: 1; }
  .privacy-hero__lead { max-width: 34ch; font-size: var(--text-base); line-height: var(--leading-body); }
  .privacy-scope__point { padding-top: var(--space-4); }
  .privacy-scope__point p:last-child,
  .privacy-scope__intro p:last-child,
  .privacy-data__intro p:last-child,
  .privacy-purposes__intro p:last-child,
  .privacy-cookies__intro p:last-child { max-width: none; }
  .privacy-data__categories { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .privacy-data__category--navigation { grid-column: 1; }
  .privacy-detail-list--inline { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .privacy-purpose { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-6); }
  .privacy-purpose__label,
  .privacy-purpose > p { grid-column: 1; }
  .privacy-purpose > p { max-width: none; }
  .privacy-retention__content { max-width: none; }
  .privacy-access { max-width: none; padding: var(--space-4); }
  .privacy-rights__intro { max-width: none; }
  .privacy-right { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-6); }
  .privacy-right > p { max-width: none; }
  .privacy-request { max-width: none; padding: var(--space-4); }
  .privacy-request__button,
  .privacy-closing__button { width: 100%; }
  .privacy-cookies__content { max-width: none; }
  .privacy-closing__grid > .privacy-index { justify-self: start; }
  .privacy-closing__content { max-width: none; }
  .privacy-closing__action { align-items: stretch; }
}
