.terms-hero {
  width: min(calc(100% - var(--page-gutter-total)), var(--reading));
  margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) 0 40px;
}

.terms-hero h1 {
  margin-bottom: 24px;
  font-size: clamp(2.6rem, 6vw, 4.5rem);
}

.terms-intro { color: var(--ink-soft); font-size: 1.15rem; }

.terms-updated { margin: 24px 0 20px; color: var(--ink-soft); font-size: .95rem; }

.terms-contents { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.terms-contents a { padding: 10px 0; color: var(--terracotta-dark); text-underline-offset: 4px; }
.terms-page .policy-section { padding-top: 0; }
.terms-page .policy-document { min-width: 0; overflow-wrap: break-word; }
.terms-page .policy-document > section { scroll-margin-top: 110px; }
.terms-page .policy-document > section > h2 { font-size: clamp(2rem, 4vw, 3rem); }
.terms-page .policy-document > section + section { margin-top: 32px; }
.terms-page .policy-document li + li { margin-top: 14px; }
.terms-page .policy-document ol { padding-left: 24px; color: var(--ink-soft); }

@media print {
  .terms-page .site-header, .terms-page .site-footer, .terms-contents { display: none; }
  .terms-hero { padding-top: 0; }
  .terms-page .policy-document h2, .terms-page .policy-document h3 { break-after: avoid; }
  .terms-page .policy-document section { break-inside: auto; }
}
