/* Privacy: page-specific styles. Shared chrome and rooms live in base.css. */

.privacy-hero { padding-block: clamp(3rem, 7vw, 5rem) clamp(4rem, 9vw, 7rem); }
.privacy-hero .page-hero-art svg { display: block; width: 100%; height: auto; max-width: 16rem; }

.privacy-grid { display: grid; gap: 2rem; }

.privacy-toc { font-size: .95rem; }
.privacy-toc .toc-title {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
  margin: 0 0 .5rem;
  color: var(--ink);
}
.privacy-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; display: grid; gap: .1rem; }
.privacy-toc li { counter-increment: toc; }
.privacy-toc a {
  display: block;
  padding: .3rem 0 .3rem 1.75rem;
  position: relative;
  color: var(--ink);
  text-decoration: none;
}
.privacy-toc a::before {
  content: counter(toc);
  position: absolute;
  left: 0;
  width: 1.25rem;
  text-align: right;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.privacy-toc a:hover { text-decoration: underline; text-underline-offset: .2em; }

.privacy-text section { padding-block: 2rem; border-top: 1px solid #C7C3D3; scroll-margin-top: 5rem; }
.privacy-text section:first-of-type { border-top: 0; padding-top: 0; }
.privacy-text h3 { margin: 0 0 .75rem; display: flex; gap: .75rem; align-items: baseline; }
.privacy-text .sec-no { font-variant-numeric: tabular-nums; color: var(--muted); min-width: 1.25rem; }
.privacy-text ul { margin: 0 0 1rem; padding-left: 1.25rem; max-width: 68ch; }
.privacy-text li { margin-bottom: .5rem; }
.privacy-text p { margin-block: 0 1rem; }

@media (min-width: 62rem) {
  .privacy-grid { grid-template-columns: 15rem minmax(0, 1fr); gap: 5rem; align-items: start; }
  .privacy-toc { position: sticky; top: 6rem; }
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
