/* ============================================================
   AMBIANCE LEGAL — shared stylesheet for privacy.html and
   terms-of-service.html (light facial-suite theme)
   Palette: background #FBF7F2 · headings deep rose #96543F
            body #4A423B · hairlines #EAE0D3 · card #FFFFFF
   ============================================================ */

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

html { background-color: #FBF7F2; }

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

.legal-shell {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px 60px;
}

/* ============ HEADER (block, solid, strong contrast type) ============ */
.legal-header {
  background-color: #322B26;
  padding: 46px 40px;
  margin: 24px 0 36px;
  border-left: 6px solid #C4785E;
}

.legal-brand {
  display: inline-block;
  font-weight: bold;
  letter-spacing: 0.28em;
  font-size: 15px;
  color: #F7EFE6;
  margin-bottom: 26px;
}

.legal-brand:hover { color: #E9DDCE; }

.legal-header h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: normal;
  font-size: 42px;
  line-height: 1.1;
  color: #FFFFFF;
  margin-bottom: 14px;
}

.legal-header .legal-lede {
  color: #E9DDCE;
  font-size: 17px;
  max-width: 44rem;
}

/* table of contents uses class nav, isolated from header rules */
.legal-page nav.toc {
  background-color: #FFFFFF;
  border: 1px solid #EAE0D3;
  border-radius: 8px;
  padding: 24px 30px 26px;
  margin-bottom: 40px;
}

.legal-page nav.toc h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: normal;
  font-size: 20px;
  color: #96543F;
  margin-bottom: 14px;
}

.legal-page nav.toc ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 28px;
  padding-left: 20px;
  color: #4A423B;
}

.legal-page nav.toc li {
  font-size: 15px;
  line-height: 1.8;
}

.legal-page nav.toc a { color: #96543F; }

.legal-page nav.toc a:hover { color: #322B26; }

/* ============ CHECKBOX convenience (absent) & scope safety ============ */
.legal-page .legal-content section {
  background-color: transparent !important;
}

/* ============ BODY CONTENT ============ */
.legal-content {
  display: block;
}

.legal-content section {
  margin-bottom: 34px;
}

.legal-content .container,
.legal-content section {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}

.legal-content h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: normal;
  font-size: 30px;
  line-height: 1.2;
  color: #96543F;
  margin: 40px 0 14px;
  scroll-margin-top: 24px;
}

.legal-content h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: normal;
  font-size: 22px;
  color: #96543F;
  margin: 26px 0 10px;
}

.legal-content p {
  color: #4A423B;
  font-size: 17px;
  line-height: 1.9;
  margin-bottom: 18px;
}

.legal-content ul,
.legal-content ol {
  color: #4A423B;
  font-size: 17px;
  line-height: 1.9;
  padding-left: 26px;
  margin: 0 auto 18px;
  max-width: 100%;
}

.legal-content li { margin-bottom: 8px; }

.legal-content strong { color: #322B26; }

/* footer of legal pages */
.legal-footer {
  border-top: 1px solid #EAE0D3;
  margin-top: 20px;
  padding: 28px 0 12px;
}

.legal-footer a {
  color: #96543F;
  font-weight: bold;
  font-size: 17px;
}

.legal-footer a:hover { color: #322B26; }

.legal-footer p {
  color: #4A423B;
  font-size: 15px;
  line-height: 1.8;
  margin-top: 12px;
}

@media (max-width: 640px) {
  .legal-header { padding: 32px 22px; }
  .legal-header h1 { font-size: 32px; }
  .legal-page nav.toc ol { grid-template-columns: 1fr; }
  .legal-content h2 { font-size: 26px; }
  .legal-content p, .legal-content ul, .legal-content ol { font-size: 16px; }
}
