:root {
  --forest: #2A2A2A;
  --lime: #D4AF37;
  --ink: #0D1A12;
  --border: #E3E7EE;
  --white: #FFFFFF;
  --font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
}
.legal-nav {
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
}
.legal-nav .container { display: flex; align-items: center; justify-content: space-between; }
.legal-nav img { height: 28px; }
.legal-nav a.back { font-size: 13px; color: var(--forest); text-decoration: none; font-weight: 600; }
.legal-nav a.back:hover { color: var(--lime); background: var(--forest); padding: 4px 8px; border-radius: 4px; }
.container { max-width: 820px; margin: 0 auto; padding: 0 24px; }
main { padding: 56px 0 90px; }
main h1 { font-size: 32px; font-weight: 800; color: var(--forest); margin: 0 0 6px; }
main h1 + p.meta { color: rgba(13,26,18,0.55); font-size: 14px; margin: 0 0 40px; }
main h2 { font-size: 20px; font-weight: 700; color: var(--ink); margin: 40px 0 12px; }
main h3 { font-size: 16px; font-weight: 700; color: var(--ink); margin: 28px 0 10px; }
main p { margin: 0 0 14px; font-size: 15px; color: rgba(13,26,18,0.85); }
main ul, main ol { margin: 0 0 14px; padding-left: 22px; }
main li { margin: 0 0 8px; font-size: 15px; color: rgba(13,26,18,0.85); }
main a { color: var(--forest); }
main strong { color: var(--ink); }
main table { width: 100%; border-collapse: collapse; margin: 24px 0; }
main table td { border: 1px solid var(--border); padding: 14px; font-size: 14px; text-align: center; }
main .legal-links { list-style: none; padding: 0; }
main .legal-links li { padding: 8px 0; border-bottom: 1px solid var(--border); }
.note-box {
  background: #FBF7E8;
  border: 1px solid #EADFA0;
  border-radius: 8px;
  padding: 14px 18px;
  font-size: 13.5px;
  color: rgba(13,26,18,0.75);
  margin: 20px 0;
}
footer.legal-footer {
  border-top: 1px solid var(--border);
  padding: 28px 0;
  font-size: 13px;
  color: rgba(13,26,18,0.55);
  text-align: center;
}
footer.legal-footer a { color: var(--forest); }

/* ---- Agreement documents (order form, merchant terms) ---- */
main p.intro { color: rgba(13,26,18,0.85); margin-bottom: 24px; }
main .field-placeholder {
  background: #F4F4F2;
  border: 1px solid var(--border);
  padding: 2px 8px;
  border-radius: 3px;
  font-weight: 600;
  color: var(--forest);
}
main .fees-table, main .sig-table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0 24px;
}
main .fees-table th, main .sig-table th {
  text-align: left;
  padding: 12px 16px;
  background: #F7F8FA;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  border-bottom: 1px solid var(--border);
}
main .fees-table td {
  padding: 12px 16px;
  border: none;
  border-bottom: 1px solid var(--border);
  font-size: 15px;
  text-align: left;
  vertical-align: top;
  color: rgba(13,26,18,0.85);
}
main .fees-table td.rate { font-weight: 700; color: var(--ink); white-space: nowrap; }
main .fees-table td.basis { color: rgba(13,26,18,0.6); }
main .sig-table th { width: 50%; }
main .sig-table td {
  padding: 20px 16px;
  border: 1px solid var(--border);
  font-size: 15px;
  text-align: left;
  vertical-align: top;
  color: rgba(13,26,18,0.6);
  line-height: 2.4;
}
main ul.agreements { list-style: none; padding: 0; margin: 16px 0; }
main ul.agreements li { padding: 10px 0; border-bottom: 1px solid var(--border); }
main ul.agreements li:last-child { border-bottom: none; }
main .sub { margin: 12px 0; font-size: 15px; color: rgba(13,26,18,0.85); }
main .sub-num { font-weight: 700; color: var(--ink); margin-right: 4px; }
main .term { font-weight: 700; color: var(--ink); }
main p.allcaps { text-transform: uppercase; line-height: 1.6; font-size: 14px; }
main dl.defn-list { margin: 0 0 14px; }
main dl.defn-list dt { font-weight: 700; color: var(--ink); font-size: 15px; margin-top: 12px; }
main dl.defn-list dd { margin: 4px 0 0; font-size: 15px; color: rgba(13,26,18,0.85); }
