.terms-nav, .terms-nav nav, .terms-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.terms-nav { justify-content: space-between; padding-block: 12px; }
.terms-nav a, .terms-footer a { color: var(--navy); }
.terms-page h1 { font-size: clamp(1.8rem, 5vw, 2.5rem); line-height: 1.2; overflow-wrap: anywhere; }
.terms-page h2 { scroll-margin-top: 160px; }
.terms-page li { margin-block: 8px; }
.terms-download { margin-block: 24px; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.terms-download .button { color: var(--teal); text-decoration: none; white-space: normal; }
.terms-download p { margin-bottom: 0; font-size: .92rem; }
.terms-toc { padding: 20px; border-radius: 16px; background: #edf6f7; }
.terms-toc ol { padding-left: 22px; }
.terms-footer { padding-bottom: 40px; }
@media (max-width: 600px) { .terms-nav { gap: 12px; } .terms-nav nav { gap: 16px; font-size: .9rem; } }
@media print {
  .header, .skip-link, .terms-download, .terms-toc, .terms-footer { display: none; }
  body { background: #fff; color: #000; }
  .terms-page { width: 100%; max-width: none; margin: 0; padding: 0; }
  .terms-page h1 { font-size: 22pt; } .terms-page h2 { font-size: 14pt; break-after: avoid; }
  .terms-page p, .terms-page li { orphans: 3; widows: 3; } .terms-page section { padding-block: 8px; }
  .terms-page a { color: #000; text-decoration: none; }
}
