.privacy-page {
  position: relative;
  padding-block-end: var(--space-8);
}

.privacy-page::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(0deg, rgb(169 121 60 / 3%) 0 1px, transparent 1px 8px);
  content: "";
}

.privacy-page__intro {
  padding-block: var(--space-8) var(--space-6);
}

.privacy-page__intro-inner,
.privacy-page__overview-inner {
  width: min(100% - (var(--container-padding) * 2), 56.25rem);
  margin-inline: auto;
}

.privacy-page__intro-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.privacy-page__intro-inner > * {
  min-width: 0;
}

.privacy-page__intro-inner .terrain-label {
  margin-block-end: 0;
}

.privacy-page__intro-inner h1,
.privacy-page__intro-inner p,
.privacy-page__overview-inner h2,
.privacy-page__overview-inner p {
  margin-block: 0;
}

.privacy-page__lead {
  width: min(100%, 45rem);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.privacy-page__date-panel {
  display: flex;
  flex-direction: column;
  width: min(100%, 32rem);
  min-width: 0;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-parchment-deep);
}

.privacy-page__date-panel p {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.privacy-page__overview {
  padding-block: var(--space-5) var(--space-7);
}

.privacy-page__overview-inner {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.privacy-page__overview-inner > * {
  min-width: 0;
}

.privacy-page__overview-inner .terrain-label {
  margin-block-end: 0;
}

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

.privacy-page__map-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: var(--space-2) var(--space-6);
  margin: 0;
  padding-inline-start: 1.75rem;
}

.privacy-page__map-list > li {
  min-width: 0;
  padding-inline-start: var(--space-1);
}

.privacy-page__map-list a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  overflow-wrap: anywhere;
}

.privacy-page__reading-note {
  width: min(100%, 38.75rem);
  min-width: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 0.25rem solid var(--color-ochre);
}

.privacy-page__reading-note p {
  margin: 0;
}

.privacy-page__reading {
  width: min(100% - (var(--container-padding) * 2), var(--reading-max));
  margin-inline: auto;
}

.privacy-page__section {
  padding-block: var(--space-7);
}

.privacy-page__section + .privacy-page__section {
  border-block-start: 1px solid rgb(169 121 60 / 70%);
}

.privacy-page__section > .terrain-label {
  margin-block-end: var(--space-2);
}

.privacy-page__section > h2 {
  margin-block-start: 0;
}

.privacy-page__contact-card,
.privacy-page__cookie-panel,
.privacy-page__request-card,
.privacy-page__final-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.privacy-page__contact-card > *,
.privacy-page__cookie-panel > *,
.privacy-page__request-card > *,
.privacy-page__final-panel > * {
  min-width: 0;
  margin-block: 0;
}

.privacy-page__contact-card h3,
.privacy-page__cookie-panel h3,
.privacy-page__request-card h3 {
  margin-block-start: 0;
}

.privacy-page__data-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
}

.privacy-page__data-list > div {
  display: grid;
  grid-template-columns: 9.375rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.privacy-page__data-list dt,
.privacy-page__data-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.privacy-page__data-list dt {
  color: var(--color-dark-plum);
  font-weight: 700;
}

.privacy-page__context-copy,
.privacy-page__legal-copy,
.privacy-page__cookie-copy,
.privacy-page__remedy-copy,
.privacy-page__revision-copy {
  width: min(100%, 42.5rem);
  margin-block-start: var(--space-5);
}

.privacy-page__context-copy h3,
.privacy-page__legal-copy h3,
.privacy-page__cookie-copy h3,
.privacy-page__remedy-copy h3 {
  margin-block-start: var(--space-5);
}

.privacy-page__context-copy h3:first-child,
.privacy-page__legal-copy h3:first-child,
.privacy-page__cookie-copy h3:first-child,
.privacy-page__remedy-copy h3:first-child {
  margin-block-start: 0;
}

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

.privacy-page__case {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-4);
  padding-block: var(--space-2);
}

.privacy-page__index {
  width: 2.5rem;
  min-width: 0;
  color: var(--color-line-ochre);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: var(--line-heading);
}

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

.privacy-page__case-copy h3 {
  margin-block-start: 0;
}

.privacy-page__case--external {
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgb(232 214 185 / 55%);
}

.privacy-page__access-note {
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--color-border-strong);
  border-inline-start: 0.25rem solid var(--color-ochre);
  background: var(--color-parchment-deep);
}

.privacy-page__access-note h3 {
  margin-block-start: 0;
}

.privacy-page__wide-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.privacy-page__play-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  border-radius: var(--radius-md);
}

.privacy-page__play-panel > * {
  width: min(100%, 40rem);
  min-width: 0;
  margin-block: 0;
}

.privacy-page__play-panel h3 {
  margin-block-start: 0;
}

.privacy-page__play-link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  align-items: center;
  overflow-wrap: anywhere;
}

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

.privacy-page__rights-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  margin: var(--space-5) 0;
  padding-inline-start: 2.25rem;
}

.privacy-page__rights-list > li {
  min-width: 0;
  padding-inline-start: var(--space-2);
}

.privacy-page__rights-list > li > div {
  width: min(100%, 42.5rem);
  min-width: 0;
}

.privacy-page__rights-list h3 {
  margin-block: 0 var(--space-2);
}

.privacy-page__rights-list p {
  margin: 0;
}

.privacy-page__remedy-copy {
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-line-ochre);
}

.privacy-page__section--final {
  padding-block-end: var(--space-4);
}

.privacy-page__final-panel {
  width: 100%;
  margin-block-start: var(--space-5);
}

.privacy-page__final-panel p {
  width: min(100%, 33.75rem);
}

.privacy-page__final-panel a {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  align-items: center;
  overflow-wrap: anywhere;
}

.privacy-page :is(a, dd, p, li) {
  overflow-wrap: anywhere;
}

.privacy-page h2:target,
.privacy-page h2.privacy-page__target-highlight {
  outline: 2px dashed var(--color-ochre);
  outline-offset: 0.3rem;
}

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

@media (max-width: 47.5rem) {
  .privacy-page__case {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .privacy-page__index {
    width: auto;
  }
}

@media (max-width: 40rem) {
  .privacy-page__data-list > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }
}

@media (max-width: 47.99rem) {
  .privacy-page {
    padding-block-end: var(--space-7);
  }

  .privacy-page__intro {
    padding-block: var(--space-7) var(--space-5);
  }

  .privacy-page__overview {
    padding-block: var(--space-4) var(--space-6);
  }

  .privacy-page__section {
    padding-block: var(--space-6);
  }

  .privacy-page__intro-inner,
  .privacy-page__overview-inner {
    width: min(100% - (var(--container-padding) * 2), 56.25rem);
  }

  .privacy-page__lead {
    width: 100%;
  }

  .privacy-page__date-panel {
    width: 100%;
    padding: var(--space-3);
  }

  .privacy-page__play-panel {
    padding: var(--space-4);
  }

  .privacy-page__case--external {
    padding: var(--space-3);
  }

  .privacy-page__access-note {
    padding: var(--space-3);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-page * {
    scroll-behavior: auto;
  }
}
