.policy-nav {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #3a476b;
}

.policy-nav > h2 { font-size: 17px; letter-spacing: 0; }
.policy-nav-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 18px 26px;
  margin-top: 14px;
}

.policy-nav h3 { margin-bottom: 5px; font-size: 14px; letter-spacing: 0; }
.policy-nav ul { display: grid; gap: 4px; }
.policy-nav a { color: #c0c9e4; font-size: 14px; }
.policy-nav a:hover,
.policy-nav a[aria-current="page"] { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

.policy-home-link { color: var(--muted); font-size: 14px; }
.policy-home-link:hover { color: var(--blue); }
.policy-main { padding-block: clamp(36px, 7vw, 88px); }
.policy-document {
  width: min(100%, 860px);
  margin-inline: auto;
  padding: clamp(20px, 6vw, 64px);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  background: var(--surface);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.policy-document > header { padding-bottom: 22px; border-bottom: 1px solid var(--rule); }
.policy-document h1 { font-size: clamp(29px, 5.1vw, 52px); font-weight: 600; }
.policy-document header > p:last-child { margin-top: 13px; color: var(--muted); font-size: 14px; }
.policy-section { margin-top: 23px; }
.policy-section > * + * { margin-top: 9px; }
.policy-section h2 { font-size: clamp(20px, 2.5vw, 27px); line-height: 1.2; letter-spacing: -.025em; }
.policy-section h3 { margin-top: 18px; font-size: 17px; line-height: 1.3; }
.policy-section ul { padding-inline-start: 23px; list-style: disc; }
.policy-section li + li { margin-top: 4px; }
.policy-section a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.policy-footer { padding-block: 24px 36px; }
.policy-footer .policy-nav { margin-top: 0; padding-top: 0; border-top: 0; }
