.privacy-page {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background:
    radial-gradient(circle at 84% 12%, rgba(103, 214, 209, 0.08), transparent 24rem),
    radial-gradient(circle at 42% 10%, rgba(242, 138, 69, 0.08), transparent 30rem),
    var(--color-arctic-navy);
}

.privacy-page::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.055;
  background-image: radial-gradient(rgba(241, 246, 248, 0.8) 0.55px, transparent 0.7px);
  background-size: 9px 9px;
}

.privacy-page__intro {
  padding-bottom: var(--space-8);
}

.privacy-page__intro-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(0, 3fr);
  min-width: 0;
}

.privacy-document-header {
  grid-column: 1;
  width: min(100%, 57.5rem);
  min-width: 0;
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  border-radius: var(--radius-lg);
  background: rgba(16, 43, 64, 0.9);
}

.privacy-document-header__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.privacy-document-header__content > :where(h1, p, div) {
  margin: 0;
}

.privacy-document-header h1 {
  max-width: 12ch;
  font-size: clamp(3rem, 6vw, 4.5rem);
  line-height: 0.98;
}

.privacy-document-header__date,
.privacy-final-panel__date {
  padding-left: var(--space-3);
  border-left: 2px solid var(--color-ice-turquoise);
  color: var(--color-polar-blue);
  font-size: var(--text-14);
  font-weight: 600;
  line-height: 1.43;
}

.privacy-document-header__lead {
  width: min(100%, 37rem);
}

.privacy-independence-note {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-2);
  padding: var(--space-5);
  border-left: 3px solid var(--color-fire-orange);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: rgba(8, 24, 39, 0.58);
}

.privacy-independence-note p {
  max-width: 74ch;
}

.privacy-page__map-lines {
  position: absolute;
  top: 9%;
  right: 2%;
  width: 21%;
  height: 82%;
  min-width: 0;
  opacity: 0.35;
  background:
    linear-gradient(125deg, transparent 0 24%, rgba(103, 214, 209, 0.38) 24.3% 24.7%, transparent 25% 49%, rgba(185, 230, 242, 0.26) 49.3% 49.7%, transparent 50%),
    repeating-radial-gradient(ellipse at 64% 47%, transparent 0 18px, rgba(185, 230, 242, 0.22) 19px 20px, transparent 21px 36px);
  clip-path: polygon(12% 0, 100% 10%, 84% 46%, 100% 80%, 24% 100%, 0 60%);
}

.privacy-page__body {
  display: grid;
  grid-template-columns: minmax(0, 2.25fr) minmax(0, 9.75fr);
  align-items: start;
  gap: var(--space-8);
  padding-bottom: var(--space-11);
}

.privacy-local-index {
  position: sticky;
  top: calc(var(--space-8) + var(--space-4));
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border-left: 1px solid var(--color-ice-line);
}

.privacy-local-index__label,
.privacy-kicker {
  margin: 0;
  color: var(--color-ice-turquoise);
  font-size: var(--text-12);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.33;
  text-transform: uppercase;
}

.privacy-local-index ol {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: 0;
  padding-left: 1.15em;
}

.privacy-local-index li,
.privacy-local-index a {
  min-width: 0;
}

.privacy-local-index a {
  color: var(--text-secondary);
  font-size: var(--text-14);
  line-height: 1.43;
}

.privacy-page__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: clamp(4rem, 8vw, 6rem);
}

.privacy-section {
  min-width: 0;
  scroll-margin-top: var(--space-9);
}

.privacy-section__heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}

.privacy-section__heading > :where(h2, p) {
  margin: 0;
}

.privacy-section__heading h2 {
  font-size: clamp(2rem, 4vw, 2.75rem);
}

.privacy-section__heading--contact,
.privacy-section__heading--cards {
  width: min(100%, 45rem);
}

.privacy-section__heading--data,
.privacy-section__heading--retention,
.privacy-section__heading--changes {
  width: min(100%, 47.5rem);
}

.privacy-section__heading--purposes {
  width: min(100%, 52rem);
}

.privacy-section__heading--rights {
  width: min(100%, 48rem);
}

.privacy-section__heading--voluntary {
  width: min(100%, 52rem);
}

.privacy-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  gap: min(8.33%, var(--space-8));
  width: 100%;
  min-width: 0;
}

.privacy-contact-grid > * {
  min-width: 0;
}

.privacy-admin-copy,
.privacy-contact-card,
.privacy-info-card,
.privacy-right-card,
.privacy-voluntary-card,
.privacy-consent-block,
.privacy-request-card,
.privacy-final-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.privacy-admin-copy > :where(h3, p),
.privacy-contact-card > :where(h3, p, dl),
.privacy-info-card > :where(h3, p, ul, a),
.privacy-right-card > :where(h3, p),
.privacy-voluntary-card > :where(h3, p),
.privacy-consent-block > :where(h3, p),
.privacy-request-card > :where(h3, p),
.privacy-final-panel > :where(h3, p) {
  margin: 0;
}

.privacy-admin-copy h3,
.privacy-contact-card h3 {
  font-family: var(--font-body);
  font-size: var(--text-18);
  font-weight: 600;
  letter-spacing: 0;
}

.privacy-admin-copy p {
  width: min(100%, 42rem);
}

.privacy-contact-card {
  padding: var(--space-6);
  background: rgba(16, 43, 64, 0.92);
}

.privacy-contact-card > p:last-child {
  width: min(100%, 48rem);
  color: var(--text-secondary);
  font-size: var(--text-14);
  line-height: 1.43;
}

.privacy-contact-list {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
}

.privacy-contact-list > div {
  display: grid;
  grid-template-columns: minmax(5.25rem, 0.32fr) minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(185, 230, 242, 0.15);
}

.privacy-contact-list > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.privacy-contact-list dt,
.privacy-contact-list dd {
  min-width: 0;
  margin: 0;
}

.privacy-contact-list dd {
  overflow-wrap: anywhere;
}

.privacy-scope-note {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-ice-navy-solid);
}

.privacy-scope-note p {
  width: min(100%, 68ch);
  margin: 0;
}

.privacy-data-list {
  display: flex;
  width: min(100%, 47.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.privacy-data-item {
  display: grid;
  grid-template-columns: minmax(3.5rem, 1fr) minmax(0, 9fr);
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-6);
}

.privacy-data-item > * {
  min-width: 0;
}

.privacy-data-item__number {
  color: var(--color-ice-turquoise);
  font-family: var(--font-heading);
  font-size: var(--text-32);
  font-weight: 700;
  line-height: 1;
}

.privacy-data-item__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-data-item__copy > :where(h3, p) {
  margin: 0;
}

.privacy-data-item__copy p {
  width: min(100%, 64ch);
}

.privacy-purpose-matrix {
  display: flex;
  width: min(100%, 62rem);
  min-width: 0;
  flex-direction: column;
  padding: 0 var(--space-6);
}

.privacy-purpose-row {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr);
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-6) 0;
  border-bottom: var(--border-default);
}

.privacy-purpose-row:last-child {
  border-bottom: 0;
}

.privacy-purpose-row > * {
  min-width: 0;
  margin: 0;
}

.privacy-purpose-row h3 {
  font-size: var(--text-24);
}

.privacy-purpose-row > p {
  max-width: 56ch;
}

.privacy-purpose-row__basis {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.privacy-purpose-row__basis span {
  color: var(--color-ice-turquoise);
  font-size: var(--text-12);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.33;
  text-transform: uppercase;
}

.privacy-purpose-row__basis p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-14);
  line-height: 1.43;
}

.privacy-info-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: var(--space-5);
}

.privacy-info-cards > * {
  min-width: 0;
}

.privacy-info-card {
  min-height: 100%;
  padding: var(--space-6);
}

.privacy-info-card h3 {
  font-size: var(--text-24);
  line-height: 1.08;
}

.privacy-info-card p,
.privacy-info-card ul {
  max-width: 58ch;
}

.privacy-info-card ul {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
}

.privacy-info-card a {
  margin-top: auto;
  font-weight: 600;
}

.privacy-info-card--muted {
  background: rgba(16, 43, 64, 0.82);
}

.privacy-retention-list {
  display: flex;
  width: min(100%, 52rem);
  min-width: 0;
  flex-direction: column;
}

.privacy-retention-item {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
  min-width: 0;
  gap: var(--space-6);
  padding: var(--space-5) 0;
  border-bottom: var(--border-default);
}

.privacy-retention-item > * {
  min-width: 0;
  margin: 0;
}

.privacy-retention-item h3 {
  font-size: var(--text-24);
}

.privacy-retention-item p {
  max-width: 66ch;
}

.privacy-rights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: var(--space-5);
}

.privacy-rights-grid > * {
  min-width: 0;
}

.privacy-right-card {
  min-height: 14rem;
  padding: var(--space-5);
}

.privacy-right-card h3 {
  font-size: var(--text-24);
}

.privacy-right-card p {
  max-width: 50ch;
}

.privacy-consent-block,
.privacy-request-card {
  width: min(100%, 52rem);
  margin-top: var(--space-6);
  padding: var(--space-6);
}

.privacy-consent-block p,
.privacy-request-card p {
  max-width: 64ch;
}

.privacy-request-card {
  border-color: rgba(242, 138, 69, 0.42);
  background: linear-gradient(120deg, rgba(16, 43, 64, 0.94), rgba(16, 43, 64, 0.82));
}

.privacy-voluntary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: var(--space-5);
}

.privacy-voluntary-grid > * {
  min-width: 0;
}

.privacy-voluntary-card {
  min-height: 100%;
  padding: var(--space-6);
}

.privacy-voluntary-card h3 {
  font-size: var(--text-24);
}

.privacy-voluntary-card p {
  max-width: 56ch;
}

.privacy-changes-copy {
  width: min(100%, 48.75rem);
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.privacy-changes-copy p {
  max-width: 68ch;
  margin: 0;
}

.privacy-final-panel {
  width: min(100%, 48.75rem);
  margin-top: var(--space-6);
  padding: var(--space-6);
  border-color: rgba(242, 138, 69, 0.35);
  background:
    radial-gradient(circle at 92% 88%, rgba(242, 138, 69, 0.18), transparent 15rem),
    rgba(16, 43, 64, 0.92);
}

.privacy-final-panel h3 {
  font-size: var(--text-24);
}

.privacy-final-panel p:not(.privacy-final-panel__date) {
  max-width: 68ch;
}

@media (max-width: 66.24rem) {
  .privacy-info-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .privacy-info-cards > :nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 63.99rem) {
  .privacy-page__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-local-index {
    display: none;
  }

  .privacy-rights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 59.99rem) {
  .privacy-purpose-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .privacy-purpose-row > p {
    max-width: 64ch;
  }

  .privacy-purpose-row__basis {
    padding-top: var(--space-3);
    border-top: 1px solid rgba(185, 230, 242, 0.14);
  }
}

@media (max-width: 56.19rem) {
  .privacy-page__intro-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-document-header {
    grid-column: 1;
    width: 100%;
  }

  .privacy-page__map-lines {
    display: none;
  }
}

@media (max-width: 51.19rem) {
  .privacy-contact-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }
}

@media (max-width: 47.99rem) {
  .privacy-page__intro {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }

  .privacy-document-header {
    padding: var(--space-5);
  }

  .privacy-document-header h1 {
    font-size: clamp(2.5rem, 12vw, 2.9rem);
  }

  .privacy-independence-note {
    padding: var(--space-4);
  }

  .privacy-page__body {
    gap: 0;
    padding-bottom: var(--space-9);
  }

  .privacy-page__content {
    gap: clamp(4rem, 16vw, 5rem);
  }

  .privacy-section__heading {
    margin-bottom: var(--space-6);
  }

  .privacy-contact-card,
  .privacy-data-item,
  .privacy-info-card,
  .privacy-right-card,
  .privacy-consent-block,
  .privacy-request-card,
  .privacy-voluntary-card,
  .privacy-final-panel {
    padding: var(--space-5);
  }

  .privacy-data-item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .privacy-purpose-matrix {
    padding: 0 var(--space-5);
  }

  .privacy-info-cards,
  .privacy-rights-grid,
  .privacy-voluntary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-info-cards > :nth-child(3) {
    grid-column: auto;
  }

  .privacy-info-card,
  .privacy-right-card,
  .privacy-voluntary-card {
    min-height: 0;
  }

  .privacy-retention-item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-5) 0;
  }

  .privacy-consent-block,
  .privacy-request-card,
  .privacy-final-panel {
    width: 100%;
  }

  .privacy-contact-list > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .privacy-contact-list a {
    display: inline-block;
    min-height: 2.75rem;
    padding-top: var(--space-2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-page::before {
    background-position: 0 0;
  }
}
