/* Privacy Policy Page Styles - keep minimal and complementary to base.css */
.policy-wrapper {
  padding-block: 2rem 4rem;
}
.policy-hero {
  max-width: 72rem;
  margin-inline: auto;
}
.policy-hero .intro {
  font-size: 1.0625rem;
  line-height: 1.8;
  opacity: 0.9;
}
.policy-hero .meta {
  margin-top: 0.5rem;
  font-size: 0.9375rem;
  opacity: 0.75;
}
.policy-toc {
  max-width: 72rem;
  margin: 2rem auto 1rem auto;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.75rem;
}
.policy-toc ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 0.5rem 1rem;
  padding-left: 1.25rem;
}
.policy-toc a {
  text-decoration: none;
}
.policy-toc a:focus-visible,
.policy-toc a:hover {
  text-decoration: underline;
}
.policy-section {
  max-width: 72rem;
  margin: 2rem auto 0 auto;
}
.policy-section + .policy-section {
  margin-top: 1.25rem;
}
.policy-section ul,
.policy-section ol {
  padding-left: 1.25rem;
}
.policy-section li {
  margin: 0.375rem 0;
}
/* Improve in-page anchor navigation with fixed headers */
.policy-section {
  scroll-margin-top: 6rem;
}
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap; border: 0; padding: 0; margin: -1px;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
