.privacy-page {
  background: var(--color-night-purple);
  overflow-wrap: anywhere;
  hyphens: auto;
}

.privacy-page section[id] {
  scroll-margin-top: 7rem;
}

.privacy-hero {
  padding-block-end: var(--space-8);
}

.privacy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--space-5);
  min-width: 0;
}

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

.privacy-section-index {
  margin: 0;
  color: var(--color-chrome-silver);
  font-family: var(--font-display);
  font-size: var(--text-index);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-index);
}

.privacy-hero__grid > .privacy-section-index { grid-column: 1; }
.privacy-hero__content { grid-column: 2; max-width: 68ch; }

.privacy-hero__rule {
  width: 100%;
  height: 1px;
  margin-block: var(--space-4) var(--space-5);
  background: var(--color-hot-pink);
}

.privacy-offline-notice {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: var(--space-6) 0 0;
  padding: var(--space-5);
  border: 1px solid rgba(255, 107, 120, 0.5);
  border-inline-start: 4px solid var(--color-offline-red);
  border-radius: var(--radius-control);
  background: var(--color-plum-surface);
  max-width: 58ch;
}

.privacy-offline-notice p { margin: 0; }
.privacy-offline-notice__label,
.privacy-contact-panel__label {
  color: var(--color-offline-red);
  font-family: var(--font-display);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.privacy-toc { padding-block-end: var(--space-8); }

.privacy-toc__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  width: min(100%, 64.5rem);
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-plum-surface);
  box-shadow: var(--shadow-offset);
}

.privacy-toc__panel > * { min-width: 0; }
.privacy-toc__intro { max-width: 60ch; }
.privacy-toc__intro > :last-child { margin-bottom: 0; }

.privacy-toc__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-5);
  min-width: 0;
  border-top: 1px solid var(--color-border);
}

.privacy-toc__links > a {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr) auto;
  gap: var(--space-3);
  min-width: 0;
  min-height: 3.25rem;
  align-items: center;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-subtle);
  color: var(--color-paper-lilac);
  font-family: var(--font-display);
  font-size: var(--text-meta);
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-meta);
  text-decoration: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), padding var(--transition-fast);
}

.privacy-toc__links > a > * { min-width: 0; }
.privacy-toc__links > a span:first-child { color: var(--color-signal-turquoise); }
.privacy-toc__links > a span:nth-child(2) { max-width: 38ch; }
.privacy-toc__links > a b { color: var(--color-chrome-silver); font-size: 1.25rem; }
.privacy-toc__links > a:hover { padding-inline: var(--space-3); border-color: var(--color-signal-turquoise); box-shadow: var(--shadow-offset-accent); color: var(--color-paper-lilac); }
.privacy-toc__links > a:focus-visible { outline: 2px solid var(--color-warm-yellow); outline-offset: 3px; }

.privacy-section { border-top: 1px solid var(--color-border-subtle); }

.privacy-aside-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(18.75rem, 5fr);
  gap: var(--space-7);
  min-width: 0;
}

.privacy-aside-layout > * { min-width: 0; }
.privacy-reading-block { max-width: 68ch; }

.privacy-heading-row {
  display: grid;
  grid-template-columns: minmax(3rem, 1fr) minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  align-items: start;
  margin-bottom: var(--space-6);
}

.privacy-heading-row > * { min-width: 0; }
.privacy-heading-row h2 { margin-bottom: 0; }
.privacy-heading-row .eyebrow { margin-bottom: var(--space-3); }

.privacy-scope-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  min-width: 0;
  margin: var(--space-6) 0;
}

.privacy-scope-cards > article {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border-top: 1px solid var(--color-signal-turquoise);
  background: rgba(37, 20, 67, 0.46);
}

.privacy-scope-cards h4,
.privacy-scope-cards p { margin: 0; }
.privacy-scope-cards > article > span { color: var(--color-signal-turquoise); font-family: var(--font-display); font-size: var(--text-meta); }

.privacy-validity-note {
  display: flex;
  min-width: 0;
  align-self: start;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid rgba(56, 224, 208, 0.48);
  border-radius: var(--radius-card);
  background: var(--color-plum-surface);
}

.privacy-validity-note > * { margin: 0; }
.privacy-validity-note h3 { max-width: 20ch; }

.privacy-wide-block { width: min(100%, 64.5rem); min-width: 0; }
.privacy-section-intro { max-width: 66ch; }

.privacy-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(20rem, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-6);
}

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

.privacy-data-card {
  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-card);
  background: var(--color-plum-surface);
}

.privacy-data-card > * { margin: 0; }
.privacy-data-card h3 { max-width: 26ch; }
.privacy-data-card--wide { grid-column: 1 / -1; max-width: none; }
.privacy-data-card--wide p { max-width: 58ch; }

.privacy-tags { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
.privacy-tags > span { min-width: 0; padding: var(--space-2); border: 1px solid var(--color-border-subtle); color: var(--color-signal-turquoise); font-family: var(--font-display); font-size: var(--text-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }

.privacy-definition-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: 0; }
.privacy-definition-list > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border-subtle); }
.privacy-definition-list dd { margin-bottom: 0; }
.privacy-data-card .content-list { margin-bottom: 0; }

.privacy-exclusion-band {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-offline-red);
  border-top: 1px solid rgba(255, 107, 120, 0.45);
  border-bottom: 1px solid rgba(255, 107, 120, 0.45);
  background: rgba(37, 20, 67, 0.72);
}

.privacy-exclusion-band > * { margin: 0; }
.privacy-exclusion-band h3 { color: var(--color-paper-lilac); }
.privacy-exclusion-band ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-5); padding-inline-start: 1rem; }

.privacy-purpose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(20.625rem, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-6);
}

.privacy-purpose-grid > * { min-width: 0; }
.privacy-purpose-card { 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-card); background: var(--color-plum-surface); }
.privacy-purpose-card > * { margin: 0; }
.privacy-purpose-card > span { font-family: var(--font-display); font-size: 2rem; font-weight: 700; line-height: 1; }
.privacy-purpose-card--yellow > span { color: var(--color-warm-yellow); }
.privacy-purpose-card--turquoise > span { color: var(--color-signal-turquoise); }
.privacy-purpose-card--pink > span { color: var(--color-hot-pink); }
.privacy-purpose-card .meta { color: var(--color-muted-lilac); }

.privacy-purpose-boundary { margin-top: var(--space-5); padding: var(--space-5); border-inline-start: 4px solid var(--color-offline-red); background: rgba(255, 107, 120, 0.08); color: var(--color-paper-lilac); }
.privacy-purpose-boundary strong { color: var(--color-offline-red); }

.privacy-retention-layout { display: grid; grid-template-columns: minmax(0, 6fr) minmax(20rem, 4fr); gap: var(--space-8); min-width: 0; }
.privacy-retention-layout > * { min-width: 0; }
.privacy-retention-copy { max-width: 64ch; }

.privacy-retention-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; min-width: 0; margin-top: var(--space-6); border-top: 1px solid var(--color-border); }
.privacy-retention-list > div { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(0, 3fr); gap: var(--space-4); min-width: 0; padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border-subtle); }
.privacy-retention-list p { margin: 0; }

.privacy-transfer-column { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.privacy-transfer-panel { 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-card); background: var(--color-plum-surface); }
.privacy-transfer-panel > * { margin: 0; }
.privacy-transfer-panel h4 { margin-top: var(--space-2); color: var(--color-signal-turquoise); }
.privacy-international-note { padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.privacy-international-note h3 { font-size: 1.125rem; }

.privacy-rights-grid { display: grid; grid-template-columns: repeat(3, minmax(18.75rem, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-6); }
.privacy-rights-grid > article { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-plum-surface); }
.privacy-rights-grid > article > * { min-width: 0; }
.privacy-rights-grid > article > span { color: var(--color-chrome-silver); font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; line-height: 1; }
.privacy-rights-grid h3 { margin-bottom: var(--space-3); }
.privacy-rights-grid p { margin-bottom: 0; }

.privacy-closing-section { border-top-color: rgba(56, 224, 208, 0.5); }
.privacy-closing-block { width: min(100%, 51.5rem); min-width: 0; }
.privacy-security-copy { max-width: 64ch; }
.privacy-security-copy hr { margin: var(--space-5) 0; }

.privacy-contact-panel { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-6); border: 3px double var(--color-chrome-silver); border-radius: var(--radius-card); background: var(--color-plum-surface); box-shadow: var(--shadow-offset); }
.privacy-contact-panel > * { margin: 0; }
.privacy-contact-panel__label { color: var(--color-warm-yellow); }
.privacy-contact-panel__link { width: fit-content; margin-top: var(--space-2); }

@media (max-width: 1120px) {
  .privacy-purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-purpose-card--pink { grid-column: 1 / -1; }
}

@media (max-width: 1060px) {
  .privacy-rights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .privacy-aside-layout,
  .privacy-retention-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .privacy-reading-block,
  .privacy-retention-copy { max-width: 68ch; }
  .privacy-validity-note { max-width: 50ch; }
  .privacy-transfer-column { max-width: 50ch; }
}

@media (max-width: 880px) {
  .privacy-data-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-data-card--wide { grid-column: 1; }
}

@media (max-width: 820px) {
  .privacy-purpose-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-purpose-card--pink { grid-column: 1; }
}

@media (max-width: 760px) {
  .privacy-toc__links { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
  .privacy-hero { padding-block-start: var(--space-8); }
  .privacy-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .privacy-hero__grid > .privacy-section-index,
  .privacy-hero__content { grid-column: 1; }
  .privacy-hero__content { max-width: none; }
  .privacy-hero h1 { font-size: clamp(2.375rem, 11vw, 3.5rem); line-height: 0.92; }
  .privacy-offline-notice { max-width: none; padding: var(--space-5); }
  .privacy-wide-block,
  .privacy-closing-block,
  .privacy-toc__panel { width: 100%; }
  .privacy-heading-row { grid-template-columns: minmax(2.75rem, auto) minmax(0, 1fr); gap: var(--space-3); }
  .privacy-heading-row .privacy-section-index { font-size: 2.5rem; }
  .privacy-scope-cards,
  .privacy-rights-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-exclusion-band ul { grid-template-columns: minmax(0, 1fr); }
  .privacy-definition-list { grid-template-columns: minmax(0, 1fr); }
  .privacy-retention-list > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); padding-inline-start: var(--space-4); border-inline-start: 2px solid var(--color-chrome-silver); }
  .privacy-contact-panel { padding: var(--space-5); }
  .privacy-contact-panel__link { width: 100%; min-height: 3rem; }
}

@media (max-width: 699px) {
  .privacy-toc { padding-block-end: var(--space-7); }
  .privacy-toc__panel,
  .privacy-data-card,
  .privacy-purpose-card,
  .privacy-rights-grid > article,
  .privacy-transfer-panel { padding: var(--space-5); }
  .privacy-toc__links > a { min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-toc__links > a { transition: none; }
}
