.policy-main {
  padding-block: var(--s12) var(--s16);
}
.policy-hero {
  padding-bottom: var(--s8);
  border-bottom: var(--line-strong) solid var(--ink);
}
.policy-hero h1 {
  max-inline-size: var(--measure-reading);
  margin: var(--s2) 0 var(--s4);
  font: 800 var(--text-hero) / 1.14 var(--font-display);
  letter-spacing: -0.04em;
}
.policy-hero > p {
  max-inline-size: var(--measure-reading);
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.1rem;
}
.policy-status {
  margin-top: var(--s6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2) var(--s6);
  font: 700 var(--text-meta) / 1.5 var(--font-meta);
  text-transform: uppercase;
}
.policy-status a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: var(--s1);
}
.policy-toc {
  position: sticky;
  z-index: 5;
  top: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-bottom: var(--line) solid var(--rule);
  background: var(--paper);
}
.policy-toc a {
  min-height: var(--control-min-height);
  padding: var(--s3);
  display: grid;
  place-items: center;
  border-right: var(--line) solid var(--rule);
  text-align: center;
  font-weight: 800;
}
.policy-toc a:last-child {
  border-right: 0;
}
.policy-toc a:hover {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: var(--s1);
}
.policy-section {
  max-inline-size: var(--measure-reading);
  margin-inline: auto;
  padding-block: var(--s12);
  scroll-margin-top: var(--s16);
  border-bottom: var(--line) solid var(--rule);
}
.policy-section h2 {
  margin: 0 0 var(--s6);
  font: 800 var(--text-title) / 1.2 var(--font-display);
}
.policy-section h3 {
  margin: var(--s8) 0 var(--s3);
  font: 800 1.15rem / 1.35 var(--font-display);
}
.policy-section p,
.policy-section li,
.policy-section dd {
  color: var(--ink-soft);
}
.policy-section a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: var(--s1);
}
.policy-section li + li {
  margin-top: var(--s2);
}
.policy-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: var(--line) solid var(--rule);
  border-left: var(--line) solid var(--rule);
}
.policy-facts div {
  min-width: 0;
  padding: var(--s4);
  border-right: var(--line) solid var(--rule);
  border-bottom: var(--line) solid var(--rule);
}
.policy-facts dt {
  color: var(--accent);
  font: 800 var(--text-meta) / 1.4 var(--font-meta);
  text-transform: uppercase;
}
.policy-facts dd {
  margin: var(--s2) 0 0;
}
.policy-callout {
  margin-block: var(--s6);
  padding: var(--s6);
  border-left: var(--line-emphasis) solid var(--accent);
  background: var(--paper-deep);
}
.policy-callout strong {
  display: block;
  text-wrap: balance;
  margin-bottom: var(--s2);
}
.policy-callout p {
  margin: 0;
}
.policy-table {
  display: grid;
  border-top: var(--line) solid var(--rule);
}
.policy-table article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--s4);
  padding-block: var(--s4);
  border-bottom: var(--line) solid var(--rule);
}
.policy-table h3,
.policy-table p {
  margin: 0;
}
.policy-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2) var(--s6);
}
@media (max-width: 800px) {
  .policy-main {
    padding-top: var(--s8);
  }
  .policy-toc {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .policy-toc a:nth-child(even) {
    border-right: 0;
  }
  .policy-facts,
  .policy-table article {
    grid-template-columns: 1fr;
  }
  .policy-table article {
    gap: var(--s2);
  }
}
