.policy-layout {
  display: grid;
  gap: var(--space-20);
}
.policy-header {
  max-width: 720px;
}
.policy-meta-bar {
  margin-top: var(--space-8);
  padding: var(--space-8) var(--space-12);
  border-radius: var(--radius-pill);
  border: 1px solid rgba(170, 185, 165, 0.7);
  background-color: rgba(242, 231, 213, 0.75);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  justify-content: space-between;
  font-size: var(--font-size-xs);
}
.policy-meta-note {
  color: var(--color-muted);
}
.policy-grid {
  margin-top: var(--space-24);
  display: grid;
  gap: var(--space-20);
}
.policy-aside {
  order: -1;
}
.policy-nav-title {
  font-size: var(--font-size-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-6);
}
.policy-nav-list {
  display: grid;
  gap: var(--space-4);
  font-size: var(--font-size-sm);
}
.policy-nav-list a {
  padding-block: 4px;
  color: var(--color-heading);
}
.policy-nav-list a:hover {
  color: var(--color-primary);
}
.policy-related-links {
  margin-top: var(--space-16);
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-border-subtle);
}
.policy-related-title {
  font-size: var(--font-size-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-6);
}
.policy-content {
  display: grid;
  gap: var(--space-20);
}
.policy-section h2 {
  margin-bottom: var(--space-6);
}
.policy-section p:last-child {
  margin-bottom: 0;
}
.policy-card {
  margin-top: var(--space-8);
}
.policy-section-last {
  padding-bottom: var(--space-8);
}
@media (min-width: 900px) {
  .policy-grid {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
    align-items: flex-start;
  }
  .policy-aside {
    position: sticky;
    top: 96px;
  }
}
