body {
  counter-reset: policy-title;
}

.policy  {
  font-weight: var(--font-bold);
}

.policy h2::before {
  content: counter(policy-title) ". ";
  counter-increment: policy-title;
}

.policy ul {
  margin-left: 1.25rem;
}

.policy ul li {
  list-style-type: initial;
}

.policy ol {
  margin-bottom: 3rem;
  margin-left: 2rem;
}

.policy ol li + li {
  margin-top: 0.25rem;
}

.policy h2 {
  font-weight: var(--font-bold);
  font-size: 2rem;
}

.policy ol li {
  font-size: 1rem;
}

.policy p + h2,
.policy .table + h2,
.policy table + h2,
.policy ul + h2,
.policy a + h2 {
  margin-top: 4rem;
}

.policy h2 + p,
.policy h2 + table,
.policy h2 + .table {
  margin-top: 1rem;
}

.policy table {
  border-collapse: collapse;
}

.policy table td {
  border: 1px solid #000;
  padding: 1vw;
  font-size: 1rem;
}

.policy a {
  text-decoration: underline;
  opacity: 0.9;
  font-size: 1rem;
}

.policy p,
.policy ul li {
  font-size: 1rem;
}

.policy a:hover {
  opacity: 1;
}

@media all and (max-width: 1023px) {
  .policy .table {
    max-width: 95vw;
    overflow-y: scroll;
  }
}
