/* ===== LEGAL.css — shared for privacy & terms (war-room legal folio) =====
   Legal pages load ONLY this stylesheet. */

* { box-sizing: border-box; }

body.legal-page {
  margin: 0;
  font-family: Georgia, Times, serif;
  font-size: 16px;
  line-height: 1.8;
  color: #F0EBDD;
  background: #1E2836;
  overflow-x: hidden;
}

.legal-page h1,
.legal-page h2,
.legal-page h3,
.legal-page h4 {
  font-family: Georgia, Times, serif;
  color: #F0EBDD;
  line-height: 1.25;
}

.legal-page a { color: inherit; text-decoration: none; }

.legal-toplink { color: #5C7052; }

/* Header with solid background and strong h1 contrast */
.legal-head {
  background: #151C26;
  padding: 64px 0 40px;
  border-bottom: 3px solid #5C7052;
}

.legal-head .legal-inner { text-align: left; }

.legal-head .legal-kicker {
  font-family: "Courier New", monospace;
  letter-spacing: 0.28em;
  color: #5C7052;
  font-size: 13px;
  display: block;
  margin: 0 0 16px;
}

.legal-head h1 {
  color: #F0EBDD;
  font-size: 44px;
  margin: 0 0 14px;
  background: #151C26;
}

.legal-head .legal-issued {
  color: #6F7883;
  font-family: "Courier New", monospace;
  letter-spacing: 0.05em;
  font-size: 13px;
}

.legal-home {
  display: inline-block;
  margin-top: 22px;
  font-family: "Courier New", monospace;
  letter-spacing: 0.04em;
  color: #A9762B;
  border-bottom: 1px solid #A9762B;
  background: #151C26;
}

/* Content wrapper spacing rules:
   any max-width container also carries margin:0 auto and padding:0 24px */
.legal-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}

.legal-main { padding: 44px 0 80px; }

/* Table of contents */
.legal-toc {
  background: #273344;
  border: 1px solid #6F7883;
  padding: 26px 28px;
  margin-bottom: 44px;
  border-left: 6px solid #A9762B;
}

.legal-toc h2 {
  margin: 0 0 14px;
  font-size: 18px;
  color: #A9762B;
  letter-spacing: 0.05em;
}

.legal-toc ol {
  margin: 0;
  padding: 0 0 0 20px;
  column-count: 2;
  column-gap: 40px;
}

.legal-toc li { margin-bottom: 10px; break-inside: avoid; }

.legal-toc a {
  color: #F0EBDD;
  font-size: 15px;
  line-height: 1.5;
}

.legal-toc a:hover { color: #A9762B; }

.legal-toc ol li::marker { color: #5C7052; }

/* Scope isolation: only style sections to reset any inherited banding */
.legal-page .legal-content section {
  background: transparent !important;
}

/* Legal prose body */
.legal-content section {
  margin-bottom: 48px;
  background: transparent;
}

.legal-content section h2[id] {
  font-size: 27px;
  padding-bottom: 10px;
  border-bottom: 1px solid #5C7052;
  scroll-margin-top: 40px;
}

.legal-content h3 {
  font-size: 19px;
  color: #A9762B;
  margin: 24px 0 8px;
}

.legal-content p {
  color: #F0EBDD;
  margin: 0 0 16px;
}

.legal-content ul,
.legal-content ol {
  color: #E4DCC6;
  padding-left: 22px;
  margin: 0 0 16px;
}

.legal-content li { margin-bottom: 9px; color: #E4DCC6; }

.legal-content h2[id]::before,
.legal-toc a::before {
  text-rendering: optimizeLegibility;
}

.legal-content h2[id]:nth-of-type(odd) { border-bottom-color: #5C7052; }

.legal-content .legal-note {
  background: #273344;
  border-left: 6px solid #A9762B;
  padding: 16px 20px;
  color: #E4DCC6;
  margin: 0 0 16px;
}

.legal-back {
  display: inline-block;
  font-family: "Courier New", monospace;
  color: #A9762B;
  border-bottom: 1px solid #A9762B;
  margin-top: 8px;
}

/* Footer band */
.legal-foot {
  background: #151C26;
  padding: 34px 0;
  border-top: 3px solid #5C7052;
}

.legal-foot .legal-inner { text-align: center; }

.legal-foot .legal-company {
  color: #5C7052;
  font-family: Georgia, serif;
  letter-spacing: 0.03em;
  font-weight: bold;
}

.legal-foot .legal-addr,
.legal-foot .legal-crypt {
  color: #6F7883;
  font-family: "Courier New", monospace;
  font-size: 13px;
  margin-top: 6px;
}

.legal-foot p { color: #6F7883; }

.legal-foot .legal-home2 {
  color: #A9762B;
  font-family: "Courier New", monospace;
  font-size: 13px;
  border-bottom: 1px solid #A9762B;
}
.legal-foot .legal-home2:hover { color: #F0EBDD; border-bottom-color: #F0EBDD; }

/* per spec any max-width container needs margin auto + horizontal padding */
@media (max-width: 640px) {
  .legal-toc ol { column-count: 1; }
  .legal-head h1 { font-size: 34px; }
}
