.cookie-policy-page {
  padding-bottom: var(--space-20);
}

.cookie-policy-page__shell {
  display: grid;
  grid-template-columns: minmax(0, 42rem) minmax(0, 1fr);
  column-gap: var(--grid-gap);
}

.cookie-policy-page__title-block,
.cookie-policy-page__understanding-copy,
.cookie-policy-page__category-heading,
.cookie-policy-page__choices-copy,
.cookie-policy-page__updates-copy,
.cookie-policy-page__reading-copy {
  grid-column: 1;
  min-width: 0;
}

.cookie-policy-page__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 42rem;
}

.cookie-policy-page__title-block h1,
.cookie-policy-page__title-block p,
.cookie-policy-page__understanding-copy h2,
.cookie-policy-page__understanding-copy h3,
.cookie-policy-page__understanding-copy p,
.cookie-policy-page__category-heading h2,
.cookie-policy-page__category-heading p,
.cookie-policy-page__choices-copy h2,
.cookie-policy-page__choices-copy p,
.cookie-policy-page__updates-copy h2,
.cookie-policy-page__updates-copy p,
.cookie-policy-page__reading-copy h2 {
  margin: 0;
}

.cookie-policy-page__title-block h1 {
  margin-top: var(--space-2);
}

.cookie-policy-page__title-block .intro {
  margin-top: var(--space-2);
}

.cookie-policy-page__metadata {
  margin-top: var(--space-2) !important;
}

.cookie-policy-page__intro-note {
  color: var(--color-muted-slate);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.cookie-policy-page__understanding-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 42rem;
}

.cookie-policy-page__understanding-copy h2,
.cookie-policy-page__category-heading h2,
.cookie-policy-page__choices-copy h2,
.cookie-policy-page__updates-copy h2,
.cookie-policy-page__reading-copy h2 {
  margin-top: var(--space-2);
}

.cookie-policy-page__understanding-copy p,
.cookie-policy-page__category-heading p,
.cookie-policy-page__choices-copy p,
.cookie-policy-page__updates-copy p {
  color: var(--color-muted-slate);
}

.cookie-policy-page__understanding-copy h3 {
  margin-bottom: calc(var(--space-2) * -1);
}

.cookie-policy-page__divider {
  width: 100%;
  margin: 0;
}

.cookie-policy-page__category-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 42rem;
  margin-bottom: var(--space-5);
}

.cookie-policy-page__ledger {
  display: flex;
  grid-column: 1;
  width: 100%;
  max-width: 46rem;
  min-width: 0;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}

.cookie-policy-page__category-row {
  display: grid;
  grid-template-columns: minmax(5rem, 5rem) minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-4);
  padding: var(--panel-padding);
  border-bottom: var(--border-subtle);
}

.cookie-policy-page__category-row:last-child {
  border-bottom: 0;
}

.cookie-policy-page__category-row--third-party {
  border-inline-start: 3px solid var(--color-brass-gold);
  padding-inline-start: calc(var(--panel-padding) - 3px);
}

.cookie-policy-page__category-rail,
.cookie-policy-page__category-copy {
  min-width: 0;
}

.cookie-policy-page__category-rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.cookie-policy-page__category-number {
  color: var(--color-brass-gold);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.cookie-policy-page__category-label {
  margin: 0;
  color: var(--color-muted-slate);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.cookie-policy-page__category-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-policy-page__category-copy h3,
.cookie-policy-page__category-copy p {
  margin: 0;
}

.cookie-policy-page__category-copy p {
  color: var(--color-muted-slate);
}

.cookie-policy-page__category-copy strong {
  color: var(--color-white);
}

.cookie-policy-page__choices-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 42rem;
}

.cookie-policy-page__advisory,
.cookie-policy-page__questions {
  grid-column: 1;
  width: 100%;
  max-width: 42rem;
  min-width: 0;
}

.cookie-policy-page__advisory {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  border-inline-start: 3px solid var(--color-felt-green);
}

.cookie-policy-page__advisory h3,
.cookie-policy-page__advisory p,
.cookie-policy-page__questions h3,
.cookie-policy-page__questions p {
  margin: 0;
}

.cookie-policy-page__advisory p:last-child,
.cookie-policy-page__questions p:last-child {
  color: var(--color-muted-slate);
}

.cookie-policy-page__updates-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 42rem;
}

.cookie-policy-page__update-date {
  margin-top: var(--space-2) !important;
}

.cookie-policy-page__questions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.cookie-policy-page__provenance {
  grid-column: 1;
  max-width: 42rem;
  margin: var(--space-3) 0 0;
  color: var(--color-muted-slate);
  font-size: var(--text-xs);
  line-height: 1.5;
}

.cookie-policy-page__reading-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 42rem;
}

.cookie-policy-page__checklist {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  margin-top: var(--space-2);
  border-top: var(--border-subtle);
}

.cookie-policy-page__checklist-row {
  display: grid;
  grid-template-columns: minmax(2.5rem, 2.5rem) minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-4) 0;
  border-bottom: var(--border-subtle);
}

.cookie-policy-page__checkmark {
  color: var(--color-brass-gold);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}

.cookie-policy-page__checklist-row p {
  min-width: 0;
  margin: 0;
  color: var(--color-muted-slate);
}

.cookie-policy-page__checklist-row strong {
  color: var(--color-white);
}

.cookie-policy-page a:not(.button) {
  color: var(--color-white);
  text-decoration: underline;
  text-decoration-color: var(--color-brass-gold);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.cookie-policy-page a:not(.button):hover {
  color: var(--color-brass-gold);
}

@media (max-width: 74.9375rem) {
  .cookie-policy-page__shell {
    grid-template-columns: minmax(0, 42rem) minmax(0, 1fr);
    column-gap: var(--grid-gap);
  }

  .cookie-policy-page__category-row {
    grid-template-columns: minmax(4rem, 4rem) minmax(0, 1fr);
    gap: var(--space-3);
  }
}

@media (max-width: 47.9375rem) {
  .cookie-policy-page {
    padding-bottom: var(--space-14);
  }

  .cookie-policy-page__shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  .cookie-policy-page__title-block,
  .cookie-policy-page__understanding-copy,
  .cookie-policy-page__category-heading,
  .cookie-policy-page__ledger,
  .cookie-policy-page__choices-copy,
  .cookie-policy-page__advisory,
  .cookie-policy-page__updates-copy,
  .cookie-policy-page__questions,
  .cookie-policy-page__provenance,
  .cookie-policy-page__reading-copy {
    grid-column: 1;
    max-width: none;
  }

  .cookie-policy-page__title-block {
    gap: var(--space-2);
  }

  .cookie-policy-page__understanding-copy {
    gap: var(--space-4);
  }

  .cookie-policy-page__category-heading {
    gap: var(--space-3);
    margin-bottom: var(--space-4);
  }

  .cookie-policy-page__category-row {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--panel-padding);
  }

  .cookie-policy-page__category-rail {
    display: grid;
    grid-template-columns: minmax(2.5rem, 2.5rem) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-2);
  }

  .cookie-policy-page__category-label {
    min-width: 0;
  }

  .cookie-policy-page__category-row--third-party {
    padding-inline-start: calc(var(--panel-padding) - 3px);
  }

  .cookie-policy-page__advisory,
  .cookie-policy-page__questions {
    margin-top: var(--space-5);
  }

  .cookie-policy-page__checklist-row {
    grid-template-columns: minmax(2.25rem, 2.25rem) minmax(0, 1fr);
    gap: var(--space-2);
    padding: var(--space-3) 0;
  }
}
