.privacy-page {
  overflow: hidden;
}

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

.privacy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(160px, 1fr);
  gap: var(--space-6);
  align-items: center;
}

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

.privacy-hero__copy {
  width: 100%;
  max-width: 45rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.privacy-hero__eyebrow {
  padding: var(--space-2) var(--space-3);
  border: var(--border-strong);
  border-radius: var(--radius-badge);
  background: var(--color-cobalt);
  color: var(--color-white);
  font-size: var(--text-sm);
  font-weight: 700;
}

.privacy-hero h1 { font-size: clamp(2rem, 5vw, 4rem); }
.privacy-hero__copy > p { max-width: 43rem; font-size: var(--text-lg); line-height: var(--leading-relaxed); }

.privacy-reading-note {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-4) var(--space-5);
  border: var(--border-strong);
  border-radius: var(--radius-control);
  background: var(--color-yellow);
  box-shadow: var(--shadow-hard);
}

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

.privacy-hero__accent {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 12rem;
}

.privacy-hero__accent span {
  position: absolute;
  top: 1rem;
  left: 50%;
  width: 8rem;
  height: 8rem;
  border: var(--border-strong);
  border-radius: 50%;
  background: var(--color-yellow);
  transform: translateX(-50%);
}

.privacy-hero__accent i,
.privacy-hero__accent b {
  position: absolute;
  display: block;
  border: var(--border-strong);
}

.privacy-hero__accent i { right: 1rem; bottom: 1rem; width: 3rem; height: 3rem; background: var(--color-cobalt); transform: rotate(18deg); }
.privacy-hero__accent b { bottom: .5rem; left: 1rem; width: 4rem; height: 1rem; background: var(--color-tangerine); transform: rotate(-22deg); }

.privacy-guide { padding-top: 0; }

.privacy-guide__layout {
  display: grid;
  grid-template-columns: minmax(17.5rem, 3fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: start;
}

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

.privacy-toc {
  width: 100%;
  padding: var(--space-5);
}

.privacy-toc h2,
.privacy-guide__copy h2 { font-size: var(--text-xl); }

.privacy-toc__intro { margin-bottom: var(--space-3); }

.privacy-toc__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: toc;
}

.privacy-toc__list > li { min-width: 0; counter-increment: toc; }

.privacy-toc__list a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2);
  font-weight: 700;
}

.privacy-toc__list a::before { content: counter(toc, decimal-leading-zero); color: var(--color-cobalt); font-family: var(--font-display); }

.privacy-guide__copy {
  width: 100%;
  max-width: 38.75rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.privacy-guide__controls {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.privacy-guide__controls > * { min-width: 0; flex: 0 1 auto; }

.privacy-document { padding-bottom: var(--space-9); }

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

.privacy-chapter {
  width: min(100%, 45rem);
  min-width: 0;
  border: var(--border-strong);
  border-radius: var(--radius-control);
  background: var(--color-white);
  box-shadow: var(--shadow-hard);
  scroll-margin-top: var(--space-6);
}

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

.privacy-chapter > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
  list-style: none;
}

.privacy-chapter > summary::-webkit-details-marker { display: none; }
.privacy-chapter > summary::after { content: "+"; font-size: 1.5rem; font-weight: 700; }
.privacy-chapter[open] > summary::after { content: "−"; }

.privacy-chapter__number {
  display: inline-flex;
  min-width: 3rem;
  min-height: 2.25rem;
  align-items: center;
  justify-content: center;
  border: var(--border-strong);
  border-radius: var(--radius-badge);
  background: var(--color-yellow);
  font-family: var(--font-display);
  font-weight: 700;
}

.privacy-chapter__summary {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.16;
}

.privacy-chapter__summary > span { font-family: var(--font-body); font-size: var(--text-xs); font-weight: 700; }

.privacy-chapter__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  padding: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.privacy-chapter__body > * { min-width: 0; margin: 0; }
.privacy-chapter__body h2 { font-size: var(--text-2xl); }
.privacy-chapter__body h3 { margin: 0; font-size: var(--text-xl); }

.privacy-data-pair {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-4);
  border-left: 4px solid var(--color-cobalt);
  background: var(--color-cream);
}

.privacy-data-pair > * { min-width: 0; }
.privacy-data-pair--highlight { border: var(--border-strong); background: var(--color-white); }
.privacy-data-pair__index { font-family: var(--font-display); font-size: 2rem; line-height: 1; color: var(--color-cobalt); }
.privacy-data-pair div { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.privacy-data-pair p { margin: 0; }

.privacy-program-note,
.privacy-principle-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-4);
  border: var(--border-strong);
  border-radius: var(--radius-control);
}

.privacy-program-note { background: var(--color-yellow); }
.privacy-principle-panel { border-left: 5px solid var(--color-cobalt); background: var(--color-cream); }

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

.privacy-subsection > * { min-width: 0; margin: 0; }
.privacy-subsection--retention { padding: var(--space-4); border: var(--border-strong); border-left: 5px solid var(--color-tangerine); border-radius: var(--radius-control); }
.privacy-subsection--closing { padding-top: var(--space-5); border-top: 1px solid var(--color-line); }

.privacy-principle-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.privacy-principle-list > li { position: relative; min-width: 0; padding-left: 1.75rem; }
.privacy-principle-list > li::before { position: absolute; left: 0; top: .15rem; content: "•"; color: var(--color-tangerine); font-size: 1.5rem; font-weight: 700; line-height: 1; }

.privacy-more-info { padding-top: var(--space-4); border-top: 1px solid var(--color-line); }

.privacy-rights-intro { max-width: 45rem; }

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

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

.privacy-right-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-strong);
  border-radius: var(--radius-control);
  background: var(--color-cream);
}

.privacy-right-card > * { min-width: 0; margin: 0; }
.privacy-right-card > span { color: var(--color-cobalt); font-family: var(--font-display); font-size: 1.75rem; font-weight: 700; }
.privacy-right-card--wide { grid-column: 1 / -1; }

.privacy-contact-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-5);
  border: var(--border-strong);
  border-radius: var(--radius-control);
  background: var(--color-tangerine);
}

.privacy-contact-strip > * { min-width: 0; }
.privacy-contact-strip div { display: flex; flex-direction: column; gap: var(--space-2); }
.privacy-contact-strip h3,
.privacy-contact-strip p { margin: 0; }

.privacy-back-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding: var(--space-2) 0;
  font-weight: 700;
}

@media (max-width: 59.9375rem) {
  .privacy-hero__grid,
  .privacy-guide__layout { grid-template-columns: minmax(0, 1fr); }
  .privacy-hero__accent { display: none; }
  .privacy-hero__copy { max-width: 45rem; }
  .privacy-guide__copy { max-width: 38.75rem; }
  .privacy-toc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 51.1875rem) {
  .privacy-rights-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-right-card--wide { grid-column: auto; }
  .privacy-contact-strip { grid-template-columns: minmax(0, 1fr); }
  .privacy-contact-strip .button { width: 100%; }
}

@media (max-width: 44.9375rem) {
  .privacy-hero { padding-block: 3.5rem; }
  .privacy-hero h1 { font-size: 2rem; line-height: 1.09; }
  .privacy-hero__copy > p { font-size: var(--text-base); line-height: var(--leading-body); }
  .privacy-reading-note { padding: var(--space-4); }
  .privacy-guide { padding-bottom: var(--space-7); }
  .privacy-toc,
  .privacy-chapter__body { padding: var(--space-4); }
  .privacy-toc__list { grid-template-columns: minmax(0, 1fr); }
  .privacy-toc__list a { width: 100%; }
  .privacy-guide__controls { flex-direction: column; }
  .privacy-guide__controls > * { width: 100%; }
  .privacy-document__flow { gap: var(--space-5); }
  .privacy-chapter > summary { gap: var(--space-2); padding: var(--space-3) var(--space-4); }
  .privacy-chapter__number { min-width: 2.6rem; font-size: var(--text-sm); }
  .privacy-chapter__summary { font-size: var(--text-lg); }
  .privacy-chapter__body { gap: var(--space-4); }
  .privacy-data-pair { grid-template-columns: minmax(0, 1fr); }
  .privacy-contact-strip { padding: var(--space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-hero__accent i,
  .privacy-hero__accent b { transform: none; }
}
