/* Privacy page only. Everything is scoped under .pp so it cannot leak into the
   site stylesheet - the original standalone page set body{overflow:hidden} and
   100vh heights, which broke the shared header and footer. */
/* body.page paints a dark background site-wide - the policy needs its own light surface */
.pp { padding: 56px 0 72px; color: #333; background: #f9f9f9; }
.pp a { color: #007aff; }
.pp a:hover { color: #0056b3; }
.pp-title { font-size: 2.2rem; margin: 0 0 12px; color: #111; }
.pp-intro { font-size: 1.05rem; color: #4a4a4a; max-width: 70ch; margin: 0 0 32px; }
.pp-layout { display: flex; align-items: flex-start; gap: 40px; }
.pp-toc { flex: 0 0 270px; position: sticky; top: 90px; background: #fff;
          padding: 24px; border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.pp-toc ul { list-style: none; padding: 0; margin: 0; }
.pp-toc li { margin: 10px 0; }
.pp-toc a { text-decoration: none; color: #333; font-weight: 600; }
.pp-toc a:hover, .pp-toc a.active { color: #007aff; }
.pp-body { flex: 1 1 auto; min-width: 0; background: #fff; padding: 32px 36px;
           border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.pp-body h2 { color: #222; font-size: 1.35rem; margin: 32px 0 10px; scroll-margin-top: 90px; }
.pp-body h2:first-child { margin-top: 0; }
.pp-body p, .pp-body ul { color: #555; }
.pp-body ul { padding-left: 20px; }
.pp-body li { margin-bottom: 10px; }
.pp-updated { margin-top: 40px; color: #888; font-size: .9rem; }
@media (max-width: 900px) {
  .pp-layout { display: block; }
  .pp-toc { position: static; border-right: 0; border-bottom: 1px solid #e3e6ea;
            padding: 0 0 16px; margin-bottom: 24px; }
}
