/* ================================================================
   legal.css — shared stylesheet for privacy.html / terms-of-service.html
   Scoped so it never collides with anything else.
   Chalk Slate palette reused for the legal reading surface.
   These legal pages load ONLY this stylesheet.
   ================================================================ */

figure, ul, ol, blockquote, dl, dd, h1, h2, h3, h4, p{ margin:0; }

body.legal-page{
  font-size: 16px;
  margin: 0;
  background: #EFF0EA;
  color: #2E3230;
  font-family: "Georgia","Times New Roman",Times,serif;
  line-height: 1.72;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.legal-shell{
  font-size: 16px;
}

a{ color:#2E7A16; }
a:hover{ color:#5CAC2E; }

/* ----- header ----- */
.legal-head{
  background: #222822;             /* solid BOARD NIGHT band */
  color:#EFF0EA;
  padding: 42px 0 34px;
  border-bottom:4px solid #5CAC2E;
}
.legal-head .legal-lock{
  max-width: 980px;
  margin:0 auto;
  padding:0 24px;
}
.legal-head .l-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:700;
  color:#EFF0EA;
  text-decoration:none;
  font-size:1.15rem;
  border-bottom:2px solid #5CAC2E;
  padding-bottom:6px;
}
.legal-head .l-brand .dot{ color:#5CAC2E; }
.legal-head .l-brand:hover{ color:#ffffff; }
.legal-head h1{
  color:#FFFFFF;
  font-size: 2.5rem;
  line-height:1.15;
  margin: 22px 0 10px;
  font-weight:800;
  letter-spacing:-0.01em;
}
.legal-head .l-update{
  color:#C9CDBE;
  font-size:0.95rem;
  letter-spacing:0.04em;
}
.legal-head .l-update strong{ color:#5CAC2E; }

/* ---------- table of contents ---------- */
.legal-toc{
  max-width: 980px;
  margin:0 auto;
  padding:0 24px;
}
.legal-toc .toc-card{
  background:#F7F8F2;
  border:1px solid #C9CCC1;
  border-left:6px solid #5CAC2E;
  border-radius: 8px 2px 8px 2px;
  padding:20px 26px 22px;
  margin-top: 26px;
}
.legal-toc h2{
  font-size:1.05rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#2E3230;
  margin:0 0 12px;
  font-weight:800;
}
.legal-toc ol{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px 24px;
  counter-reset: tocitem;
}
.legal-toc ol li{
  counter-increment: tocitem;
}
.legal-toc ol li a{
  color:#33403a;
  font-weight:600;
  text-decoration:none;
  font-size:0.95rem;
  display:inline-block;
  padding:4px 0;
}
.legal-toc ol li a::before{
  content: counter(tocitem) ".";
  color:#5CAC2E;
  font-weight:800;
  margin-right:8px;
}
.legal-toc ol li a:hover{ color:#5CAC2E; text-decoration:underline; }
.legal-toc .backhome-top{
  display:block;
  margin-top: 14px;
  font-size:0.9rem;
}

/* ---------- content column with scope isolation ---------- */
.legal-content{
  max-width: 980px;
  margin:0 auto;
  padding: 8px 24px 0;
}
/* SCOPE-ISOLATION: sections only ever show the paper sheet style here,
   and no inherited band styles bleed in. */
.legal-content section{
  background: transparent !important;
  color:#2E3230 !important;
}
.legal-content section h2{
  font-size:1.5rem;
  font-weight:800;
  color:#2E3230;
  border-bottom:3px solid #5CAC2E;
  display:inline-block;
  margin:40px 0 14px;
  padding-bottom:6px;
}
.legal-content section h3{
  color:#2F3833;
  font-size:1.12rem;
  margin:22px 0 8px;
}
.legal-content section p{
  color:#3A4140;
  margin:0 0 14px;
  max-width: 860px;
}
.legal-content section ul,
.legal-content section ol{
  margin:0 0 16px 22px;
  color:#3A4140;
}
.legal-content section li{
  margin:6px 0;
  max-width: 830px;
}
.legal-content section ul li{
  list-style-type: disc;
}
.legal-content section ol li{
  list-style-type: decimal;
}
.legal-content em.lead-touch{ color:#3F4B46; font-style:italic; }
.legal-content .proof-sheet{
  background:#F7F8F2;
  border:1px solid #D6D9CC;
  border-radius:10px 4px 10px 4px;
  padding:22px 26px;
  margin: 0 0 22px;
  box-shadow: 0 3px 0 #DDE0D2;
}
.legal-content .proof-sheet h2{
  margin-top:0;
  display:block;
  border:none;
  border-left:10px solid #5CAC2E;
  padding-left:14px;
}
.legal-content .xside{
  border-left:4px solid #B4402E;
  background:#F7F8F2;
  padding:14px 18px 2px;
  border-radius:4px;
  margin:10px 0 22px;
}
.legal-content .xside p{ color:#7a5149; }
.legal-content .def-list dt{
  font-weight:800;
  color:#2E3230;
  margin-top:16px;
}
.legal-content .def-list dd{
  color:#3A4140;
  margin:4px 0 0 0;
}

/* footer */
.legal-foot{
  background:#222822;
  color:#C9CDBE;
}
.legal-foot .eraserband{
  height:22px;
  background:#2C322C;
  position:relative;
}
.legal-foot .eraserband::after{
  content:"";
  position:absolute;
  right:0;left:20%;
  top:0;height:12px;
  background:#2C322C;
  filter:blur(6px);
}
.legal-foot .flock{
  max-width: 980px;
  margin:0 auto;
  padding: 24px 24px 30px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px 20px;
}
.legal-foot .floc-left{ font-size:0.9rem; line-height:1.7; }
.legal-foot .floc-left a{ color:#D6DCC9; font-weight:700; text-decoration:none; }
.legal-foot .floc-left a:hover{ color:#5CAC2E; text-decoration:underline; }
.legal-foot .floc-left .cyi{ color:#EfF1E3; font-weight:700;}
.legal-foot .floc-right{ font-size:0.82rem; text-align:right; }
.legal-foot .floc-right a{ color:#C3D9B8; }
.legal-foot .floc-right a:hover{ color:#8AD85A; text-decoration:none;}
.legal-foot .floc-intro{ font-size:0.86rem; }

@media (max-width: 700px){
  .legal-toc ol{ grid-template-columns: 1fr; }
  .legal-head h1{ font-size:2rem; }
  .legal-content, .legal-toc, .legal-head .legal-lock, .legal-foot .flock{
    padding-left:18px;
    padding-right:18px;
  }
  .legal-foot .floc-right{ text-align:left; }
}
