.privacy-page {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

.privacy-page::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .07;
  background-image: radial-gradient(circle at 20% 18%, var(--color-star-gold) 0 1px, transparent 1.5px), radial-gradient(circle at 76% 8%, var(--color-comet-cyan) 0 1px, transparent 1.5px), linear-gradient(110deg, transparent 24%, rgb(185 196 216 / 60%) 24.1%, transparent 24.3%);
  background-size: 180px 160px, 240px 220px, 420px 300px;
  content: "";
  pointer-events: none;
}

.privacy-hero {
  padding-block: clamp(var(--space-7), 8vw, var(--space-9));
}

.privacy-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 680px) minmax(0, 1fr);
  min-height: 310px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: linear-gradient(115deg, rgb(27 33 69 / 98%), rgb(17 21 47 / 92%));
  box-shadow: var(--shadow-soft);
}

.privacy-hero__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 5vw, var(--space-8));
}

.privacy-hero__content h1,
.privacy-hero__content p {
  margin: 0;
}

.privacy-breadcrumbs {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--line-sm);
}

.privacy-breadcrumbs a,
.privacy-content a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  transition: color var(--transition-fast), background-size var(--transition-fast);
}

.privacy-breadcrumbs a:hover,
.privacy-content a:hover {
  background-size: 100% 1px;
}

.privacy-hero__lead {
  max-width: 62ch;
  color: var(--color-text-muted);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.privacy-hero__ornament {
  position: relative;
  min-width: 0;
}

.privacy-hero__ornament::before,
.privacy-hero__ornament::after {
  position: absolute;
  border: 1px solid rgb(78 217 232 / 38%);
  border-radius: 50%;
  content: "";
}

.privacy-hero__ornament::before { width: 300px; height: 300px; top: 8%; right: -78px; }
.privacy-hero__ornament::after { width: 170px; height: 170px; bottom: -18px; left: 15%; border-color: rgb(216 183 106 / 46%); }
.privacy-hero__ornament span { position: absolute; top: 42%; left: 26%; width: 12px; aspect-ratio: 1; border-radius: 50%; background: var(--color-star-gold); box-shadow: 0 0 20px rgb(216 183 106 / 56%); }
.privacy-hero__ornament i { position: absolute; top: 46%; left: 30%; width: 56%; height: 1px; background: linear-gradient(90deg, var(--color-star-gold), transparent); transform: rotate(-21deg); }
.privacy-hero__ornament b { position: absolute; top: 26%; right: 26%; width: 6px; aspect-ratio: 1; border-radius: 50%; background: var(--color-comet-cyan); box-shadow: var(--shadow-glow-cyan); }

.privacy-document {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  align-items: start;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
  padding-block-end: var(--space-10);
}

.privacy-index {
  position: sticky;
  top: 96px;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: rgb(10 13 28 / 76%);
  backdrop-filter: blur(14px);
}

.privacy-index__title { margin: 0; color: var(--color-ivory-glow); font-family: var(--font-heading); font-size: var(--text-lead); line-height: var(--line-lead); }
.privacy-index__nav { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.privacy-index__nav a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); min-width: 0; gap: var(--space-2); align-items: start; padding: var(--space-2); color: var(--color-text-muted); font-size: var(--text-xs); font-weight: 600; letter-spacing: .04em; line-height: var(--line-xs); text-decoration: none; }
.privacy-index__nav a span { color: var(--color-star-gold); }
.privacy-index__nav a[aria-current="true"] { color: var(--color-comet-cyan); }

.privacy-content { min-width: 0; }
.privacy-section { position: relative; scroll-margin-top: 110px; padding-block: clamp(var(--space-7), 8vw, var(--space-9)); border-block-start: 1px solid var(--color-border); }
.privacy-section:first-child { padding-block-start: 0; border-block-start: 0; }
.privacy-section__header { display: grid; grid-template-columns: 54px minmax(0, 1fr); min-width: 0; gap: var(--space-4); align-items: start; margin-block-end: var(--space-6); }
.privacy-section__header > div { min-width: 0; }
.privacy-section__header h2,
.privacy-section__header p { margin: 0; }
.privacy-section__header .eyebrow { margin-block-end: var(--space-2); }
.privacy-section__number { display: grid; width: 44px; min-width: 0; aspect-ratio: 1; place-items: center; border: 1px solid var(--color-comet-cyan); border-radius: 50%; color: var(--color-comet-cyan); font-size: var(--text-sm); font-weight: 700; box-shadow: var(--shadow-glow-cyan); }
.privacy-section__intro { max-width: 64ch; margin-block-start: var(--space-4) !important; color: var(--color-text-muted); }

.privacy-contact-grid,
.privacy-purpose-grid,
.privacy-retention-grid,
.privacy-final-grid { display: grid; min-width: 0; gap: var(--space-5); }
.privacy-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.privacy-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--surface-glass); box-shadow: var(--shadow-soft); backdrop-filter: blur(14px); }
.privacy-card > * { margin: 0; }
.privacy-card p { max-width: 52ch; }
.privacy-contact-grid > article { min-width: 0; }
.privacy-contact-grid .privacy-card p { max-width: 40ch; }
.privacy-contact-link { display: inline-block; min-height: 44px; overflow-wrap: anywhere; padding-block: var(--space-2); }

.privacy-data-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-width: 0; gap: var(--space-5); }
.privacy-data-grid__message { grid-column: 1; }
.privacy-data-grid__technical { grid-column: 2; }
.privacy-data-grid__cookies { grid-column: 1 / -1; width: min(100%, 760px); }
.privacy-orbit-icon { position: relative; width: 40px; flex: 0 0 40px; aspect-ratio: 1; border: 1px solid var(--color-comet-cyan); border-radius: 50%; }
.privacy-orbit-icon::before { position: absolute; top: 15px; left: 6px; width: 26px; height: 8px; border: 1px solid var(--color-star-gold); border-radius: 50%; content: ""; transform: rotate(-25deg); }
.privacy-orbit-icon::after { position: absolute; top: 8px; right: 5px; width: 5px; aspect-ratio: 1; border-radius: 50%; background: var(--color-star-gold); content: ""; }
.privacy-technical-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin: 0; padding-inline-start: 1.25rem; gap: var(--space-2) var(--space-5); color: var(--color-text-muted); }
.privacy-technical-list li { min-width: 0; }

.privacy-purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.privacy-goal-number { color: var(--color-comet-cyan); font-size: var(--text-xs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.privacy-goal-number--magenta { color: var(--color-nebula-magenta); }
.privacy-purpose-wide { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); min-width: 0; gap: var(--space-6); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgb(10 13 28 / 74%); }
.privacy-purpose-wide > * { min-width: 0; }
.privacy-purpose-wide blockquote,
.privacy-purpose-wide h3,
.privacy-purpose-wide p { margin: 0; }
.privacy-purpose-wide blockquote { padding-block: 0; font-size: clamp(1.5rem, 2.8vw, 2.15rem); }
.privacy-purpose-wide div { display: flex; flex-direction: column; gap: var(--space-4); }
.privacy-purpose-wide p { max-width: 60ch; }

.privacy-retention-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.privacy-timeline,
.privacy-recipient-list,
.privacy-steps { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.privacy-timeline li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-inline-start: var(--space-5); }
.privacy-timeline li::before { position: absolute; top: .4rem; left: 0; width: 10px; aspect-ratio: 1; border: 2px solid var(--color-comet-cyan); border-radius: 50%; background: var(--surface-strong); content: ""; }
.privacy-timeline li::after { position: absolute; top: 1rem; bottom: -1.4rem; left: 4px; width: 1px; background: var(--color-border-strong); content: ""; }
.privacy-timeline li:last-child::after { display: none; }
.privacy-timeline strong { grid-column: 1 / -1; }
.privacy-timeline span { grid-column: 1 / -1; max-width: 30ch; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--line-sm); }
.privacy-recipient-list li { display: flex; min-width: 0; flex-direction: column; gap: var(--space-1); padding-block-end: var(--space-3); border-block-end: 1px solid var(--color-border); }
.privacy-recipient-list span,
.privacy-note { color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--line-sm); }
.privacy-note { max-width: 48ch !important; }

.privacy-cookies-panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: clamp(var(--space-5), 4vw, var(--space-7)); border: 1px solid var(--color-border); border-top-color: var(--color-comet-cyan); border-radius: var(--radius-md); background: linear-gradient(110deg, rgb(27 33 69 / 90%), rgb(10 13 28 / 88%)); }
.privacy-cookies-panel > * { margin: 0; }
.privacy-cookies-panel p { max-width: 62ch; }
.privacy-settings-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-width: 0; gap: var(--space-5); margin-block-start: var(--space-5); }
.privacy-settings-card { width: 100%; }
.privacy-steps { counter-reset: privacy-step; }
.privacy-steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); min-width: 0; gap: var(--space-3); counter-increment: privacy-step; }
.privacy-steps li::before { display: grid; width: 28px; aspect-ratio: 1; place-items: center; border: 1px solid var(--color-comet-cyan); border-radius: 50%; color: var(--color-comet-cyan); content: counter(privacy-step); font-size: var(--text-xs); font-weight: 700; }
.privacy-steps strong,
.privacy-steps span { grid-column: 2; }
.privacy-steps span { color: var(--color-text-muted); }
.privacy-settings-orbit { position: relative; min-width: 0; min-height: 260px; }
.privacy-settings-orbit::before { position: absolute; inset: 14% 8%; border: 1px solid rgb(78 217 232 / 32%); border-radius: 50%; content: ""; transform: rotate(-25deg); }
.privacy-settings-orbit::after { position: absolute; top: 45%; left: 43%; width: 12px; aspect-ratio: 1; border-radius: 50%; background: var(--color-star-gold); box-shadow: 0 0 26px rgb(216 183 106 / 52%); content: ""; }

.privacy-rights-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: var(--space-4) var(--space-5); }
.privacy-rights-list > div { position: relative; min-width: 0; padding: var(--space-4) var(--space-4) var(--space-4) var(--space-5); border-block-end: 1px solid var(--color-border); }
.privacy-rights-list > div::before { position: absolute; top: 1.6rem; left: .1rem; width: 8px; aspect-ratio: 1; border-radius: 50%; background: var(--color-star-gold); content: ""; }
.privacy-rights-list dt { font-family: var(--font-heading); font-size: var(--text-lead); line-height: var(--line-lead); }
.privacy-rights-list dd { margin: var(--space-2) 0 0; color: var(--color-text-muted); }
.privacy-request-panel { display: flex; width: min(100%, 820px); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-block-start: var(--space-6); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--surface-strong); box-shadow: var(--shadow-soft); }
.privacy-request-panel > * { margin: 0; }
.privacy-request-panel p { max-width: 64ch; }

.privacy-final-grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
.privacy-update-block { min-width: 0; padding: var(--space-5) 0; border-top: 1px solid var(--color-border-strong); }
.privacy-update-block h3,
.privacy-update-block p { margin: 0; }
.privacy-update-block p { max-width: 60ch; margin-block-start: var(--space-4); }
.privacy-independence-panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgb(10 13 28 / 82%); }
.privacy-independence-panel > * { margin: 0; }
.privacy-independence-panel blockquote { padding-block: 0; font-size: clamp(1.5rem, 2.8vw, 2.25rem); }
.privacy-independence-panel p { max-width: 60ch; }

@media (max-width: 1099px) {
  .privacy-document { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .privacy-index { position: static; display: block; padding: var(--space-4); overflow-x: auto; }
  .privacy-index__title { margin-block-end: var(--space-3); }
  .privacy-index__nav { display: flex; width: max-content; min-width: 100%; flex-direction: row; gap: var(--space-2); }
  .privacy-index__nav a { grid-template-columns: auto minmax(0, 1fr); min-width: 150px; border: 1px solid var(--color-border); border-radius: var(--radius-sharp); }
}

@media (max-width: 940px) {
  .privacy-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); }
  .privacy-contact-grid,
  .privacy-purpose-grid,
  .privacy-retention-grid,
  .privacy-final-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-purpose-wide { grid-template-columns: minmax(0, 1fr); }
  .privacy-purpose-wide blockquote { max-width: 30ch; }
  .privacy-final-grid > * { width: 100%; }
}

@media (max-width: 820px) {
  .privacy-data-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-data-grid__message,
  .privacy-data-grid__technical,
  .privacy-data-grid__cookies { grid-column: 1; width: 100%; }
  .privacy-rights-list { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .privacy-settings-layout { grid-template-columns: minmax(0, 1fr); }
  .privacy-settings-orbit { display: none; }
}

@media (max-width: 767px) {
  .privacy-hero { padding-block: var(--space-6); }
  .privacy-hero__layout { grid-template-columns: minmax(0, 1fr); min-height: 0; border-radius: var(--radius-md); }
  .privacy-hero__content { padding: var(--space-5); }
  .privacy-hero__content h1 { font-size: clamp(2.625rem, 10vw, 3.375rem); }
  .privacy-hero__lead { max-width: 34ch; }
  .privacy-hero__ornament { height: 42px; }
  .privacy-hero__ornament::before { width: 110px; height: 110px; top: -92px; right: 6%; }
  .privacy-hero__ornament::after { display: none; }
  .privacy-hero__ornament span { top: 12px; left: 12%; width: 7px; }
  .privacy-hero__ornament i { top: 16px; left: 16%; width: 54%; }
  .privacy-hero__ornament b { top: 8px; right: 21%; }
  .privacy-document { padding-block-end: var(--space-8); }
  .privacy-index { margin-inline: calc(var(--space-4) * -1); border-radius: 0; }
  .privacy-section { scroll-margin-top: 88px; }
  .privacy-section__header { grid-template-columns: 44px minmax(0, 1fr); gap: var(--space-3); margin-block-end: var(--space-5); }
  .privacy-section__number { width: 38px; font-size: var(--text-xs); }
  .privacy-card,
  .privacy-purpose-wide,
  .privacy-request-panel,
  .privacy-independence-panel { padding: var(--space-4); }
  .privacy-technical-list { grid-template-columns: minmax(0, 1fr); }
  .privacy-cookies-panel { padding: var(--space-4); }
  .privacy-timeline li { grid-template-columns: minmax(0, 1fr); }
  .privacy-timeline strong,
  .privacy-timeline span { grid-column: 1; }
  .privacy-steps li { grid-template-columns: 28px minmax(0, 1fr); }
  .privacy-steps strong,
  .privacy-steps span { grid-column: 2; }
}

@media (prefers-reduced-motion: no-preference) {
  .privacy-hero__ornament::before { animation: privacy-orbit 16s linear infinite; }
  .privacy-settings-orbit::before { animation: privacy-orbit 18s linear infinite reverse; }
}

@keyframes privacy-orbit { to { transform: rotate(360deg); } }
