/* ===== PRIVACY PAGE ===== */
.pp-intro, .pp-collect, .pp-nocollect, .pp-perms, .pp-offline, .pp-children, .pp-links, .pp-contact{
  position: relative; overflow: visible;
  border-top: 1px solid rgba(199,255,61,.12);
}

/* Section-bounded backgrounds (динамичные; футер статичный по override) */
.pp1-bg, .pp2-bg, .pp3-bg, .pp4-bg, .pp5-bg, .pp6-bg, .pp7-bg, .pp8-bg{
  position: absolute; left: 50%; transform: translateX(-50%);
  top: -12px; height: calc(100% + 24px); width: 100vw;
  z-index: -1; pointer-events: none; overflow: hidden;
}
.pp1-bg::before, .pp2-bg::before, .pp3-bg::before, .pp4-bg::before,
.pp5-bg::before, .pp6-bg::before, .pp7-bg::before, .pp8-bg::before{
  content:""; position:absolute; inset:0;
  background:
    repeating-linear-gradient(90deg, rgba(199,255,61,.10) 0 2px, transparent 2px 14px),
    radial-gradient(900px 560px at 18% 12%, rgba(125,92,255,.18), transparent 60%),
    radial-gradient(900px 560px at 82% 88%, rgba(199,255,61,.12), transparent 60%);
  mix-blend-mode: screen; opacity: .65;
  animation: ppFlow 26s linear infinite;
}
.pp1-bg::after, .pp2-bg::after, .pp3-bg::after, .pp4-bg::after,
.pp5-bg::after, .pp6-bg::after, .pp7-bg::after, .pp8-bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, var(--bg) 0 72px,
      rgba(11,13,18,0) 140px,
      rgba(11,13,18,0) calc(100% - 140px),
      var(--bg) 100%);
}
@keyframes ppFlow{ from{ transform: translateX(0);} to{ transform: translateX(-240px);} }

/* Intro */
.pp-head{ text-align: center; }
.pp-head h1{
  margin: 0 0 6px;
  font-family: Sora, Inter, sans-serif;
  font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem);
  text-shadow: 0 0 12px rgba(199,255,61,.32), 0 0 22px rgba(125,92,255,.25);
}
.pp-kicker{ margin: 0 auto; color: var(--muted); max-width: 72ch; }
.pp-illus{ margin: 12px 0 6px; display: grid; place-items: center; }
.pp-meta{ margin: 0; color: var(--muted); }

/* Grid + cards */
.pp-grid{
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px; align-items: start;
}
@media (max-width: 1199px){ .pp-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 575px){ .pp-grid{ grid-template-columns: 1fr; } }

.pp-sec-head{ grid-column: 1 / -1; text-align: left; margin-bottom: 4px; }
.pp-sec-head h2{
  margin: 0 0 8px;
  font-family: Sora, Inter, sans-serif;
  font-size: clamp(1.4rem, 1.1rem + 1.3vw, 2.1rem);
  text-shadow: 0 0 10px rgba(199,255,61,.22), 0 0 18px rgba(125,92,255,.18);
}
.muted{ color: var(--muted); margin: 0; }

.pp-card{
  background: linear-gradient(180deg, rgba(16,20,30,.85), rgba(16,20,30,.92));
  border: 1px solid rgba(199,255,61,.18);
  border-radius: var(--radius);
  padding: 16px; box-shadow: var(--shadow);
  transition: transform var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.pp-card:hover, .pp-card:focus-within{ transform: translateY(-3px); border-color: rgba(199,255,61,.32); }
.pp-fig{ margin: 0 0 10px; display: grid; place-items: center; }

/* No-collect list */
.pp-no-list{
  display: grid; gap: 10px; list-style: none; padding: 0; margin: 0;
}
.pp-no-list li{
  display: grid; grid-template-columns: 60px 1fr; gap: 10px; align-items: center;
  background: linear-gradient(180deg, rgba(16,20,30,.85), rgba(16,20,30,.92));
  border: 1px solid rgba(199,255,61,.18);
  border-radius: var(--radius);
  padding: 10px; box-shadow: var(--shadow);
}
.pp-no-list img{ border-radius: 10px; }

/* Split blocks */
.pp-flex{
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center;
}
@media (max-width: 991px){ .pp-flex{ grid-template-columns: 1fr; } }
.pp-figure{ margin: 0; display: grid; place-items: center; }
.pp-copy h2{ margin: 0 0 8px; }
.pp-bullets{ margin: 0 0 0 18px; color: var(--muted); }

/* Small float animation on images (starts when visible) */
.floaty{
  border-radius: 14px; box-shadow: 0 6px 22px rgba(0,0,0,.35);
  animation: ppFloat 5.2s cubic-bezier(.2,.8,.2,1) infinite;
  animation-play-state: paused;
}
.reveal.is-visible .floaty{ animation-play-state: running; }
@keyframes ppFloat{
  0%{ transform: translateY(0) rotate(-.3deg); }
  50%{ transform: translateY(-8px) rotate(.3deg); }
  100%{ transform: translateY(0) rotate(-.3deg); }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .pp1-bg::before, .pp2-bg::before, .pp3-bg::before, .pp4-bg::before,
  .pp5-bg::before, .pp6-bg::before, .pp7-bg::before, .pp8-bg::before,
  .floaty{ animation: none !important; }
}
