/* General terms and conditions (templates/pages/terms.html). Keep .legal-page rules in sync with privacy.css. */
.legal-page { padding-top: 80px; padding-bottom: 120px; }
.legal-page__title { margin-bottom: 50px; }
.legal-page__body { max-width: none; font-size: var(--fs-medium); line-height: 1.75; }
.legal-page__body h2 { font-size: 22px; font-weight: 700; margin: 2.2em 0 .5em; scroll-margin-top: calc(var(--header-h, 64px) + 24px); }
.legal-page__body > p:first-child { margin-top: 0; }

.legal-page__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 60px; align-items: start; }
.legal-toc { position: sticky; top: calc(var(--header-h, 64px) + 24px); max-height: calc(100vh - var(--header-h, 64px) - 48px); overflow-y: auto; }
.legal-toc__title { font-family: var(--font-mono); font-size: 14px; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; color: var(--accent-small-on-light, #1a7f5f); margin-bottom: 12px; }
.legal-toc__list { list-style: none; margin: 0; padding: 0; }
.legal-toc__link { display: block; padding: 7px 0 7px 22px; border-left: 1.5px solid #e2e2e2; color: var(--black); font-size: 15px; font-weight: 500; line-height: 1.35; text-decoration: none; transition: color .2s, border-color .2s; }
.legal-toc__link:hover, .legal-toc__link:focus-visible { color: var(--accent-small-on-light, #1a7f5f); border-left-color: var(--primary-dark); }

@media (max-width: 991px) {
  .legal-page__layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .legal-toc { position: static; max-height: none; overflow: visible; padding: 24px; background: var(--white); }
  .legal-toc__link { padding-block: 6px; }
}
@media (max-width: 767px) {
  .legal-page { padding-top: 50px; padding-bottom: 80px; }
  .legal-page__title { margin-bottom: 32px; }
}
@media (max-width: 479px) {
  .legal-toc { padding: 20px 16px; }
  .legal-page__body h2 { font-size: 20px; }
}
