section.privacy-policy {
  --privacy-offset: 150px;
  padding: 64px 0 80px;
}
.privacy-policy-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.privacy-toc {
  position: sticky;
  top: var(--privacy-offset);
  max-height: calc(100dvh - var(--privacy-offset) - 24px);
  overflow-y: auto;
}
.privacy-toc .eyebrow {
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.privacy-toc a {
  color: #000;
  display: block;
  padding: 10px 14px;
  border-bottom: 1px solid #d5e2e5;
  border-left: 3px solid transparent;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.privacy-toc a:hover,
.privacy-toc a:focus-visible {
  color: #000;
  text-decoration: underline;
}
.privacy-toc a[aria-current="location"] {
  background: rgba(50, 173, 219, .1);
  color: #000;
  border-left-color: #32addb;
  border-radius: 0 8px 8px 0;
  font-weight: 800;
}
.privacy-policy-copy {
  min-width: 0;
  max-width: 850px;
  font-size: 18px;
  line-height: 1.8;
}
.privacy-policy-copy section {
  padding-top: 48px;
  scroll-margin-top: var(--privacy-offset);
}
.privacy-policy-copy h2 {
  margin: 0 0 18px;
  color: #32addb;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.015em;
}
.privacy-policy-copy li { margin-bottom: 10px; }
.privacy-policy-copy a:not(.button) {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.privacy-policy-copy .privacy-date {
  font-size: 15px;
  color: #486068;
}
.privacy-contact {
  margin-top: 32px;
  padding: 28px;
  border: 1px solid #d5e2e5;
  border-radius: 22px;
  background: #f4f7f7;
}
.privacy-contact h3 { color: #32addb; font-weight: 800; }
.privacy-contact .button {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 8px;
  background: #32addb;
  color: #000;
  font-weight: 800;
  text-decoration: none;
}
@media (max-width: 850px) {
  section.privacy-policy { padding-top: 40px; }
  .privacy-policy-layout { grid-template-columns: 1fr; gap: 36px; }
  .privacy-toc { position: static; max-height: none; overflow: visible; }
  .privacy-toc a { display: inline-block; margin-right: 12px; }
  .privacy-policy-copy { font-size: 17px; }
  .privacy-policy-copy h2 { font-size: 26px; }
}
body.privacy-policy .site-main + .ascend-join .row {
  margin-top: 0;
}
@media (prefers-reduced-motion: reduce) {
  .privacy-toc a { transition: none; }
}
@media print {
  .privacy-toc { display: none; }
  .privacy-policy-layout { grid-template-columns: 1fr; }
}
