:root {
  color: #122018;
  background: #f3f7f3;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: #165f43; }
.legal-header,
.legal-footer { padding: 22px max(24px, calc((100vw - 920px) / 2)); }
.legal-header { border-bottom: 1px solid #dce5dd; background: rgba(255,255,255,.92); }
.legal-header a { font-weight: 750; text-decoration: none; }
.legal-document { width: min(920px, calc(100% - 32px)); margin: 34px auto 56px; padding: clamp(26px, 5vw, 64px); border: 1px solid #dce5dd; border-radius: 24px; background: #fff; box-shadow: 0 18px 60px rgba(24, 58, 41, .08); }
.legal-kicker { margin: 0 0 10px; color: #29805e; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
h1 { margin: 0; font-size: clamp(32px, 6vw, 52px); }
.legal-meta { margin: 14px 0 30px; color: #637068; }
.legal-alert { padding: 16px 18px; border: 1px solid #efb84a; border-radius: 14px; background: #fff8e8; color: #704d08; }
h2 { margin: 38px 0 14px; font-size: 22px; }
h3 { margin: 24px 0 10px; font-size: 17px; }
p, li { line-height: 1.82; }
li + li { margin-top: 7px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { padding: 12px; border: 1px solid #dce5dd; text-align: left; vertical-align: top; line-height: 1.65; }
th { background: #f3f7f3; }
.legal-footer { border-top: 1px solid #dce5dd; color: #637068; font-size: 13px; text-align: center; }
@media (max-width: 640px) {
  .legal-document { margin-top: 18px; padding: 24px 20px; border-radius: 18px; }
  table, tbody, tr, th, td { display: block; }
  th { border-bottom: 0; }
  td + td { border-top: 0; }
}
