.cookie-policy-page {
  background: var(--color-slate-noir);
}

.cookie-policy-page__hero {
  padding-block: var(--space-9);
  border-bottom: 1px solid var(--color-border-muted);
}

.cookie-policy-page__hero-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.cookie-policy-page__hero-copy {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 38.75rem;
}

.cookie-policy-page__hero-copy h1 {
  max-width: 11ch;
}

.cookie-policy-page__hero-copy .lead {
  max-width: 62ch;
}

.cookie-policy-page__preferences-button {
  min-width: 0;
  min-height: 2.75rem;
}

.cookie-policy-page__reading-guide {
  display: flex;
  max-width: 35rem;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding: var(--space-4);
  border-top: 1px solid var(--color-ormolu-gold);
  background: var(--color-midnight-charcoal);
}

.cookie-policy-page__reading-guide > span {
  min-width: 0;
  color: var(--color-champagne-ivory);
  font-size: var(--text-nav);
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cookie-policy-page__reading-guide > p {
  flex: 1 1 100%;
  min-width: 0;
  margin: var(--space-2) 0 0;
  font-size: var(--text-caption);
}

.cookie-policy-page__document {
  padding-top: var(--space-9);
}

.cookie-policy-page__document-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: start;
}

.cookie-policy-page__toc {
  grid-column: 1 / span 3;
  min-width: 0;
  position: sticky;
  top: 8rem;
  padding-right: var(--space-5);
}

.cookie-policy-page__toc-label {
  margin-bottom: var(--space-3);
  color: var(--color-ormolu-gold);
  font-size: var(--text-nav);
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cookie-policy-page__toc-nav {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  border-left: 1px solid var(--color-border-muted);
}

.cookie-policy-page__toc-nav > a {
  display: block;
  min-width: 0;
  padding: var(--space-2) 0 var(--space-2) var(--space-3);
  border-left: 2px solid transparent;
  color: var(--color-linen-taupe);
  font-size: var(--text-caption);
  line-height: 1.45;
  text-decoration: none;
}

.cookie-policy-page__toc-nav > a:hover,
.cookie-policy-page__toc-nav > a:focus-visible,
.cookie-policy-page__toc-nav > a.is-active {
  border-left-color: var(--color-ormolu-gold);
  color: var(--color-champagne-ivory);
  text-decoration: underline;
  text-decoration-color: var(--color-ormolu-gold);
}

.cookie-policy-page__content {
  grid-column: 5 / span 8;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-9);
}

.cookie-policy-page__chapter,
.cookie-policy-page__closing {
  min-width: 0;
  scroll-margin-top: 9rem;
}

.cookie-policy-page__chapter--definition {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
}

.cookie-policy-page__term {
  min-width: 0;
  padding-top: var(--space-7);
  color: var(--color-ormolu-gold);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.cookie-policy-page__chapter-copy {
  min-width: 0;
  max-width: 42.5rem;
}

.cookie-policy-page__notice,
.cookie-policy-page__booking-context,
.cookie-policy-page__memory-card {
  min-width: 0;
}

.cookie-policy-page__notice {
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  background: var(--color-velvet-cabernet);
}

.cookie-policy-page__notice > :last-child,
.cookie-policy-page__booking-context > :last-child,
.cookie-policy-page__memory-card > :last-child,
.cookie-policy-page__category-card > :last-child,
.cookie-policy-page__right-card > :last-child,
.cookie-policy-page__closing > :last-child {
  margin-bottom: 0;
}

.cookie-policy-page__chapter-intro,
.cookie-policy-page__consent-copy,
.cookie-policy-page__rights-intro,
.cookie-policy-page__intervenants-copy {
  min-width: 0;
  max-width: 42.5rem;
}

.cookie-policy-page__chapter-intro {
  max-width: 37.5rem;
}

.cookie-policy-page__category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.cookie-policy-page__category-card,
.cookie-policy-page__right-card {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  border-radius: var(--radius-card);
  background: var(--color-midnight-charcoal);
}

.cookie-policy-page__category-number {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-ormolu-gold);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.cookie-policy-page__category-tag,
.cookie-policy-page__context-label {
  margin-bottom: var(--space-3);
  color: var(--color-ormolu-gold);
  font-size: var(--text-legal);
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cookie-policy-page__category-card h3,
.cookie-policy-page__right-card h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-page__category-card p {
  max-width: 56ch;
}

.cookie-policy-page__preference-panel {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(11.25rem, 2fr);
  gap: var(--space-5);
  align-items: center;
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  background: var(--color-midnight-charcoal);
}

.cookie-policy-page__steps,
.cookie-policy-page__panel-action {
  min-width: 0;
}

.cookie-policy-page__steps h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-page__steps ol {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding-left: 1.4rem;
}

.cookie-policy-page__steps li {
  min-width: 0;
  color: var(--color-linen-taupe);
}

.cookie-policy-page__panel-action {
  display: flex;
  justify-content: flex-end;
}

.cookie-policy-page__booking-context {
  max-width: 42.5rem;
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  background: var(--color-velvet-cabernet);
}

.cookie-policy-page__retention-grid {
  display: grid;
  grid-template-columns: minmax(0, 60fr) minmax(17.5rem, 35fr);
  gap: 5%;
  align-items: start;
}

.cookie-policy-page__retention-copy,
.cookie-policy-page__memory-card {
  min-width: 0;
}

.cookie-policy-page__retention-copy {
  max-width: 38.75rem;
}

.cookie-policy-page__memory-card {
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  border-radius: var(--radius-card);
  background: var(--color-midnight-charcoal);
}

.cookie-policy-page__memory-card h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-page__impact-list,
.cookie-policy-page__criteria-list {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-left: 1.5rem;
}

.cookie-policy-page__impact-list li,
.cookie-policy-page__criteria-list li {
  min-width: 0;
  padding-left: var(--space-1);
  color: var(--color-linen-taupe);
}

.cookie-policy-page__rights-intro {
  max-width: 40.625rem;
}

.cookie-policy-page__rights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.cookie-policy-page__right-card h3 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}

.cookie-policy-page__notice--rights {
  max-width: 40.625rem;
}

.cookie-policy-page__criteria-list {
  max-width: 42.5rem;
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-ormolu-gold);
}

.cookie-policy-page__legal-links {
  max-width: 42.5rem;
}

.cookie-policy-page__legal-links a {
  display: inline;
}

.cookie-policy-page__closing {
  display: flex;
  max-width: 45rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-gold-muted);
  background: var(--color-velvet-cabernet);
}

.cookie-policy-page__closing .eyebrow,
.cookie-policy-page__closing h2,
.cookie-policy-page__closing p {
  margin: 0;
}

.cookie-policy-page__closing h2,
.cookie-policy-page__closing p {
  max-width: 38.75rem;
}

.cookie-policy-page__closing-action {
  min-width: 0;
  margin-top: var(--space-2);
}

.cookie-policy-page__status {
  position: fixed;
  right: var(--space-4);
  bottom: var(--space-4);
  z-index: 50;
  width: min(calc(100% - 2rem), 34rem);
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-ormolu-gold);
  background: var(--color-midnight-charcoal);
  box-shadow: var(--shadow-raised);
  color: var(--color-champagne-ivory);
  font-size: var(--text-caption);
}

@media (max-width: 1020px) {
  .cookie-policy-page__hero-grid,
  .cookie-policy-page__document-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookie-policy-page__hero-copy {
    grid-column: 1 / span 5;
  }

  .cookie-policy-page__toc {
    grid-column: 1 / span 6;
    position: static;
    padding: 0 0 var(--space-5);
    border-bottom: 1px solid var(--color-border-muted);
  }

  .cookie-policy-page__toc-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookie-policy-page__toc-nav > a {
    min-height: 2.75rem;
  }

  .cookie-policy-page__content {
    grid-column: 1 / span 6;
    padding-top: var(--space-7);
  }

  .cookie-policy-page__chapter--definition {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .cookie-policy-page__term {
    padding-top: 0;
  }

  .cookie-policy-page__retention-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .cookie-policy-page__retention-copy {
    max-width: 42.5rem;
  }

  .cookie-policy-page__memory-card {
    max-width: 42.5rem;
  }
}

@media (max-width: 960px) {
  .cookie-policy-page__preference-panel {
    grid-template-columns: 1fr;
  }

  .cookie-policy-page__panel-action {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .cookie-policy-page__category-grid,
  .cookie-policy-page__rights-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .cookie-policy-page__hero {
    padding-block: var(--space-7);
  }

  .cookie-policy-page__hero-grid,
  .cookie-policy-page__document-grid {
    grid-template-columns: 1fr;
  }

  .cookie-policy-page__hero-copy,
  .cookie-policy-page__toc,
  .cookie-policy-page__content {
    grid-column: 1;
  }

  .cookie-policy-page__hero-copy {
    max-width: none;
  }

  .cookie-policy-page__hero-copy h1 {
    max-width: 11ch;
  }

  .cookie-policy-page__hero-copy .lead,
  .cookie-policy-page__chapter-copy,
  .cookie-policy-page__chapter-intro,
  .cookie-policy-page__consent-copy,
  .cookie-policy-page__booking-context,
  .cookie-policy-page__retention-copy,
  .cookie-policy-page__memory-card,
  .cookie-policy-page__rights-intro,
  .cookie-policy-page__notice--rights,
  .cookie-policy-page__intervenants-copy,
  .cookie-policy-page__closing {
    max-width: none;
  }

  .cookie-policy-page__toc-nav {
    grid-template-columns: 1fr;
  }

  .cookie-policy-page__content {
    gap: var(--space-8);
  }

  .cookie-policy-page__chapter,
  .cookie-policy-page__closing {
    scroll-margin-top: 7rem;
  }

  .cookie-policy-page__reading-guide {
    max-width: none;
  }

  .cookie-policy-page__preference-panel,
  .cookie-policy-page__notice,
  .cookie-policy-page__booking-context,
  .cookie-policy-page__memory-card,
  .cookie-policy-page__category-card,
  .cookie-policy-page__right-card,
  .cookie-policy-page__closing {
    padding: var(--space-5);
  }

  .cookie-policy-page__panel-action,
  .cookie-policy-page__panel-action .button,
  .cookie-policy-page__memory-card .button,
  .cookie-policy-page__rights-intro .button,
  .cookie-policy-page__closing-action .button {
    width: 100%;
  }

  .cookie-policy-page__criteria-list {
    padding-left: var(--space-4);
  }
}

@media (max-width: 420px) {
  .cookie-policy-page__reading-guide {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cookie-policy-page__reading-guide > span[aria-hidden="true"] {
    display: none;
  }

  .cookie-policy-page__status {
    right: var(--space-3);
    bottom: var(--space-3);
    width: calc(100% - 1.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-page__toc-nav > a {
    transition: none;
  }
}
