/* Legal content is shared verbatim by the standalone page and intake dialog. */
.terms { max-width: 800px; margin: 0 auto; padding: 80px 0 104px; }
.terms h1 { margin: 0 0 28px; font: 500 clamp(36px, 4.1vw, 58px)/1.05 var(--display); letter-spacing: -.035em; text-wrap: balance; }
.terms-lead { color: var(--muted); }
.terms h2 { margin: 40px 0 18px; padding-top: 28px; border-top: 1px solid var(--line); font: 500 25px/1.25 var(--display); letter-spacing: -.02em; }
.terms p, .terms li { margin: 0 0 14px; font: 400 15px/1.75 var(--sans); overflow-wrap: anywhere; }
.terms .terms-lead { font-size: 17px; line-height: 1.7; }
.terms ul, .terms ol { margin: 0 0 14px; padding-left: 24px; }
.terms li { padding-left: 6px; }
.terms li::marker { color: var(--muted); }
.terms li strong { font-weight: 600; }
.terms a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.terms a:hover { color: var(--blue-dark); }
.terms .terms-date { margin-top: 40px; color: var(--muted); font: 400 12px/1.6 var(--mono); }
.terms-dialog-body .terms .terms-lead { font-size: 15px; }
.terms-dialog-body .terms h2 { font-size: 23px; }
@media (max-width: 700px) {
  .terms { padding: 48px 0 64px; }
  .terms h1 { margin-bottom: 24px; }
  .terms h2 { margin-top: 32px; padding-top: 24px; font-size: 23px; }
  .terms .terms-lead { font-size: 16px; }
  .terms p, .terms li { font-size: 15px; }
  .terms ul, .terms ol { padding-left: 20px; }
}
