  .policy { scroll-behavior: smooth; padding: 7rem 0; }
  .policy h1 { letter-spacing:.2px; }
  .policy .section-title { margin-top:2rem; margin-bottom:.75rem; }
  .policy .sublist { margin-left:0; padding-left:0; list-style:none; }
  .policy .sublist > li { margin-bottom:.5rem; }

  .policy { counter-reset: section; }
  .policy .section-title::before {
    counter-increment: section;
    content: counter(section) ". ";
    color: var(--bs-primary);
    font-weight: 700;
  }
  .policy .section-title + .sublist { counter-reset: subsection; padding-left: 1.5rem; }
  .policy .section-title + .sublist > li {
    counter-increment: subsection;
    position: relative;
    padding-left: 2.2rem;
  }
  .policy .section-title + .sublist > li::before {
    content: counter(section) "." counter(subsection) ".";
    position: absolute; left: 0; top: 0; color: var(--bs-primary); font-weight: 700; width: 2.2rem;
  }

  .policy .toc { margin:0; padding-left:1.25rem; }
  .policy .toc a { text-decoration: none; }
  .policy .toc a:hover { text-decoration: underline; }
  @media (min-width: 992px) { .policy .section-title { margin-top:2.25rem; } }
