.policy-page {
  min-height: 70vh;
  color: var(--interior-ink);
  background: var(--interior-bg);
}

.policy-hero {
  padding: clamp(3.8rem, 7vw, 6rem) 0 clamp(2.7rem, 5vw, 4rem);
  border-bottom: 1px solid var(--interior-border);
}

.policy-hero h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 820;
  letter-spacing: -0.025em;
  line-height: 0.98;
}

.policy-hero__lede {
  max-width: 42rem;
  margin: 1.15rem 0 0;
  color: var(--interior-muted);
  font-size: clamp(1.05rem, 1.7vw, 1.24rem);
  line-height: 1.6;
}

.policy-section { padding: clamp(2.5rem, 6vw, 5rem) 0; }

.policy-document {
  padding: clamp(1.5rem, 5vw, 3.25rem);
  color: #383631;
  border: 1px solid var(--interior-border);
  border-radius: var(--interior-radius);
  background: var(--interior-surface);
  box-shadow: var(--interior-shadow);
  font-size: clamp(0.98rem, 1.3vw, 1.05rem);
  line-height: 1.72;
}

.policy-document > :first-child { margin-top: 0; }
.policy-document > :last-child { margin-bottom: 0; }
.policy-document p { margin: 0 0 1.25rem; }
.policy-document ul { margin: 0 0 1.5rem; padding-left: 1.25rem; }
.policy-document li + li { margin-top: 0.6rem; }
.policy-document h2 {
  margin: 2.6rem 0 0.9rem;
  color: var(--interior-ink);
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.018em;
}
.policy-document h3 {
  margin: 2rem 0 0.75rem;
  color: var(--interior-ink);
  font-size: clamp(1.12rem, 2vw, 1.35rem);
  font-weight: 780;
  letter-spacing: -0.012em;
}
.policy-document code {
  color: var(--interior-amber);
  border-radius: 0.3rem;
  background: var(--interior-amber-soft);
}
.policy-document__meta {
  margin-top: 2.6rem;
  padding-top: 1.2rem;
  color: var(--interior-faint);
  border-top: 1px solid var(--interior-border);
  font-size: 0.8rem;
}
.policy-document__meta p { margin: 0; }

@media (max-width: 575.98px) {
  .policy-hero { padding-top: 3.2rem; }
  .policy-document { border-radius: 0.85rem; }
}
