.page-hero--plain { min-height: 0; }
.page-hero--plain .page-hero__inner { padding-top: 44px; padding-bottom: 60px; }
.page-hero--plain .page-hero__shade { display: none; }

.policy .split { align-items: start; }

.policy__toc { position: sticky; top: 96px; }
.policy__toc-title { margin: 0 0 12px; font-size: 15px; font-weight: 600; color: var(--muted); }
.policy__toc ol { list-style: none; margin: 0; border-top: 1px solid var(--line); counter-reset: toc; }
.policy__toc li { border-bottom: 1px solid var(--line); counter-increment: toc; }
.policy__toc a { display: grid; grid-template-columns: 30px minmax(0, 1fr); padding: 9px 0 10px; font-size: 15.5px; font-weight: 500; line-height: 1.35; color: var(--text); text-decoration: none; }
.policy__toc a::before { content: counter(toc, decimal-leading-zero); font-variant-numeric: tabular-nums; font-size: 13px; padding-top: 2px; color: var(--muted); }
.policy__toc a:hover { color: var(--accent-dark); }

.policy__body { max-width: 760px; }
.policy__updated { margin: 0 0 22px; font-size: 15px; font-weight: 600; color: var(--muted); }
.policy__demo { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 32px; font-size: 15px; line-height: 1.5; color: var(--muted); }
.policy__demo .tag { margin-top: 1px; }
.policy__short { margin-bottom: 72px; padding: 36px 36px 30px; background: var(--paper); border-radius: 2px; }
.policy__short .ruled { border-top-color: var(--line); }
.policy__short .ruled__title { font-weight: 500; }
.policy__full .sh { margin-bottom: 12px; }

.policy__section { padding: 30px 0 8px; border-top: 1px solid var(--line); }
.policy__full + .policy__section { border-top: 0; padding-top: 12px; }
.policy__h { margin: 0 0 14px; font-size: 23px; }
.policy__section p { margin: 0 0 14px; font-size: 17.5px; line-height: 1.65; max-width: 36em; }
.policy__section ul { margin: 0 0 16px; padding-left: 0; list-style: none; max-width: 66ch; }
.policy__section li { position: relative; margin: 0; padding: 6px 0 6px 22px; font-size: 17.5px; line-height: 1.55; }
.policy__section li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 6px; height: 6px; background: var(--muted); }
.policy__section a { color: var(--accent-dark); text-underline-offset: 3px; overflow-wrap: anywhere; }

@media (max-width: 1023px) {
  .policy__toc { display: none; }
}

@media (max-width: 767px) {
  .page-hero--plain .page-hero__inner { padding-top: 28px; padding-bottom: 40px; }
  .policy__short { margin-bottom: 52px; padding: 24px 18px 18px; }
  .policy__section { padding-top: 24px; }
  .policy__h { font-size: 21px; }
  .policy__section p, .policy__section li { font-size: 16.5px; }
}
