/* Terms of Service body. Scoped to .rep-legal so it cannot affect the site header or footer. */
.rep-legal-main { background: #efeadf; color: #111714; padding-block: clamp(48px, 7vw, 96px); }
.rep-legal { width: min(calc(100% - 40px), 860px); margin-inline: auto; font-family: 'Instrument Sans', system-ui, sans-serif; color: #2b332e; font-size: 1rem; line-height: 1.6; }
.rep-legal h1.rep-legal__title { margin: 0 0 14px; color: #111714; font-size: clamp(2.2rem, 5vw, 3rem); font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.rep-legal p { margin: 0 0 10px; }
.rep-legal .rep-legal__meta { color: #555555; font-size: .875rem; margin-bottom: 18px; white-space: pre-wrap; }
.rep-legal .rep-legal__meta strong { color: #111714; }
.rep-legal strong { font-weight: 700; color: #111714; }
.rep-legal h2 { margin: 34px 0 12px; color: #1e4f35; font-size: clamp(1.25rem, 2.4vw, 1.5rem); font-weight: 600; line-height: 1.3; scroll-margin-top: 110px; }
/* Hanging indent: number sits in a 0.43in (620 twip) column, text wraps under the text, as in the document. */
.rep-legal .rep-clause { display: grid; grid-template-columns: 2.9rem 1fr; column-gap: 0; scroll-margin-top: 110px; }
.rep-legal .rep-clause__num { font-weight: 700; color: #111714; }
.rep-legal mark.rep-placeholder { background: #fff200; color: #111714; padding: 0 2px; outline: 2px dashed #c00; }
@media (max-width: 600px) {
  .rep-legal { font-size: .975rem; }
  .rep-legal .rep-clause { grid-template-columns: 2.6rem 1fr; }
}
