/* ============ BEIYUAN legal stylesheet (privacy + terms) ============ */
/* LIGHT greenhouse-dawn theme. Loaded ONLY by /privacy and /terms-of-service. */

* { margin: 0; padding: 0; box-sizing: border-box; }

.legal-page {
  background-color: #F8F6F0;
  color: #3D423E;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
}

/* Scope isolation: NEVER style homepage header/footer backgrounds via legal rules */
.legal-page .legal-content section { background-color: transparent !important; }

.legal-body { width: 100%; }

/* ============ LEGAL HEADER ============ */
.legal-header {
  background-color: #3F7A4E;
  padding: 46px 24px 40px;
  text-align: center;
}
.legal-header .brand {
  font-size: 16px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D9EBD2;
  text-decoration: none;
}
.legal-header h1 {
  font-size: 40px;
  color: #FFFFFF;
  margin: 14px 0 6px;
}
.legal-header .updated {
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #D9EBD2;
  margin-top: 10px;
}

/* ============ CONTENT CONTAINER ============ */
.legal-container {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ============ TABLE OF CONTENTS ============ */
.legal-toc {
  background-color: #D9EBD2;
  border: 1px solid #E2DFD5;
  padding: 28px 34px;
  margin: 44px 0;
}
.legal-toc h2 { font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: #3F5F45; margin-bottom: 14px; }
.legal-toc ol { margin-left: 22px; }
.legal-toc li { margin-bottom: 7px; }
.legal-toc a { color: #3F5F45; text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; color: #C97B4E; }
.legal-toc a:focus { outline: 2px solid #C97B4E; }

/* ============ SECTION CONTENT ============ */
.legal-content .container {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}
.legal-content .legal-h2 {
  font-size: 26px;
  color: #3F5F45;
  margin: 40px 0 12px;
  padding-top: 8px;
}
.legal-content .legal-h3 {
  font-size: 19px;
  color: #3F5F45;
  margin: 24px 0 8px;
}
.legal-content p { margin: 0 0 16px; }
.legal-content ul, .legal-content ol { margin: 0 0 16px 24px; }
.legal-content li { margin-bottom: 8px; }
.legal-content li strong { color: #3F5F45; }
.legal-content a { color: #3F7A4E; }
.legal-intro {
  font-size: 18px;
  color: #6B4F3A;
  margin-bottom: 0;
  padding: 8px 0 0;
}
.legal-roster { background-color: #FFFFFF; border: 1px solid #E2DFD5; padding: 22px 26px; margin: 18px 0; }
.legal-roster p { margin-bottom: 4px; }
.legal-roster .org { font-weight: 700; color: #3F5F45; }

/* ============ FOOTER ============ */
.legal-footer {
  margin-top: 56px;
  background-color: #22392B;
  padding: 36px 24px;
  color: #D9EBD2;
}
.legal-footer .legal-container { text-align: center; }
.legal-footer .legal-container a { color: #D9EBD2; text-decoration: underline; }
.legal-footer .legal-container a:hover { color: #FFFFFF; }
.legal-footer .updated { font-size: 13px; margin-bottom: 10px; letter-spacing: 0.04em; }

/* ============ RESPONSIVE ============ */
@media (max-width: 720px) {
  .legal-header h1 { font-size: 30px; }
  .legal-content .legal-h2 { font-size: 23px; }
}
