.privacy-policy-page {
  background: var(--color-warm-ivory);
}

.privacy-policy-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-10);
  background: var(--color-sandstone);
}

.privacy-policy-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.privacy-policy-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
}

.privacy-policy-hero__content > :last-child {
  margin-block-end: 0;
}

.privacy-policy-hero__label {
  margin-block-end: var(--space-3);
}

.privacy-policy-hero__deck {
  max-width: 40rem;
  font-size: var(--text-16);
  line-height: var(--leading-body);
}

.privacy-policy-hero__number {
  position: absolute;
  z-index: 0;
  top: -0.35em;
  right: -0.08em;
  color: var(--color-eucalyptus);
  font-family: var(--font-sans);
  font-size: clamp(8rem, 31vw, 16rem);
  font-weight: var(--weight-bold);
  letter-spacing: -0.12em;
  line-height: 0.85;
  opacity: 0.09;
  pointer-events: none;
  user-select: none;
}

.privacy-policy-contents-section {
  padding-block: var(--space-10) var(--space-8);
}

.privacy-policy-contents-section__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.privacy-policy-contents {
  width: 100%;
  min-width: 0;
  padding: var(--space-4);
  border: var(--border-width) solid var(--color-line-sand);
  background: var(--color-sandstone);
}

.privacy-policy-contents > :last-child {
  margin-block-end: 0;
}

.privacy-policy-contents h2 {
  margin-block-end: var(--space-4);
  font-size: var(--text-32);
}

.privacy-policy-contents__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.privacy-policy-contents__list > li {
  width: 100%;
  min-width: 0;
  border-top: var(--border-width) solid var(--color-line-sand);
}

.privacy-policy-contents__list > li:last-child {
  border-bottom: var(--border-width) solid var(--color-line-sand);
}

.privacy-policy-contents__list a {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding-block: var(--space-3);
  color: var(--color-eucalyptus);
  font-size: var(--text-14);
  font-weight: var(--weight-medium);
  line-height: 1.35;
  text-decoration: none;
}

.privacy-policy-contents__list a span {
  min-width: 0;
}

.privacy-policy-contents__list a span:first-child {
  color: var(--color-muted-cobalt);
  font-size: var(--text-12);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
}

.privacy-policy-contents__list a span:last-child {
  border-bottom: 1px solid currentColor;
}

.privacy-policy-contents__list a:hover,
.privacy-policy-contents__list a:focus-visible {
  color: var(--color-muted-cobalt);
}

.privacy-policy-chapter {
  padding-block: var(--space-8);
}

.privacy-policy-chapter--continuation {
  padding-block-start: var(--space-4);
}

.privacy-policy-chapter__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.privacy-policy-chapter__reading {
  width: 100%;
  min-width: 0;
  border-top: var(--border-strong-width) solid var(--color-eucalyptus);
  padding-top: var(--space-6);
}

.privacy-policy-chapter--continuation .privacy-policy-chapter__reading {
  border-top-color: var(--color-line-sand);
}

.privacy-policy-chapter__reading > :last-child {
  margin-block-end: 0;
}

.privacy-policy-chapter__marker {
  margin-block-end: var(--space-2);
}

.privacy-policy-chapter__marker span {
  color: var(--color-muted-cobalt);
  font-size: var(--text-12);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
}

.privacy-policy-chapter__lead {
  color: var(--color-terrazzo-ink);
  font-size: var(--text-18);
  line-height: 1.55;
}

.privacy-policy-chapter__reading h2 {
  scroll-margin-top: 7rem;
}

.privacy-policy-chapter__reading h3 {
  margin-block-start: var(--space-8);
  font-family: var(--font-serif);
  font-size: var(--text-24);
  line-height: 1.17;
}

.privacy-policy-chapter__reading h2 + h3 {
  margin-block-start: 0;
}

.privacy-policy-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  margin-block: 0 var(--space-6);
  padding-inline-start: 1.25rem;
}

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

.privacy-policy-list--compact {
  gap: var(--space-2);
}

.privacy-policy-subsection {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  margin-block-start: var(--space-8);
  padding-block-start: var(--space-6);
  border-top: var(--border-width) solid var(--color-line-sand);
}

.privacy-policy-subsection > * {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.privacy-policy-subsection h3 {
  margin: 0;
}

.privacy-policy-purpose-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin-block: 0 var(--space-6);
  padding: 0;
  list-style: none;
  counter-reset: privacy-purpose;
}

.privacy-policy-purpose-list li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  min-width: 0;
  counter-increment: privacy-purpose;
}

.privacy-policy-purpose-list li::before {
  content: counter(privacy-purpose, decimal-leading-zero);
  color: var(--color-muted-cobalt);
  font-size: var(--text-12);
  font-weight: var(--weight-bold);
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.privacy-policy-definitions {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-block: 0 var(--space-6);
  border-top: var(--border-width) solid var(--color-line-sand);
  border-bottom: var(--border-width) solid var(--color-line-sand);
  background: var(--color-sandstone);
}

.privacy-policy-definitions > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-2);
  padding: var(--space-4);
}

.privacy-policy-definitions > div + div {
  border-top: var(--border-width) solid var(--color-line-sand);
}

.privacy-policy-definitions dt {
  color: var(--color-eucalyptus);
  font-size: var(--text-12);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.privacy-policy-definitions dd {
  min-width: 0;
}

.privacy-policy-final-note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  margin-block-start: var(--space-8);
  padding-block-start: var(--space-6);
  border-top: var(--border-strong-width) solid var(--color-eucalyptus);
}

.privacy-policy-final-note > * {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.privacy-policy-final-note h3 {
  margin: 0;
}

.privacy-policy-chapter:target .privacy-policy-chapter__reading,
.privacy-policy-subsection:target,
.privacy-policy-final-note:target {
  border-color: var(--color-eucalyptus);
}

@media (min-width: 45rem) {
  .privacy-policy-hero {
    padding-block: var(--space-14);
  }

  .privacy-policy-hero__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .privacy-policy-hero__content {
    grid-column: 1 / span 8;
  }

  .privacy-policy-hero__number {
    top: -0.28em;
    right: 0;
    font-size: 14rem;
    opacity: 0.08;
  }

  .privacy-policy-contents-section {
    padding-block: var(--space-14) var(--space-10);
  }

  .privacy-policy-contents-section__container,
  .privacy-policy-chapter__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .privacy-policy-contents {
    grid-column: 2 / span 6;
  }

  .privacy-policy-chapter__reading {
    grid-column: 2 / span 6;
  }

  .privacy-policy-chapter {
    padding-block: var(--space-10);
  }

  .privacy-policy-chapter--continuation {
    padding-block-start: var(--space-6);
  }
}

@media (min-width: 56.25rem) {
  .privacy-policy-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .privacy-policy-hero__content {
    grid-column: 2 / span 7;
  }

  .privacy-policy-hero__number {
    top: 50%;
    right: 4%;
    font-size: clamp(11rem, 20vw, 16rem);
    transform: translateY(-50%);
    opacity: 0.12;
  }

  .privacy-policy-contents-section__container,
  .privacy-policy-chapter__container {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .privacy-policy-contents {
    grid-column: 2 / span 7;
  }

  .privacy-policy-chapter__reading {
    grid-column: 2 / span 7;
    max-width: 46.25rem;
  }

  .privacy-policy-definitions > div {
    grid-template-columns: minmax(0, 28%) minmax(0, 72%);
    gap: var(--space-4);
  }
}

@media (min-width: 75rem) {
  .privacy-policy-hero {
    padding-block: var(--space-20);
  }

  .privacy-policy-contents-section {
    padding-block: var(--space-20) var(--space-14);
  }

  .privacy-policy-chapter {
    padding-block: var(--space-14);
  }

  .privacy-policy-chapter--continuation {
    padding-block-start: var(--space-8);
  }
}

@media (max-width: 44.9375rem) {
  .privacy-policy-hero h1 {
    font-size: var(--text-32);
    line-height: 1.125;
  }

  .privacy-policy-chapter__reading h2 {
    font-size: clamp(1.75rem, 8vw, var(--text-32));
    line-height: 1.1;
  }
}
