/* Refund policy page. Loaded after the shared site.css. */
body { margin: 0; background: var(--page); color: var(--brand); font-family: var(--font); -webkit-font-smoothing: antialiased; }
.policy { max-width: 820px; margin: 0 auto; padding: 40px 16px 24px; }
.policy h1 { margin: 0 0 8px; font: 800 34px/1.15 var(--font); letter-spacing: -.01em; }
.policy .updated { margin: 0 0 24px; font: 600 14px/1.4 var(--font); color: var(--muted); }
.policy-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px; margin-bottom: 16px; animation: nh-rise .4s var(--ease) both; }
.policy-card h2 { margin: 0 0 12px; font: 800 20px/1.3 var(--font); }
.policy-card p, .policy-card li { max-width: 68ch; font-size: 16px; line-height: 1.7; color: var(--brand); }
.policy-card p { margin: 0 0 12px; }
.policy-card p:last-child, .policy-card ul:last-child, .policy-card ol:last-child { margin-bottom: 0; }
.policy-card ul, .policy-card ol { margin: 0 0 12px; padding-left: 22px; }
.policy-card li { margin-bottom: 8px; }
.policy-card a:not(.nh-btn) { color: var(--brand); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.glance { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.glance .nh-pill { min-height: 40px; padding: 0 16px; font-size: 14px; font-weight: 700; }
.policy-note { background: var(--brand-light); border-color: transparent; box-shadow: none; }
.policy-cta { margin-top: 4px; }
@media (min-width: 761px) { .policy { padding-top: 56px; } .policy h1 { font-size: 42px; } .policy-card { padding: 32px; } }
@media (prefers-reduced-motion: reduce) { .policy-card { animation: none; } }
