/* Terms of Service / AGB — one long legal text, set for reading, monochrome like the rest of
   /intelligence/. Shared by the English page and its German twin (../../terms/terms.css). */
.terms-hero { padding: 72px 64px 48px; background-color: var(--jos-charcoal); color: var(--jos-white); }
.terms-hero h1 { font-family: var(--font-display, "Jost", sans-serif); font-weight: 400; font-size: 40px; margin: 0 0 12px; color: var(--jos-white); }
.terms-hero p { margin: 0; color: rgba(255, 255, 255, 0.75); font-size: 15px; max-width: 760px; }
.terms-hero a { color: rgba(255, 255, 255, 0.92); }
.terms { padding: 56px 64px 80px; background: var(--jos-white); }
.terms-body { max-width: 780px; font-size: 15px; line-height: 1.65; color: #1a1a1a; }
.terms-body h2 { font-family: var(--font-display, 'Jost', sans-serif); font-weight: 500; font-size: 20px;
  margin: 40px 0 12px; padding-top: 16px; border-top: 1px solid #e2e2e2; }
.terms-body h2:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.terms-body ol { padding-left: 1.4em; margin: 0 0 12px; }
.terms-body li { margin: 0 0 8px; }
.terms-body ol ol { list-style: lower-alpha; margin-top: 8px; }
.terms-meta { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #666; margin: 0 0 32px; }
.terms-toc { columns: 2; column-gap: 32px; font-size: 14px; margin: 0 0 40px; padding: 20px 24px;
  background: #f5f5f3; list-style: none; }
.terms-toc li { margin: 0 0 6px; break-inside: avoid; }
.terms-toc a { color: #1a1a1a; }
@media (max-width: 768px) {
  .terms-hero, .terms { padding-left: 16px; padding-right: 16px; }
  .terms-hero h1 { font-size: 30px; }
  .terms-toc { columns: 1; }
}
