/* Policies & legal pages — prose layout reusing the site palette */
.policy-body { min-height: 100vh; display: flex; flex-direction: column; }
.policy-main { flex: 1; padding: 136px 0 90px; }
.policy-content { max-width: 780px; }
.policy-content h1 { font-size: clamp(1.8rem, 3vw, 2.3rem); font-weight: 750; letter-spacing: -0.025em; margin-bottom: 10px; }
.policy-updated { color: var(--faint); font-size: 13px; margin-bottom: 36px; }
.policy-content h2 { font-size: 17px; font-weight: 700; letter-spacing: -0.015em; margin: 34px 0 10px; color: var(--text); }
.policy-content h3 { font-size: 14.5px; font-weight: 650; margin: 20px 0 6px; color: var(--text); }
.policy-content p, .policy-content li { font-size: 14px; color: var(--muted); line-height: 1.8; }
.policy-content p { margin-bottom: 12px; }
.policy-content ul, .policy-content ol { padding-left: 20px; margin-bottom: 14px; }
.policy-content ul li { list-style: disc; margin-bottom: 6px; }
.policy-content ol li { list-style: decimal; margin-bottom: 6px; }
.policy-content b, .policy-content strong { color: var(--text); font-weight: 600; }
.policy-content a { color: var(--violet-2); text-decoration: underline; }
.policy-callout {
  border: 1px solid rgba(124,58,237,0.35); background: var(--violet-soft);
  border-radius: 12px; padding: 14px 18px; font-size: 13.5px; color: #d8ccff;
  line-height: 1.65; margin: 22px 0;
}
.policy-callout.amber { border-color: rgba(251,191,36,0.35); background: rgba(251,191,36,0.07); color: #fde9b8; }
