.policy-hero{ padding: 72px 0 48px; background: linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%); border-bottom: 1px solid var(--hairline);}
  .policy-hero h1{ font-size: clamp(40px, 5vw, 60px); margin: 14px 0 6px;}
  .policy-hero .meta{ display:flex; gap: 22px; font-size: 13px; color: var(--slate); margin-top: 18px; flex-wrap: wrap;}
  .policy-hero .meta span b{ color: var(--ink); font-weight: 600;}

  .policy-main{ padding: 64px 0 96px;}
  .policy-grid{ display:grid; grid-template-columns: 240px 1fr; gap: 64px; align-items: start;}
  @media (max-width: 900px){ .policy-grid{ grid-template-columns: 1fr;} }
  .policy-toc{ position: sticky; top: 96px; align-self: start;}
  .policy-toc h5{ margin-bottom: 14px; font-size: 12px;}
  .policy-toc a{ display: block; padding: 8px 0 8px 14px; font-size: 13px; color: var(--slate); border-left: 2px solid var(--hairline); transition: all .15s ease;}
  .policy-toc a:hover, .policy-toc a.is-on{ color: var(--ink); border-color: var(--brass);}

  .policy-body{ max-width: 68ch;}
  .policy-body section{ margin-bottom: 48px; scroll-margin-top: 96px;}
  .policy-body h2{ font-size: 26px; margin: 0 0 14px; font-family: var(--ff-display); font-weight: 500; letter-spacing: -.01em;}
  .policy-body h3{ font-size: 17px; margin: 22px 0 8px; font-family: var(--ff-body); font-weight: 600;}
  .policy-body p, .policy-body ul, .policy-body ol{ color: var(--ink-2); font-size: 15px; line-height: 1.7;}
  .policy-body ul, .policy-body ol{ padding-left: 22px;}
  .policy-body li{ margin-bottom: 6px;}
  .policy-body .pull{ background: var(--cream-2); padding: 18px 22px; border-radius: var(--r-md); border-left: 4px solid var(--brass); margin: 18px 0; font-size: 14px; color: var(--ink-2);}
  .policy-body .good-pull{ background: var(--moss-soft); padding: 18px 22px; border-radius: var(--r-md); border-left: 4px solid var(--moss); margin: 18px 0; font-size: 14px; color: var(--ink-2);}
  .policy-body a{ color: var(--brass-dk); text-decoration: underline; text-underline-offset: 3px;}

  .policy-body table{ width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px;}
  .policy-body table th, .policy-body table td{ padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--hairline);}
  .policy-body table th{ background: var(--cream-2); font-weight: 600; color: var(--ink); font-size: 13px;}
  .policy-body table tr:last-child td{ border-bottom: none;}

  .policy-footer{ padding: 48px 0; background: var(--cream-2); border-top: 1px solid var(--hairline); text-align: center;}
  .policy-footer h3{ margin: 0 0 8px;}
  .policy-footer p{ color: var(--slate); margin: 0 0 22px;}
