/* ============================================================
   LEGAL PAGES stylesheet  —  cdsarhold.lat
   Loaded ONLY by privacy.html and terms-of-service.html
   (alongside their own page-level sheets). Strong contrast,
   opaque surfaces, chromium-green accent on stage-grey paper.
   ============================================================ */

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-size: 16px;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.7;
  color: #23262A;
  background-color: #F1F2F0;
  overflow-x: hidden;
}

* { box-sizing: border-box; }

a { color: #2E9E4F; text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4 {
  font-family: Verdana, Geneva, sans-serif;
  line-height: 1.25;
  color: #23262A;
  margin: 0 0 0.6em;
}

/* ---- scope-isolation: content sections stay transparent so that any
       host-level section background can never leak into legal text ---- */
.legal-page .legal-content section {
  background: transparent !important;
  padding: 0;
  border: 0;
}

.legal-page .legal-header-inner a { color: #2E9E4F; }

/* solid header bar with strong h1 contrast */
.legalhdr {
  background-color: #2B2E33;
  color: #F1F2F0;
  position: sticky;
  top: 0;
  z-index: 20;
}

.legalhdr .bar {
  max-width: 980px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.legalhdr .doclabel {
  color: #2E9E4F;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.legalhdr a.home-link {
  color: #F1F2F0;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  border: 2px solid #2E9E4F;
  padding: 8px 14px;
  display: inline-block;
}
.legalhdr a.home-link:hover { text-decoration: none; color: #2E9E4F; }

/* page heading block */
.legalhero {
  background-color: #E4E6E2;
  border-bottom: 6px solid #2E9E4F;
}

.legalhero .headwrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 46px 24px 40px;
}

.legalhero .eyebrow2 {
  font-family: Verdana, Geneva, sans-serif;
  color: #2E9E4F;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: block;
  margin-bottom: 10px;
}

.legalhero .title-line h1 {
  font-size: 2.7rem;
  margin: 0 0 14px;
  line-height: 1.1;
}

.legalsubfont {
  color: #3a3f45;
}

/* toc strip */
.tocwrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 28px 24px 8px;
}

.tocbox {
  background-color: #E4E6E2;
  border-left: 8px solid #2E9E4F;
  padding: 22px 26px;
}

.tocbox h3 {
  font-size: 1.15rem;
  color: #2E9E4F;
  margin-top: 0;
  letter-spacing: 0.06em;
}

.toclist {
  list-style: none;
  margin: 0 0 0 2px;
  padding: 0;
  columns: 2;
  column-gap: 30px;
}

.toclist li { margin: 0 0 8px; break-inside: avoid; }

.toclist a { color: #23262A; font-family: Verdana, Geneva, sans-serif; font-size: 0.9rem; }
.toclist a:hover { color: #2E9E4F; text-decoration: none; }

/* main legal body content — cards, but isolation rule above zeroes their bg */
.legal-content {
  max-width: 980px;
  margin: 0 auto;
  padding: 34px 24px 8px;
}

/* sections render transparent (isolation). The .lgcard inside carries the opaque deck-plate design. */
.legal-content section {
  margin: 0 0 34px;
  scroll-margin-top: 100px;
}

.legal-content .lgcard {
  background-color: #E4E6E2;
  border-left: 6px solid #2E9E4F;
  padding: 42px 46px;
}

.legal-content h2 {
  font-size: 1.6rem;
  border-bottom: 2px solid #C9B892;
  padding-bottom: 10px;
  margin-bottom: 18px;
  color: #23262A;
  scroll-margin-top: 110px;
}

.legal-content h3 { color: #35554a; margin-top: 22px; }

.legal-content p { margin: 0 0 16px; color: #2e3135; }

.legal-content ul, .legal-content ol { margin: 0 0 18px 22px; padding: 0; color: #2e3135; }

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

.legal-content strong { color: #23262A; }

.legal-content a { color: #2E9E4F; font-weight: 700; }

.legal-content .leadp {
  font-size: 1.12rem;
  color: #23262A;
}

/* address card */
.orgcard {
  background-color: #2B2E33;
  color: #E4E6E2;
  width: 100%;
  margin: 20px 0 26px;
  padding: 26px 30px;
  font-family: Verdana, Geneva, sans-serif;
}

.orgcard h4 { color: #2E9E4F; letter-spacing: 0.06em; font-size: 1rem; margin: 0 0 14px; }

.orgcard p { margin: 0 0 6px; color: #E4E6E2; line-height: 1.6; }

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

/* back-to-top small link */
.toclink-top { font-family: Verdana, Geneva, sans-serif; font-size: 0.85rem; }

/* footer back to homepage */
.legalfoot {
  background-color: #2B2E33;
  margin-top: 20px;
}

.legalfoot .fwrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 24px 46px;
  text-align: center;
}

.legalfoot .fmotto {
  font-family: Verdana, Geneva, sans-serif;
  color: #2E9E4F;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.8rem;
  margin: 0 0 16px;
}

.legalfoot .homebtn {
  display: inline-block;
  background-color: #2E9E4F;
  color: #F1F2F0;
  font-family: Verdana, Geneva, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 22px;
  margin-bottom: 18px;
}
.legalfoot .homebtn:hover { text-decoration: none; background-color: #1f7a39; }

.legalfoot .contactstrip { color: #E4E6E2; font-family: Verdana, Geneva, sans-serif; font-size: 0.9rem; line-height: 1.9; }

.legalfoot .contactstrip a { color: #2E9E4F; }

.legalfoot .copyz { color: #2E9E4F; font-family: Verdana, Geneva, sans-serif; font-size: 0.8rem; margin-top: 14px; }

/* mobile tidy */
@media (max-width: 640px) {
  .toclist { columns: 1; }
  .legal-content .lgcard { padding: 26px 22px; }
  .legalhero .title-line h1 { font-size: 2rem; }
}

html { scroll-padding-top: 80px; }
