.cookie-policy-page {
  overflow: hidden;
}

.cookie-policy-page [id] {
  scroll-margin-top: 7rem;
}

.cp-masthead {
  border-bottom: 1px solid var(--color-brass-muted);
}

.cp-masthead__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr);
  gap: var(--space-8);
  align-items: end;
}

.cp-masthead__grid > * {
  min-width: 0;
}

.cp-masthead__intro {
  width: min(100%, 42.5rem);
}

.cp-masthead__intro p {
  max-width: 42.5rem;
  font-size: 1.0625rem;
}

.cp-scope {
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: var(--space-5);
}

.cp-scope h2 {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-utility);
  font-weight: 650;
  letter-spacing: 0;
}

.cp-scope p {
  margin: 0;
  font-size: 0.9375rem;
}

.cp-contents {
  border-bottom: 1px solid var(--color-brass-muted);
}

.cp-contents__layout {
  display: grid;
  grid-template-columns: minmax(0, 42.5rem) minmax(1px, 5rem);
  justify-content: space-between;
  gap: var(--space-7);
}

.cp-contents__layout > * {
  min-width: 0;
}

.cp-contents__body {
  width: min(100%, 42.5rem);
}

.cp-contents__body > p {
  max-width: 42.5rem;
}

.cp-anchor-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-brass-muted);
}

.cp-anchor-list > li {
  min-width: 0;
  border-bottom: 1px solid var(--color-brass-muted);
}

.cp-anchor-list a {
  display: block;
  min-width: 0;
  padding: var(--space-3) 0;
  color: var(--color-ivory);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration-color: var(--color-brass);
}

.cp-anchor-list a::before {
  display: inline-block;
  width: 2.25rem;
  color: var(--color-brass);
  content: counter(list-item, decimal-leading-zero);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
}

.cp-reading-marker {
  display: flex;
  justify-content: center;
  min-width: 0;
  padding-top: var(--space-2);
}

.cp-reading-marker span {
  display: block;
  width: 1px;
  height: 8rem;
  background: var(--color-brass);
}

.cp-reading-column,
.cp-categories__intro {
  width: min(100%, 42.5rem);
}

.cp-reading-column > p,
.cp-categories__intro > p {
  max-width: 42.5rem;
}

.cp-chapter + .cp-chapter {
  border-top: 1px solid var(--color-brass-muted);
}

.cp-uses {
  display: grid;
  gap: var(--space-4);
  margin: var(--space-6) 0;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: var(--space-5);
}

.cp-uses h3,
.cp-uses p {
  margin: 0;
}

.cp-uses__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--color-border);
  background: var(--color-border);
}

.cp-uses__grid > div {
  display: grid;
  min-width: 0;
  gap: var(--space-2);
  background: var(--color-surface);
  padding: var(--space-4);
}

.cp-uses__grid strong {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  line-height: 1;
}

.cp-uses__grid p {
  font-size: 0.9375rem;
}

.cp-distinction,
.cp-two-controls,
.cp-related-documents {
  border-top: 1px solid var(--color-brass-muted);
  padding-top: var(--space-4);
}

.cp-distinction p,
.cp-two-controls p,
.cp-related-documents p {
  max-width: 42.5rem;
}

.cp-categories .container {
  display: grid;
  gap: var(--space-6);
}

.cp-category-table {
  display: grid;
  width: min(100%, 67.5rem);
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}

.cp-category-table__head,
.cp-category-row {
  display: grid;
  grid-template-columns: minmax(0, 20fr) minmax(0, 32fr) minmax(0, 25fr) minmax(0, 23fr);
}

.cp-category-table__head > div,
.cp-category-row > div {
  min-width: 0;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-4);
}

.cp-category-table__head > div {
  color: var(--color-ivory);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cp-category-row > div {
  background: var(--color-bg);
}

.cp-category-row__title h3,
.cp-category-row p {
  margin: 0;
}

.cp-category-row p {
  font-size: 0.9375rem;
}

.cp-category-row > div > span {
  display: none;
}

.cp-categories__note {
  width: min(100%, 42.5rem);
  margin: 0;
  font-size: 0.875rem;
}

.cp-consent {
  display: grid;
  gap: var(--space-5);
}

.cp-consent > * {
  min-width: 0;
  margin: 0;
}

.cp-key-sentence {
  color: var(--color-ivory);
  font-weight: 600;
}

.cp-preference-box,
.cp-event-note,
.cp-browser-warning,
.cp-transparency-box {
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
}

.cp-preference-box {
  border-top: 1px solid var(--color-brass);
  background: var(--color-forest);
}

.cp-event-note,
.cp-browser-warning {
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.cp-preference-box h3,
.cp-preference-box p,
.cp-event-note p,
.cp-browser-warning h3,
.cp-browser-warning p,
.cp-transparency-box p {
  margin: 0;
}

.cp-browser-steps {
  display: grid;
  gap: var(--space-5);
  margin: var(--space-6) 0;
  padding: 0;
}

.cp-browser-steps > li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.cp-browser-steps > li > * {
  min-width: 0;
}

.cp-browser-steps b {
  color: var(--color-brass);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 0.95;
}

.cp-browser-steps h3 {
  margin-bottom: var(--space-2);
}

.cp-browser-steps p {
  margin: 0;
}

.cp-browser-warning {
  margin-bottom: var(--space-6);
}

.cp-evolution {
  border-top: 1px solid var(--color-brass-muted);
}

.cp-transparency-box {
  margin: var(--space-6) 0;
  border-top: 1px solid var(--color-brass);
  background: rgba(14, 15, 18, 0.42);
}

.cp-related-documents h3 {
  margin-bottom: var(--space-3);
}

.cp-closing__body {
  display: grid;
  gap: var(--space-4);
}

.cp-closing__body > * {
  min-width: 0;
  margin: 0;
}

.cp-closing__body .rule {
  margin-bottom: var(--space-3);
}

.cp-contact-link {
  display: inline-block;
  color: var(--color-ivory);
  font-weight: 600;
}

.cp-final-note {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
  border-top: 1px solid var(--color-brass-muted);
  padding-top: var(--space-4);
}

.cp-final-note p {
  margin: 0;
  max-width: 42.5rem;
}

@media (max-width: 68.6875rem) {
  .cp-reading-marker {
    display: none;
  }

  .cp-contents__layout {
    grid-template-columns: minmax(0, 42.5rem);
  }
}

@media (max-width: 61.1875rem) {
  .cp-masthead__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
    align-items: start;
  }

  .cp-scope {
    width: min(100%, 31rem);
  }
}

@media (max-width: 56.1875rem) {
  .cp-category-table__head {
    display: none;
  }

  .cp-category-table {
    gap: var(--space-4);
    border: 0;
    background: transparent;
  }

  .cp-category-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--color-border);
  }

  .cp-category-row > div {
    border: 0;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
  }

  .cp-category-row > div:nth-child(even) {
    border-right: 0;
  }

  .cp-category-row > div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .cp-category-row__title {
    grid-column: 1 / -1;
    border-right: 0 !important;
  }

  .cp-category-row > div > span {
    display: block;
    margin-bottom: var(--space-2);
    color: var(--color-brass);
    font-size: var(--text-xs);
    font-weight: 650;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
}

@media (max-width: 52.4375rem) {
  .cp-uses__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cp-browser-steps > li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }
}

@media (max-width: 43.6875rem) {
  .cp-category-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .cp-category-row > div,
  .cp-category-row > div:nth-child(even),
  .cp-category-row > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .cp-category-row > div:last-child {
    border-bottom: 0;
  }

  .cp-category-row__title {
    grid-column: auto;
  }
}

@media (max-width: 47.9375rem) {
  .cp-masthead__intro p {
    font-size: var(--text-base);
  }

  .cp-scope,
  .cp-uses,
  .cp-preference-box,
  .cp-event-note,
  .cp-browser-warning,
  .cp-transparency-box {
    padding: var(--space-5);
  }

  .cp-anchor-list a {
    min-height: 2.75rem;
    padding-block: var(--space-3);
  }
}

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

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }