/* ============================================================
   NVC Tech LLC — Legal Pages Shared Stylesheet (legal.css)
   Loaded ONLY by privacy.html and terms-of-service.html.
   Theme colours match the main site palette for brand coherence.
   ============================================================ */

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

html { overflow-x: hidden; }

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

img { max-width: 100%; display: block; }

p, h1, h2, h3, h4 { margin: 0 0 16px; }

/* scope isolation: force every content section transparent so the
   page band backgrounds show through, with high specificity */
.legal-page .legal-content section {
  background: transparent !important;
  color: inherit !important;
}

.legal-wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- legal header (solid band, strong H1 contrast) ---- */
.legal-mast {
  background: #2F6B4F;
  color: #FAF8F0;
  padding: 40px 0 30px;
  border-bottom: 6px solid #24261F;
}
.legal-mast .legal-wrap { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.legal-mast h1 {
  color: #FAF8F0;
  font-size: 40px;
  line-height: 1.1;
  margin: 0 0 8px;
}
.legal-mast .legal-kicker {
  color: #D8CFAF;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 700;
  text-transform: uppercase;
}
.legal-mast .legal-last-updated {
  color: #F1EEE5;
  font-size: 14px;
  margin-top: 8px;
}
.legal-mast a {
  color: #D8CFAF;
  text-decoration: underline;
}

/* ---- document body wrapper ---- */
.legal-page {
  background: #F1EEE5;
  color: #2E2D28;
  padding: 34px 0 20px;
}

/* ---- table of contents ---- */
.legal-toc {
  background: #FAF8F0;
  border: 1px solid #C9C2A8;
  border-left: 6px solid #2F6B4F;
  padding: 22px 26px;
  margin-bottom: 34px;
}
.legal-toc h2 {
  font-size: 18px;
  color: #2E2D28;
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", serif;
}
.legal-toc ol {
  margin: 0;
  padding-left: 20px;
  columns: 2;
  column-gap: 40px;
}
.legal-toc li { margin: 5px 0; break-inside: avoid; }
.legal-toc a {
  color: #2F6B4F;
  font-size: 15px;
}
.legal-toc a:hover { color: #24261F; text-decoration: underline; }
@media (max-width: 680px) {
  .legal-toc ol { columns: 1; }
}

/* ---- content sections ---- */
.legal-content {
  background: transparent;
}
.legal-content section {
  background: transparent;
  padding: 26px 0 6px;
  border-bottom: 1px solid #D8CFAF;
}
.legal-content section:last-child { border-bottom: 0; }
.legal-content h2 {
  font-size: 26px;
  color: #2F6B4F;
  margin: 0 0 12px;
  line-height: 1.2;
  scroll-margin-top: 20px;
}
.legal-content h3 {
  font-size: 19px;
  color: #2E2D28;
  margin: 18px 0 8px;
}
.legal-content p {
  color: #2E2D28;
  margin: 0 0 12px;
}
.legal-content ul,
.legal-content ol {
  margin: 0 0 14px;
  padding-left: 24px;
  color: #2E2D28;
}
.legal-content li { margin: 6px 0; }

/* ---- note / emphasis blocks ---- */
.legalline {
  color: #55584F;
  font-size: 15px;
  margin-top: 26px;
}
.dataline {
  background: #FAF8F0;
  border: 1px solid #D8CFAF;
  border-left: 4px solid #55584F;
  padding: 14px 18px;
  margin: 0 0 12px;
}
.legal-note {
  background: #E7E2D3;
  border: 1px solid #C9C2A8;
  border-left: 5px solid #2F6B4F;
  padding: 16px 18px;
  margin: 16px 0;
  color: #2E2D28;
}

/* ---- footer link home ---- */
.legal-back-row {
  padding: 30px 0 6px;
}
.backhome {
  display: inline-block;
  background: #2F6B4F;
  color: #FAF8F0;
  border: 2px solid #2F6B4F;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 12px 20px;
  border-radius: 3px;
}
.backhome:hover { background: #24261F; border-color: #24261F; color: #FAF8F0; }

/* ---- legal footer strip ---- */
.legal-base {
  background: #24261F;
  color: #FAF8F0;
  padding: 26px 0;
  margin-top: 22px;
}
.legal-base .legal-wrap { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.legal-base .companyline {
  font-weight: 700;
  letter-spacing: 1px;
}
.legal-base p { color: #D8CFAF; font-size: 14px; margin: 4px 0; }
.legal-base .bannerlink {
  color: #D8CFAF;
  text-decoration: underline;
}
