#privacy-page {
  --privacy-rule: 1px solid var(--color-line-steel);
  overflow: hidden;
}

#privacy-page .privacy-section {
  scroll-margin-top: 7rem;
  padding-block: clamp(4rem, 8vw, 8rem);
}

#privacy-page .privacy-rail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}

#privacy-page .privacy-rail .index {
  font-size: clamp(3.5rem, 6vw, 4.75rem);
}

#privacy-page .privacy-domain,
#privacy-page .privacy-inline-label {
  color: var(--color-paper);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

#privacy-page .privacy-hero {
  padding-top: clamp(4rem, 7vw, 7.5rem);
}

#privacy-page .privacy-hero__grid {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 7fr) minmax(220px, 3fr);
  gap: 24px;
  align-items: start;
}

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

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

#privacy-page .privacy-hero__content > * { margin: 0; }

#privacy-page .privacy-hero h1 {
  max-width: 18ch;
  font-size: clamp(2.75rem, 6vw, 4rem);
}

#privacy-page .privacy-hero__lead {
  max-width: 620px;
  color: var(--color-paper);
  font-size: var(--text-lg);
  line-height: 1.56;
}

#privacy-page .privacy-offline-note {
  display: flex;
  max-width: 680px;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--privacy-rule);
  border-left: var(--border-accent);
  background: var(--color-graphite);
}

#privacy-page .privacy-offline-note > * { margin: 0; }
#privacy-page .privacy-offline-note h2 { font-size: 1.25rem; }
#privacy-page .privacy-offline-note p { color: var(--color-muted-steel); }

#privacy-page .privacy-toc {
  position: sticky;
  top: 7rem;
  min-width: 0;
  padding-left: var(--space-4);
  border-left: var(--privacy-rule);
}

#privacy-page .privacy-toc__toggle {
  display: none;
}

#privacy-page .privacy-toc__list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-direction: column;
  gap: 0;
}

#privacy-page .privacy-toc__list li { min-width: 0; }
#privacy-page .privacy-toc__link {
  display: block;
  min-width: 0;
  padding: 10px 0;
  color: var(--color-muted-steel);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.35;
  text-decoration: none;
}

#privacy-page .privacy-toc__link:hover,
#privacy-page .privacy-toc__link.is-active { color: var(--color-paper); }
#privacy-page .privacy-toc__link.is-active { border-left: 2px solid var(--color-signal-orange); margin-left: calc(var(--space-4) * -1); padding-left: calc(var(--space-4) - 2px); }

#privacy-page .privacy-responsible,
#privacy-page .privacy-security { background: var(--color-graphite); }

#privacy-page .privacy-responsible__grid {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 8fr) minmax(180px, 2fr);
  gap: 24px;
  align-items: start;
}

#privacy-page .privacy-responsible__grid > * { min-width: 0; }

#privacy-page .privacy-responsible__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

#privacy-page .privacy-responsible__content > * { margin: 0; }
#privacy-page .privacy-responsible__content > h2 { max-width: 17ch; }

#privacy-page .privacy-article {
  max-width: 680px;
  min-width: 0;
}

#privacy-page .privacy-article > :last-child { margin-bottom: 0; }
#privacy-page .privacy-article h3 { font-size: var(--text-xl); }

#privacy-page .privacy-contact-box {
  display: flex;
  max-width: 460px;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--privacy-rule);
  background: var(--color-obsidian);
}

#privacy-page .privacy-contact-box > * { margin: 0; }
#privacy-page .privacy-contact-box h3 { font-size: 1.25rem; }

#privacy-page .privacy-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

#privacy-page .privacy-side-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  padding-top: var(--space-6);
}

#privacy-page .privacy-side-note > * { margin: 0; }
#privacy-page .privacy-side-note p { color: var(--color-paper); font-size: var(--text-sm); line-height: 1.4; }
#privacy-page .privacy-side-note a { font-family: var(--font-mono); font-size: var(--text-xs); }

#privacy-page .privacy-rule-list {
  padding-left: 0;
  list-style: none;
}

#privacy-page .privacy-rule-list li {
  padding-block: var(--space-2);
  border-top: var(--privacy-rule);
}

#privacy-page .privacy-section-heading {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 5fr) minmax(0, 6fr);
  gap: 24px;
  align-items: start;
}

#privacy-page .privacy-section-heading > * { min-width: 0; }
#privacy-page .privacy-information__heading > div:last-child { grid-column: 2 / span 1; max-width: 580px; }
#privacy-page .privacy-information__heading > div:last-child > :last-child { margin-bottom: 0; }

#privacy-page .privacy-info-modules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: var(--space-7);
}

#privacy-page .privacy-info-modules > * { min-width: 0; }

#privacy-page .privacy-info-module {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--privacy-rule);
  background: var(--color-graphite);
}

#privacy-page .privacy-info-module > * { margin: 0; }
#privacy-page .privacy-info-module h3 { font-size: var(--text-xl); }
#privacy-page .privacy-info-module p:not(.eyebrow):not(.meta) { color: var(--color-muted-steel); }
#privacy-page .privacy-info-module .meta { margin-top: auto; padding-top: var(--space-3); border-top: var(--privacy-rule); }

#privacy-page .privacy-mini-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-muted-steel);
  font-size: var(--text-sm);
}

#privacy-page .privacy-mini-list li { padding-left: var(--space-3); border-left: 2px solid var(--color-line-steel); }

#privacy-page .privacy-purposes__grid {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 5fr) minmax(0, 6fr);
  gap: 24px;
  align-items: start;
}

#privacy-page .privacy-purposes__grid > * { min-width: 0; }
#privacy-page .privacy-purposes__intro { max-width: 540px; }
#privacy-page .privacy-purposes__intro > :last-child { margin-bottom: 0; }
#privacy-page .privacy-disclosures { grid-column: 2 / span 2; width: min(100%, 690px); justify-self: end; min-width: 0; }

#privacy-page .privacy-disclosure { min-width: 0; margin: 0; border-top: var(--privacy-rule); }
#privacy-page .privacy-disclosure:last-child { border-bottom: var(--privacy-rule); }
#privacy-page .privacy-disclosure h3 { margin: 0; }

#privacy-page .privacy-disclosure__button {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  border: 0;
  background: transparent;
  color: var(--color-paper);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-align: left;
}

#privacy-page .privacy-disclosure__button > span:first-child { min-width: 0; }
#privacy-page .privacy-disclosure__number { margin-right: var(--space-3); color: var(--color-muted-steel); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .05em; }
#privacy-page .privacy-disclosure__number--accent { color: var(--color-signal-orange); }
#privacy-page .privacy-disclosure__symbol { flex: 0 0 auto; color: var(--color-signal-orange); font-family: var(--font-mono); font-size: 1.5rem; font-weight: 400; }
#privacy-page .privacy-disclosure__button[aria-expanded="true"] .privacy-disclosure__symbol { font-size: 0; }
#privacy-page .privacy-disclosure__button[aria-expanded="true"] .privacy-disclosure__symbol::after { content: "−"; font-size: 1.5rem; }

#privacy-page .privacy-disclosure__panel { min-width: 0; }
#privacy-page .privacy-disclosure__body { display: flex; max-width: 690px; min-width: 0; flex-direction: column; gap: var(--space-3); padding: 0 0 var(--space-5); }
#privacy-page .privacy-disclosure__body > * { margin: 0; }
#privacy-page .privacy-disclosure__body p { color: var(--color-muted-steel); }
#privacy-page .privacy-disclosure__body ul { margin-left: 0; padding-left: 1.25rem; }

#privacy-page .privacy-access__panel {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 7fr) minmax(250px, 3fr);
  gap: 24px;
  padding: var(--space-6);
  border: var(--privacy-rule);
  background: var(--color-graphite);
}

#privacy-page .privacy-access__panel > * { min-width: 0; }
#privacy-page .privacy-access__principles { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); }
#privacy-page .privacy-access__principles > * { margin: 0; }
#privacy-page .privacy-access__principles > h2 { max-width: 17ch; }

#privacy-page .privacy-finance-note {
  display: flex;
  min-width: 0;
  align-self: start;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-left: var(--border-accent);
  background: var(--color-obsidian);
}

#privacy-page .privacy-finance-note > * { margin: 0; }
#privacy-page .privacy-finance-note h3 { font-size: var(--text-xl); }
#privacy-page .privacy-finance-note p:not(.eyebrow) { color: var(--color-muted-steel); }

#privacy-page .privacy-rights__grid {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 4fr) minmax(0, 7fr);
  gap: 24px;
  align-items: start;
}

#privacy-page .privacy-rights__grid > * { min-width: 0; }
#privacy-page .privacy-rights__intro { max-width: 560px; }
#privacy-page .privacy-rights__intro > :last-child { margin-bottom: 0; }

#privacy-page .privacy-right-list {
  display: grid;
  grid-column: 3;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: var(--privacy-rule);
  border-left: var(--privacy-rule);
}

#privacy-page .privacy-right-list > li {
  display: grid;
  min-width: 0;
  grid-template-columns: 32px minmax(0, 1fr);
  column-gap: var(--space-2);
  padding: var(--space-3);
  border-right: var(--privacy-rule);
  border-bottom: var(--privacy-rule);
}

#privacy-page .privacy-right-list span { color: var(--color-signal-orange); font-family: var(--font-mono); font-size: var(--text-xs); }
#privacy-page .privacy-right-list strong { min-width: 0; color: var(--color-paper); font-size: var(--text-sm); }
#privacy-page .privacy-right-list p { grid-column: 2; margin: var(--space-1) 0 0; color: var(--color-muted-steel); font-size: var(--text-sm); line-height: 1.45; }

#privacy-page .privacy-request-protocol {
  display: flex;
  grid-column: 2 / span 1;
  max-width: 600px;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: var(--privacy-rule);
  background: var(--color-graphite);
}

#privacy-page .privacy-request-protocol > * { margin: 0; }
#privacy-page .privacy-request-protocol ol { display: flex; width: 100%; min-width: 0; padding: 0; list-style: none; flex-direction: column; gap: var(--space-2); }
#privacy-page .privacy-request-protocol li { display: grid; min-width: 0; grid-template-columns: 28px minmax(0, 1fr); gap: var(--space-2); }
#privacy-page .privacy-request-protocol li span { color: var(--color-signal-orange); font-family: var(--font-mono); font-size: var(--text-xs); }

#privacy-page .privacy-remedy-note {
  grid-column: 3;
  max-width: 420px;
  min-width: 0;
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: var(--privacy-rule);
}

#privacy-page .privacy-remedy-note > :last-child { margin-bottom: 0; }
#privacy-page .privacy-remedy-note h3 { font-size: 1.25rem; }
#privacy-page .privacy-remedy-note p { color: var(--color-muted-steel); }

#privacy-page .privacy-security__grid {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 10fr) minmax(72px, 1fr);
  gap: 24px;
  align-items: start;
}

#privacy-page .privacy-security__grid > * { min-width: 0; }
#privacy-page .privacy-security__article { grid-column: 2; width: min(100%, 640px); margin-inline: auto; }
#privacy-page .privacy-security__article h2 { max-width: 17ch; }
#privacy-page .privacy-security__article h3 { font-size: var(--text-xl); }
#privacy-page .privacy-security__article > :last-child { margin-bottom: 0; }

#privacy-page .privacy-security__notes {
  display: grid;
  grid-column: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: var(--space-7);
}

#privacy-page .privacy-security__notes > * { min-width: 0; }
#privacy-page .privacy-security-note { display: flex; max-width: 420px; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--privacy-rule); }
#privacy-page .privacy-security-note > * { margin: 0; }
#privacy-page .privacy-security-note h3 { font-size: 1.25rem; }
#privacy-page .privacy-security-note p { color: var(--color-muted-steel); }

#privacy-page .privacy-summary { padding-top: 0; }
#privacy-page .privacy-summary__panel { display: flex; width: min(100%, 1034px); min-width: 0; margin-left: auto; flex-direction: column; align-items: stretch; gap: var(--space-6); padding: var(--space-6); border: var(--privacy-rule); background: var(--color-graphite); }
#privacy-page .privacy-summary__heading { display: grid; min-width: 0; grid-template-columns: 92px minmax(0, 1fr); gap: var(--space-4); align-items: start; }
#privacy-page .privacy-summary__heading > * { min-width: 0; }
#privacy-page .privacy-summary__heading .index { font-size: 3.5rem; }
#privacy-page .privacy-summary__heading p,
#privacy-page .privacy-summary__heading h2 { margin: 0; }

#privacy-page .privacy-summary__items { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
#privacy-page .privacy-summary__items > div { display: grid; min-width: 0; grid-template-columns: 92px minmax(0, 1fr); gap: var(--space-4); padding-top: var(--space-4); border-top: var(--privacy-rule); }
#privacy-page .privacy-summary__items > div > * { min-width: 0; margin: 0; }
#privacy-page .privacy-summary__items span { color: var(--color-signal-orange); font-family: var(--font-mono); font-size: var(--text-sm); }
#privacy-page .privacy-summary__items p { max-width: 680px; color: var(--color-muted-steel); }
#privacy-page .privacy-summary__items strong { color: var(--color-paper); }

#privacy-page .privacy-summary__contact { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--privacy-rule); }
#privacy-page .privacy-summary__contact > * { margin: 0; }
#privacy-page .privacy-summary__contact h3 { font-size: 1.25rem; }
#privacy-page .privacy-summary__contact p { color: var(--color-muted-steel); }

@media (max-width: 68.6875rem) {
  #privacy-page .privacy-hero__grid { grid-template-columns: 88px minmax(0, 7fr) minmax(220px, 3fr); }
  #privacy-page .privacy-responsible__grid { grid-template-columns: 88px minmax(0, 8fr) minmax(180px, 2fr); }
  #privacy-page .privacy-access__panel { grid-template-columns: 88px minmax(0, 8fr); }
  #privacy-page .privacy-finance-note { grid-column: 2; max-width: 650px; }
}

@media (max-width: 63.9375rem) {
  #privacy-page .privacy-hero__grid,
  #privacy-page .privacy-responsible__grid,
  #privacy-page .privacy-purposes__grid,
  #privacy-page .privacy-rights__grid,
  #privacy-page .privacy-security__grid { grid-template-columns: 88px minmax(0, 1fr); }

  #privacy-page .privacy-toc { position: static; grid-column: 2; padding: var(--space-4) 0 0; border-top: var(--privacy-rule); border-left: 0; }
  #privacy-page .privacy-toc__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-4); }
  #privacy-page .privacy-toc__link.is-active { margin-left: 0; padding-left: var(--space-2); }
  #privacy-page .privacy-side-note { grid-column: 2; padding-top: 0; }
  #privacy-page .privacy-section-heading { grid-template-columns: 88px minmax(0, 1fr); }
  #privacy-page .privacy-information__heading > div:last-child { grid-column: 2; }
  #privacy-page .privacy-purposes__intro { grid-column: 2; }
  #privacy-page .privacy-disclosures { grid-column: 2; width: 100%; justify-self: stretch; }
  #privacy-page .privacy-right-list { grid-column: 2; }
  #privacy-page .privacy-request-protocol { grid-column: 2; }
  #privacy-page .privacy-remedy-note { grid-column: 2; }
  #privacy-page .privacy-security__article,
  #privacy-page .privacy-security__notes { grid-column: 2; }
  #privacy-page .privacy-security__article { margin-inline: 0; }
}

@media (max-width: 59.9375rem) {
  #privacy-page .privacy-info-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #privacy-page .privacy-info-module:nth-child(3) { grid-column: 1 / span 2; }
  #privacy-page .privacy-right-list { grid-template-columns: 1fr; }
}

@media (max-width: 47.9375rem) {
  #privacy-page .privacy-section { scroll-margin-top: 5.5rem; }
  #privacy-page .privacy-hero { padding-top: var(--space-8); }
  #privacy-page .privacy-hero__grid,
  #privacy-page .privacy-responsible__grid,
  #privacy-page .privacy-section-heading,
  #privacy-page .privacy-purposes__grid,
  #privacy-page .privacy-access__panel,
  #privacy-page .privacy-rights__grid,
  #privacy-page .privacy-security__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }

  #privacy-page .privacy-rail { flex-direction: row; align-items: center; }
  #privacy-page .privacy-rail .index { font-size: 2.25rem; }
  #privacy-page .privacy-hero__content,
  #privacy-page .privacy-toc,
  #privacy-page .privacy-side-note,
  #privacy-page .privacy-information__heading > div:last-child,
  #privacy-page .privacy-purposes__intro,
  #privacy-page .privacy-disclosures,
  #privacy-page .privacy-finance-note,
  #privacy-page .privacy-right-list,
  #privacy-page .privacy-request-protocol,
  #privacy-page .privacy-remedy-note,
  #privacy-page .privacy-security__article,
  #privacy-page .privacy-security__notes { grid-column: 1; }

  #privacy-page .privacy-hero h1 { max-width: 12ch; font-size: clamp(2.375rem, 11vw, 3rem); }
  #privacy-page .privacy-hero__lead { max-width: 50ch; }
  #privacy-page .privacy-offline-note { padding: var(--space-4); }
  #privacy-page .privacy-toc { padding-top: 0; }
  #privacy-page .privacy-toc__toggle { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; padding: var(--space-3); border: var(--privacy-rule); background: var(--color-graphite); color: var(--color-paper); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .05em; text-transform: uppercase; }
  #privacy-page .privacy-toc__list { display: none; grid-template-columns: 1fr; margin-top: var(--space-2); border-top: var(--privacy-rule); }
  #privacy-page .privacy-toc__list.is-open { display: grid; }
  #privacy-page .privacy-toc__link { min-height: 44px; display: flex; align-items: center; }
  #privacy-page .privacy-responsible__content { gap: var(--space-5); }
  #privacy-page .privacy-side-note { display: none; }
  #privacy-page .privacy-info-modules { grid-template-columns: 1fr; margin-top: var(--space-6); }
  #privacy-page .privacy-info-module:nth-child(3) { grid-column: 1; }
  #privacy-page .privacy-info-module { padding: var(--space-4); }
  #privacy-page .privacy-disclosure__button { min-height: 48px; font-size: 1rem; }
  #privacy-page .privacy-access__panel { padding: var(--space-4); }
  #privacy-page .privacy-finance-note { padding: var(--space-4); }
  #privacy-page .privacy-request-protocol { max-width: none; padding: var(--space-4); }
  #privacy-page .privacy-security__notes { grid-template-columns: 1fr; margin-top: var(--space-6); }
  #privacy-page .privacy-security-note { max-width: none; }
  #privacy-page .privacy-summary__panel { width: 100%; padding: var(--space-4); }
  #privacy-page .privacy-summary__heading,
  #privacy-page .privacy-summary__items > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  #privacy-page .privacy-summary__heading .index { font-size: 2.5rem; }
}

@media print {
  #privacy-page { color: #111; background: #fff; }
  #privacy-page .privacy-section,
  #privacy-page .privacy-responsible,
  #privacy-page .privacy-security,
  #privacy-page .privacy-info-module,
  #privacy-page .privacy-access__panel,
  #privacy-page .privacy-summary__panel,
  #privacy-page .privacy-contact-box { background: #fff; color: #111; }
  #privacy-page .privacy-toc,
  #privacy-page .privacy-toc__toggle { display: none; }
  #privacy-page .privacy-disclosure__panel[hidden] { display: block !important; }
  #privacy-page .privacy-disclosure__button { color: #111; }
  #privacy-page .privacy-disclosure__symbol { display: none; }
  #privacy-page a { color: #111; }
}
