.legal-page { max-width: 860px; padding-block: 65px 80px; }
.legal-intro { margin-bottom: 30px; }
.legal-intro h1 { font-size: clamp(38px,6vw,58px); letter-spacing: -.045em; margin-bottom: 17px; }
.legal-lead { font-size: 18px !important; color: #61717a !important; max-width: 620px; }
.legal-date { color: #66717b !important; font-size: 12px !important; margin-top: 17px !important; }
.legal-page h2 { font-size: 25px; letter-spacing: -.6px; line-height: 1.3; margin: 36px 0 13px; }
.legal-page h3 { font-size: 17px; letter-spacing: -.2px; line-height: 1.4; margin: 24px 0 9px; }
.legal-page p,.legal-page li { font-size: 14px; line-height: 1.9; color: #516170; overflow-wrap: anywhere; }
.legal-page p+p { margin-top: 13px; }
.legal-page ul { padding-left: 22px; margin-block: 16px; }
.legal-page li { margin-block: 10px; }
.legal-page strong { color: #253d50; }
.legal-page a { color: #8a451f; text-decoration: underline; text-underline-offset: 3px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #d9ddd5; padding-bottom: 18px; margin-top: 24px; }
.legal-nav a { font-size: 12px; font-weight: 600; padding: 7px 15px; border-radius: 6px; text-decoration: none; color: #526a62; }
.legal-nav a[aria-current="page"] { background: #e3eadf; color: #335440; }
.legal-nav a:hover { background: #eceee5; }
.legal-callout { border: 1px solid #d5dfcf; border-radius: 9px; padding: 22px 24px; background: #edf2e7; margin: 26px 0 32px; }
.legal-callout>strong { font-size: 14px; color: #3f5d42; }
.legal-callout p { margin-top: 7px; font-size: 13px; color: #566a53; }
.legal-callout h2 { margin: 0 0 12px; font-size: 21px; }
.legal-callout.legal-limits { background: #f1e9db; border-color: #ded1b9; }
.legal-limits p { color: #665943; }
.legal-limits strong { color: #4c422f; }
.legal-table-wrap { overflow-x: auto; border: 1px solid #dce0d6; border-radius: 8px; margin: 20px 0; background: #fafbf7; }
.legal-table-wrap table { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: 12px; color: #516170; line-height: 1.8; }
.legal-table-wrap caption { text-align: left; padding: 14px 17px; font-size: 12px; font-weight: 600; color: #385143; background: #e8eee1; }
.legal-table-wrap th,.legal-table-wrap td { padding: 13px 17px; text-align: left; vertical-align: top; border-top: 1px solid #dfe4d9; overflow-wrap: anywhere; }
.legal-table-wrap thead th { font-size: 11px; color: #64725c; font-weight: 600; }
.legal-table-wrap th:first-child { width: 25%; }
.legal-table-wrap tbody th { font-weight: 600; color: #3c5445; }
.legal-contact { margin-top: 38px; padding: 24px; border: 1px solid #d9ded1; border-radius: 9px; background: #edf0e6; }
.legal-contact h2 { margin: 0 0 10px; font-size: 22px; }
.legal-contact p { font-size: 13px; }
.legal-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.legal-control { border: 1px solid #d9dfd2; border-radius: 9px; padding: 22px; background: #fafbf7; }
.legal-control h2 { font-size: 18px; margin: 0 0 12px; }
.legal-control p { font-size: 13px; }
@media(max-width:600px) {
  .legal-page { padding-block: 42px 55px; }
  .legal-page h2 { font-size: 23px; }
  .legal-page p,.legal-page li { font-size: 13px; }
  .legal-callout,.legal-contact { padding: 18px; }
  .legal-table-wrap th,.legal-table-wrap td { padding: 11px; font-size: 11px; }
  .legal-table-wrap th:first-child { width: 30%; }
  .legal-controls { grid-template-columns: 1fr; }
  .legal-control { padding: 19px; }
  .legal-control h2 { font-size: 18px; }
}
