.privacy-hero .lead { max-width: 660px; }

.privacy-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  align-items: start;
  gap: 28px;
}

.privacy-toc {
  position: sticky;
  top: calc(var(--nav-h) + 20px);
  max-height: calc(100dvh - var(--nav-h) - 40px);
  overflow-y: auto;
  padding: 24px;
}

.privacy-toc h2 { font-size: 18px; margin-bottom: 16px; }
.privacy-toc ol { list-style: decimal; padding-left: 22px; font-size: 13px; }
.privacy-toc li::marker { color: var(--aurora-1); }
.privacy-toc a { display: block; padding: 7px 8px; border-radius: 6px; }

.privacy-policy {
  padding: clamp(24px, 4vw, 48px);
  overflow-wrap: anywhere;
}

.privacy-policy-header {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
}

.privacy-date { font-size: 13px; margin-bottom: 24px; }
.privacy-date time { color: var(--tx-1); }
.privacy-policy h2 { font-size: clamp(21px, 2.3vw, 26px); line-height: 1.35; margin-bottom: 16px; }
.privacy-policy address { font-style: normal; font-size: 14px; line-height: 1.9; }
.privacy-policy section { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--line); }
.privacy-policy p + p,
.privacy-policy p + ul,
.privacy-policy ul + p { margin-top: 16px; }
.privacy-policy ul { list-style: disc; padding-left: 22px; }
.privacy-policy li + li { margin-top: 10px; }
.privacy-policy li::marker { color: var(--aurora-1); }
.privacy-policy strong { color: var(--tx-1); font-weight: 600; }
.privacy-policy a { color: var(--tx-1); text-decoration: underline; text-underline-offset: 3px; }
.privacy-policy code { font-size: 0.9em; color: var(--tx-1); }
.privacy-page a:focus-visible { outline: 2px solid var(--aurora-1); outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  .privacy-toc a:hover { color: var(--tx-1); background: var(--glass-strong); }
  .privacy-policy a:hover { color: var(--aurora-1); }
}

@media (max-width: 960px) {
  .privacy-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .privacy-toc { position: static; max-height: none; }
  .privacy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
}

@media print {
  .site-header,
  .mobile-menu,
  .site-footer,
  .space-backdrop,
  #starfield,
  .to-top,
  .privacy-toc { display: none; }

  body { color: #222; background: #fff; animation: none; }
  .container { width: 100%; }
  .privacy-page .page-hero { padding: 0 0 24px; }
  .privacy-page .section { padding: 0; }
  .privacy-layout { display: block; }
  .privacy-policy { padding: 0; background: none; border: 0; box-shadow: none; backdrop-filter: none; }
  .privacy-page h1,
  .privacy-page h2,
  .privacy-page .grad-text,
  .privacy-page .eyebrow,
  .privacy-page .lead,
  .privacy-policy a,
  .privacy-policy strong,
  .privacy-policy code,
  .privacy-date time { color: #222; background: none; }
  .privacy-policy h2 { break-after: avoid; }
}
