/* =========================================================================
   BHT Construction llc - legal.css
   Standalone stylesheet for privacy and terms pages (loaded alone).
   ========================================================================= */

:root {
  --paper: #F4F1E9;
  --ink: #22303C;
  --plumb: #B03A2E;
  --plumb-deep: #8E2E24;
  --stake: #2E5F8A;
  --stake-deep: #234B6D;
  --tape: #E7C243;
  --batten: #D8D2C4;
  --charcoal: #2B333B;
  --charcoal-deep: #20272E;
  --cardwhite: #FBFAF6;
}

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

.legal-body {
  background-color: var(--paper);
  color: var(--ink);
  line-height: 1.8;
  font-size: 16px;
  font-family: Georgia, "Times New Roman", Times, serif;
  overflow-x: hidden;
}

.legal-body a {
  color: var(--stake);
  text-decoration: underline;
}

.legal-body a:hover {
  color: var(--plumb);
}

/* ---------- Legal header: solid background, strong h1 contrast ---------- */
.legal-header {
  background-color: var(--charcoal);
  color: #FFFFFF;
  padding: 44px 24px 40px;
  border-top: 4px solid var(--plumb);
}

.legal-header-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
}

.legal-home-link {
  display: inline-block;
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--tape);
  text-decoration: none;
  border-bottom: 2px dotted var(--tape);
  padding-bottom: 2px;
  margin-bottom: 28px;
}

.legal-home-link:hover {
  color: #FFFFFF;
  border-bottom-color: #FFFFFF;
}

.legal-header h1 {
  font-size: 34px;
  line-height: 1.15;
  color: #FFFFFF;
  margin-bottom: 10px;
}

.legal-header p {
  color: #d9ddd6;
  font-size: 16px;
  max-width: 70ch;
}

/* ---------- Shared legal page wrap ---------- */
.legal-page {
  background-color: var(--paper);
  color: var(--ink);
}

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

/* ---------- Table of contents ---------- */
.legal-toc {
  background-color: var(--cardwhite);
  border-left: 4px solid var(--plumb);
  padding: 22px 26px;
  margin: 30px 0 40px;
}

.legal-toc h2 {
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--plumb);
  margin-bottom: 14px;
}

.legal-toc ol {
  list-style: none;
  counter-reset: toc;
}

.legal-toc li {
  counter-increment: toc;
  margin-bottom: 8px;
}

.legal-toc li::before {
  content: counter(toc, decimal-leading-zero) ". ";
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
  color: var(--plumb);
}

.legal-toc a {
  color: var(--stake-deep);
  text-decoration: none;
  border-bottom: 1px dotted var(--stake);
}

.legal-toc a:hover {
  color: var(--plumb);
  border-bottom-color: var(--plumb);
}

/* ---------- Intro / notice deck ---------- */
.legal-intro {
  background-color: var(--batten);
  padding: 24px 26px;
  border: 1px solid #c6bfae;
  margin-bottom: 40px;
}

.legal-intro p {
  color: var(--charcoal-deep);
  margin-bottom: 10px;
}

.legal-intro p:last-child {
  margin-bottom: 0;
}

.addr-line {
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
  font-size: 14px;
  color: var(--ink);
}

/* ---------- Scope isolated content sections (transparent) ---------- */
.legal-content {
  margin-bottom: 20px;
}

.legal-content section {
  background-color: transparent !important;
  margin: 0 0 34px 0;
  padding: 0;
}

.legal-content h2 {
  font-size: 24px;
  color: var(--plumb-deep);
  border-left: 6px solid var(--plumb);
  padding-left: 14px;
  margin: 0 0 14px 0;
  line-height: 1.2;
  padding-top: 4px;
  padding-bottom: 4px;
  scroll-margin-top: 90px;
}

.legal-content h3 {
  font-size: 19px;
  color: var(--ink);
  border-bottom: 2px solid var(--batten);
  padding-bottom: 6px;
  margin: 22px 0 12px 0;
}

.legal-content p {
  color: var(--ink);
  margin-bottom: 14px;
  text-align: justify;
}

.legal-content ul,
.legal-content ol {
  margin: 0 0 16px 26px;
  color: var(--ink);
}

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

.legal-content strong {
  color: var(--charcoal-deep);
}

.legal-content a.back-top {
  display: inline-block;
  margin-top: 16px;
  font-family: "Courier New", Courier, monospace;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--stake);
  text-decoration: none;
}

.legal-content a.back-top:hover {
  color: var(--plumb);
}

/* ---------- Legal footer ---------- */
.legal-footer {
  background-color: var(--batten);
  border-top: 4px solid var(--plumb);
  margin-top: 40px;
  padding: 26px 24px;
}

.legal-footer-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}

.legal-footer a {
  color: var(--charcoal-deep);
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 13px;
  text-decoration: none;
  border-bottom: 2px solid var(--stake);
}

.legal-footer a:hover {
  color: var(--plumb);
  border-bottom-color: var(--plumb);
}

.last-updated {
  margin-top: 16px;
  font-size: 13px;
  color: var(--charcoal-deep);
}

@media (max-width: 620px) {
  .legal-header h1 {
    font-size: 27px;
  }

  .legal-content h2 {
    font-size: 21px;
  }
}
