/* ── Policy section card ─────────────────────────────────────────────────── */
.policy-section {
  background: white; border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  padding: 1.5rem 1.75rem;
  border-left: 4px solid transparent;
  transition: box-shadow .15s;
}
.policy-section:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.09); }
.dark .policy-section { background: #1e293b; box-shadow: none; }
.dark .policy-section:hover { box-shadow: none; }

/* Section number badge */
.section-num {
  width: 2.5rem; height: 2.5rem; border-radius: 0.625rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.125rem; font-weight: 900; flex-shrink: 0;
}

/* Policy bullet list */
.policy-list { list-style: none; padding: 0; margin: 0; }
.policy-list li {
  display: flex; align-items: flex-start; gap: 0.5rem;
  padding: 0.3rem 0; font-size: 0.9rem; color: #475569;
  font-weight: 500; line-height: 1.5;
}
.dark .policy-list li { color: #94a3b8; }
.policy-list li::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: #94a3b8; flex-shrink: 0; margin-top: 0.45rem;
}

/* Sub-heading inside section */
.pp-sub-heading {
  font-size: 0.875rem; font-weight: 800; color: #374151;
  margin-top: 1rem; margin-bottom: 0.375rem;
  display: flex; align-items: center; gap: 0.5rem;
}
.dark .pp-sub-heading { color: #cbd5e1; }

/* Body text */
.pp-body {
  font-size: 0.9rem; color: #64748b; font-weight: 500; line-height: 1.75;
}
.dark .pp-body { color: #94a3b8; }

/* TOC link */
.toc-item {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.5rem 0.75rem; border-radius: 0.625rem;
  font-size: 0.8125rem; font-weight: 700; color: #374151;
  text-decoration: none; transition: background 0.15s, color 0.15s;
}
.toc-item:hover { background: #eff6ff; color: #2563eb; }
.dark .toc-item { color: #94a3b8; }
.dark .toc-item:hover { background: #1e293b; color: #60a5fa; }

/* Hero banner */
.policy-hero {
  background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 50%, #2563eb 100%);
  border-radius: 1.25rem; overflow: hidden; position: relative;
}
.hero-deco {
  position: absolute; border-radius: 50%;
  background: rgba(255,255,255,0.06);
}

/* Fade-up animation */
@keyframes pp-fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.pp-fade { animation: pp-fadeUp 0.4s ease-out both; }
