.cookie-policy-page {
  min-width: 0;
  overflow-x: clip;
  background: var(--color-paper);
}

.cookie-policy-page *,
.cookie-policy-page *::before,
.cookie-policy-page *::after {
  overflow-wrap: anywhere;
}

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

.cookie-policy-page__hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(var(--space-8), 9vw, var(--space-10)) var(--space-7);
}

.cookie-policy-page__hero::before,
.cookie-policy-page__hero::after {
  position: absolute;
  z-index: -1;
  width: 15rem;
  height: 15rem;
  border: var(--border-thin);
  border-radius: 50%;
  background: repeating-conic-gradient(from 8deg, var(--color-sun) 0 13deg, transparent 13deg 27deg);
  content: "";
  opacity: 0.62;
  pointer-events: none;
}

.cookie-policy-page__hero::before {
  top: -8rem;
  left: -7rem;
}

.cookie-policy-page__hero::after {
  right: -9rem;
  bottom: -10rem;
  width: 18rem;
  height: 18rem;
}

.cookie-policy-page__hero-copy {
  width: min(100%, 47.5rem);
  min-width: 0;
}

.cookie-policy-page__eyebrow {
  margin-block-end: var(--space-3);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.03em;
}

.cookie-policy-page__hero h1 {
  margin-block-end: var(--space-5);
  font-size: clamp(2.5rem, 6vw, 5.5rem);
}

.cookie-policy-page__lead {
  width: min(100%, 62ch);
  margin-block-end: var(--space-5);
  font-size: var(--text-lead);
  line-height: 1.55;
}

.cookie-policy-page__date {
  width: max-content;
  max-width: 100%;
  min-width: 0;
  flex-shrink: 0;
  padding: 0.52rem 0.9rem;
}

.cookie-policy-page__section {
  padding-block: clamp(var(--space-8), 7vw, var(--space-9));
}

.cookie-policy-page__reading-column {
  min-width: 0;
}

.cookie-policy-page__reading-column--overview {
  width: min(100%, 47.5rem);
}

.cookie-policy-page__reading-column--definition {
  width: min(100%, 68ch);
}

.cookie-policy-page__reading-column--categories {
  width: min(100%, 46rem);
}

.cookie-policy-page__reading-column--settings {
  width: min(100%, 46rem);
}

.cookie-policy-page__reading-column--third-party {
  width: min(100%, 64ch);
}

.cookie-policy-page__reading-column--retention {
  width: min(100%, 66ch);
}

.cookie-policy-page__reading-column--contact {
  width: min(100%, 46rem);
}

.cookie-policy-page__overview-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.cookie-policy-page__overview-panel > * {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__overview-panel h2,
.cookie-policy-page__reading-column > h2 {
  font-size: clamp(1.75rem, 3vw, 2rem);
}

.cookie-policy-page__overview-intro {
  width: min(100%, 66ch);
}

.cookie-policy-page__toc {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
}

.cookie-policy-page__toc > a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  padding: var(--space-2) 0;
  font-weight: 700;
}

.cookie-policy-page__principle {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.cookie-policy-page__principle > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__principle h3 {
  font-size: var(--text-h4);
}

.cookie-policy-page__definition-copy,
.cookie-policy-page__uses,
.cookie-policy-page__similar-tech,
.cookie-policy-page__browser-copy,
.cookie-policy-page__third-party-copy,
.cookie-policy-page__retention-copy {
  min-width: 0;
}

.cookie-policy-page__definition-copy {
  width: min(100%, 68ch);
  margin-block-end: var(--space-5);
  padding-inline-start: var(--space-4);
  border-inline-start: 4px solid var(--color-sun);
}

.cookie-policy-page__uses {
  width: min(100%, 60ch);
  margin-block-end: var(--space-5);
}

.cookie-policy-page__hand-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.cookie-policy-page__hand-list > li {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.cookie-policy-page__hand-list > li > span,
.cookie-policy-page__hand-list > li > p {
  min-width: 0;
}

.cookie-policy-page__hand-list > li > span {
  color: var(--color-orange);
  font-size: 1.2rem;
  line-height: 1.45;
}

.cookie-policy-page__hand-list p {
  margin: 0;
}

.cookie-policy-page__similar-tech {
  width: min(100%, 64ch);
}

.cookie-policy-page__section--categories {
  position: relative;
}

.cookie-policy-page__category-intro {
  width: min(100%, 64ch);
  margin-block-end: var(--space-5);
}

.cookie-policy-page__category-stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.cookie-policy-page__category-stack > * {
  width: 100%;
  min-width: 0;
}

.cookie-policy-page__category-card {
  overflow: hidden;
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.cookie-policy-page__category-card header,
.cookie-policy-page__category-card > div {
  min-width: 0;
}

.cookie-policy-page__category-card header {
  padding: var(--space-4) var(--space-5);
  border-block-end: var(--border-thin);
}

.cookie-policy-page__category-card header h3,
.cookie-policy-page__category-card > div p {
  margin: 0;
}

.cookie-policy-page__category-card header h3 {
  font-size: var(--text-h4);
}

.cookie-policy-page__category-card > div {
  padding: var(--space-5);
}

.cookie-policy-page__category-card > div p {
  width: min(100%, 60ch);
}

.cookie-policy-page__category-card--necessary {
  box-shadow: var(--shadow-orange);
}

.cookie-policy-page__category-card--necessary header {
  background: var(--color-sun);
}

.cookie-policy-page__category-card--functional {
  transform: translateX(1.5rem);
  box-shadow: var(--shadow-sky);
}

.cookie-policy-page__category-card--functional header {
  background: var(--color-peach);
}

.cookie-policy-page__category-card--performance {
  transform: translateX(-0.75rem);
}

.cookie-policy-page__category-card--performance header {
  background: var(--color-sky);
}

.cookie-policy-page__section--settings {
  background: linear-gradient(180deg, transparent 0 3rem, var(--color-sky) 3rem calc(100% - 3rem), transparent calc(100% - 3rem));
}

.cookie-policy-page__settings-action {
  display: flex;
  min-width: 0;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-5);
  margin-block-end: var(--space-6);
}

.cookie-policy-page__settings-action > div,
.cookie-policy-page__settings-action > button {
  min-width: 0;
}

.cookie-policy-page__settings-action > div {
  flex: 1 1 0;
}

.cookie-policy-page__settings-action h3,
.cookie-policy-page__settings-action p {
  margin-block-end: 0;
}

.cookie-policy-page__settings-button {
  width: max-content;
  max-width: 100%;
  flex: 0 0 auto;
}

.cookie-policy-page__browser-copy {
  width: min(100%, 66ch);
  margin-block-end: var(--space-5);
}

.cookie-policy-page__consequence {
  width: 100%;
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  border-inline-start: 5px solid var(--color-orange);
  background: var(--color-paper);
}

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

.cookie-policy-page__consequence h3 {
  margin-block-end: var(--space-2);
  font-size: var(--text-h4);
}

.cookie-policy-page__third-party-copy {
  width: min(100%, 64ch);
  margin-block-end: var(--space-5);
  padding-inline-start: var(--space-4);
  border-inline-start: 5px solid var(--color-orange);
}

.cookie-policy-page__third-party-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-policy-page__third-party-note > * {
  width: min(100%, 62ch);
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__third-party-note h3 {
  font-size: var(--text-h4);
}

.cookie-policy-page__retention-copy {
  width: min(100%, 66ch);
  margin-block-end: var(--space-6);
}

.cookie-policy-page__update-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-policy-page__update-panel > * {
  width: min(100%, 66ch);
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__update-panel h3 {
  font-size: var(--text-h4);
}

.cookie-policy-page__section--contact {
  padding-block-end: clamp(var(--space-8), 8vw, var(--space-10));
}

.cookie-policy-page__contact-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: clamp(var(--space-4), 3vw, var(--space-6));
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-sun);
  box-shadow: var(--shadow-orange);
}

.cookie-policy-page__contact-panel > * {
  width: min(100%, 56ch);
  min-width: 0;
  margin: 0;
}

.cookie-policy-page__contact-panel h3 {
  font-size: var(--text-h4);
}

.cookie-policy-page__email {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  align-items: center;
  padding: var(--space-2) 0;
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 3vw, 1.5rem);
  font-weight: 700;
}

.cookie-policy-page__privacy-link {
  width: min(100%, 62ch);
  margin-block: var(--space-5) 0;
}

@media (max-width: 43.75rem) {
  .cookie-policy-page__toc {
    grid-template-columns: minmax(0, 1fr);
  }

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

@media (max-width: 38.75rem) {
  .cookie-policy-page__settings-action {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-policy-page__settings-action > div,
  .cookie-policy-page__settings-action > button {
    width: 100%;
  }

  .cookie-policy-page__settings-button {
    min-height: 2.75rem;
  }
}

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

  .cookie-policy-page__hero::before {
    width: 9rem;
    height: 9rem;
    top: -5rem;
    left: -4rem;
  }

  .cookie-policy-page__hero::after {
    display: none;
  }

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

  .cookie-policy-page__category-stack {
    gap: var(--space-4);
  }

  .cookie-policy-page__category-card--functional,
  .cookie-policy-page__category-card--performance {
    transform: none;
  }

  .cookie-policy-page__category-card--necessary,
  .cookie-policy-page__category-card--functional {
    box-shadow: none;
  }

  .cookie-policy-page__section--settings {
    background: var(--color-sky);
  }

  .cookie-policy-page__contact-panel {
    box-shadow: none;
  }
}

@media (max-width: 30rem) {
  .cookie-policy-page__hero h1 {
    font-size: clamp(2.35rem, 12vw, 3.4rem);
  }

  .cookie-policy-page__category-card header,
  .cookie-policy-page__category-card > div,
  .cookie-policy-page__consequence {
    padding-inline: var(--space-4);
  }
}

@media print {
  .cookie-policy-page {
    background: #fff;
  }

  .cookie-policy-page__hero::before,
  .cookie-policy-page__hero::after {
    display: none;
  }

  .cookie-policy-page__section--settings {
    background: transparent;
  }

  .cookie-policy-page .panel,
  .cookie-policy-page__category-card,
  .cookie-policy-page__contact-panel {
    box-shadow: none;
  }

  .cookie-policy-page__settings-button {
    display: none;
  }

  .cookie-policy-page a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
  }
}
