/* legal.css — shared stylesheet for privacy.html and terms-of-service.html.
Loaded ONLY by the legal pages; defines its own body background and text colors. */

:root {
  --felt:#1E2420;
  --quoted:#EFE8D6;
  --brass:#C9A24B;
  --slate:#2E3630;
  --cream:#F5F0E1;
  --floor:#151A16;
}

*, *::before, *::after { box-sizing:border-box; }
html, body { margin:0; padding:0; }

body {
  font-size:16px;
  line-height:1.7;
  background-color:var(--floor);
  color:var(--quoted);
  font-family:Georgia, "Times New Roman", serif;
  overflow-x:hidden;
  min-height:100vh;
}
a { color:#E8D9A8; text-decoration:underline; }
img { max-width:100%; }

/* scope isolation for legal content sections */
.legal-page .legal-content section {
  background-color:transparent !important;
}

/* ============ LEGAL HEADER ============ */
.legal-header {
  background-color:var(--felt);
  border-bottom:3px solid var(--brass);
  text-align:center;
  padding:34px 0 26px;
}
.legal-header-inner { max-width:820px; margin:0 auto; padding:0 24px; }
.legal-header h1 {
  margin:0 0 6px;
  font-size:34px;
  color:#FFFFFF;
  font-weight:bold;
  letter-spacing:1px;
}
.legal-header .brandline {
  display:block;
  margin:0 0 4px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  letter-spacing:4px;
  color:var(--brass);
  text-transform:uppercase;
}
.legal-header .updated {
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  color:#D9DBD0;
}

/* ============ LAYOUT ============ */
.legal-wrap {
  max-width:960px;
  margin:0 auto;
  padding:44px 24px 0;
}

/* table of contents */
.legal-toc {
  background-color:var(--slate);
  border:1px solid var(--brass);
  border-radius:6px;
  padding:24px 28px;
  margin-bottom:40px;
}
.legal-toc h2 {
  margin:0 0 14px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  letter-spacing:2px;
  color:var(--brass);
  text-transform:uppercase;
}
.legal-toc ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 30px;
}
.legal-toc li { margin:0; }
.legal-toc a {
  color:#E8D9A8;
  font-size:15px;
  text-decoration:none;
  display:inline-block;
}
.legal-toc a:hover { color:#FFFFFF; text-decoration:underline; }

/* content container with max-width must have margin and padding */
.legal-content {
  max-width:920px;
  margin:0 auto;
  padding:0 24px;
}
.legal-content-wrap {
  max-width:920px;
  margin:0 auto;
  padding:0 24px;
}
.legal-content section {
  max-width:900px;
  margin:0 auto 34px;
  padding:0;
}
.legal-content h2 {
  max-width:900px;
  margin:0 auto 12px;
  padding-top:14px;
  scroll-margin-top:20px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:22px;
  color:var(--brass);
  font-weight:bold;
  letter-spacing:0.5px;
  border-bottom:2px solid #444B44;
  padding-bottom:8px;
}
.legal-content p {
  margin:0 0 16px;
  color:#E9E7DE;
  font-size:16.5px;
}
.legal-content ul, .legal-content ol {
  color:#E9E7DE;
  margin:0 0 16px;
  padding-left:24px;
}
.legal-content li { margin-bottom:8px; }
.legal-content strong {
  color:#FFFFFF;
  font-weight:bold;
}

/* intro block after toc */
.legal-intro {
  max-width:900px;
  margin:0 auto 36px;
  padding:0;
  background-color:#1A211C;
  border-left:4px solid var(--brass);
  border-radius:4px;
  padding:20px 24px;
}
.legal-intro p { margin:0 0 12px; color:#E9E7DE; }
.legal-intro p:last-child { margin-bottom:0; }

/* ============ LEGAL FOOTER ============ */
.legal-footer {
  background-color:var(--felt);
  border-top:3px solid var(--brass);
  margin-top:46px;
  padding:26px 24px 26px;
  text-align:center;
  position:relative;
  z-index:1;
}
.legal-footer p { margin:0 0 8px; color:#C9CBAF; font-size:15px; }
.legal-footer a { color:var(--brass); text-decoration:none; }
.legal-footer a:hover { text-decoration:underline; }
.legal-footer .firmline {
  color:#FFFFFF;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:bold;
  letter-spacing:1px;
  font-size:16px;
}

.backlink {
  display:inline-block;
  margin-bottom:14px;
  font-family:Arial, Helvetica, sans-serif;
  letter-spacing:1px;
}

/* reveal safety on legal pages */
.legal-page .js-reveal { opacity:1; transform:none; }

@media (max-width: 720px) {
  .legal-toc ul { grid-template-columns:1fr; }
  .legal-header h1 { font-size:27px; }
}
