*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #2e3138;
  background-color: #f5f1e6;
  font-family: Georgia, "Times New Roman", Times, serif;
  overflow-x: hidden;
}

.legal-page a {
  color: #8e2f4c;
}

.legal-page .legal-header {
  background: #565b63;
  color: #f5f1e6;
  padding: 30px 0;
}

.legal-header .brand-line {
  color: #c8912f;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 1.3rem;
  text-decoration: none;
}

.legal-header .brand-line:hover {
  color: #f5f1e6;
}

.legal-header h1 {
  color: #f5f1e6;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 2.6rem;
  margin: 14px 0 8px;
  line-height: 1.1;
}

.legal-header .ledger {
  color: #ede6d4;
  max-width: 62ch;
  margin: 0;
}

.legal-rule {
  border: 0;
  border-top: 2px solid #57a08f;
  margin: 26px 0;
}

.legal-page .legal-container {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}

.legal-toc {
  background: #ede6d4;
  border: 2px solid #565b63;
  padding: 20px 24px;
  margin: 40px 0;
}

.legal-toc h2 {
  color: #8e2f4c;
  font-family: Georgia, "Times New Roman", Times, serif;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1rem;
}

.legal-toc ol a {
  text-decoration: none;
}

.legal-toc ol a:hover {
  color: #57a08f;
}

.legal-page .legal-intro {
  max-width: 76ch;
  color: #2e3138;
}

.legal-page .legal-body {
  padding: 20px 0 60px;
}

/* Scope isolation: legal content sections must stay transparent and defined here. */
.legal-page .legal-content section {
  background: transparent !important;
  color: #2e3138;
}

.legal-page .legal-content {
  color: #2e3138;
}

.legal-page .legal-content h2 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.6rem;
  margin: 40px 0 12px;
  color: #8e2f4c;
  padding-top: 14px;
  border-top: 2px solid #57a08f;
}

.legal-page .legal-content h3 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.2rem;
  color: #2e3138;
  margin: 22px 0 8px;
}

.legal-page .legal-content p,
.legal-page .legal-content li {
  color: #2e3138;
  max-width: 76ch;
}

.legal-page .legal-content ul,
.legal-page .legal-content ol {
  padding-left: 24px;
}

.legal-page .legal-address {
  border: 2px solid #57a08f;
  background: #ede6d4;
  padding: 16px 20px;
  margin: 20px 0;
}

.legal-page .legal-footer {
  background: #2e3138;
  color: #ede6d4;
  padding: 40px 0 20px;
}

.legal-footer .brand-mark {
  color: #c8912f;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1rem;
  display: block;
  margin-bottom: 8px;
}

.legal-footer .foot-link {
  display: inline-block;
  color: #c8912f;
  text-decoration: none;
  font-weight: 700;
  margin: 10px 0;
}

.legal-footer .foot-link:hover {
  color: #f5f1e6;
}

.legal-footer .footnote {
  color: #a4a8ae;
  font-size: 0.9rem;
  border-top: 2px solid #565b63;
  padding-top: 16px;
  margin-top: 18px;
}

.legal-footer .foot-note-strong {
  color: #ede6d4;
}

@media (max-width: 640px) {
  .legal-header h1 {
    font-size: 2rem;
  }
}
