/* ============================================================
   css/legal.css  —  shared stylesheet for the legal pages only.
   Loaded by privacy.html and terms-of-service.html.
   Self-contained: sets its own page background and text colour.
   ============================================================ */

.legal-page{
  margin:0;
  padding:0;
  background:#F1EFE8;
  color:#2C2E2C;
  font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* Scope isolation: only style content that lives in legal .legal-content section */
.legal-page .legal-content section{
  background:transparent;
  box-shadow:none;
  border:none;
}

*{margin:0;padding:0;box-sizing:border-box;}
.legal-page a{color:#2C5E4E;text-decoration:none;}
.legal-page a:hover{color:#74BC9E;text-decoration:underline;}

/* ---------- banner ---------- */
.legal-banner{
  background:#23272A;
  border-bottom:5px solid #74BC9E;
}
.legal-banner .legal-banner-in{
  max-width:920px;
  margin:0 auto;
  padding:26px 24px 22px;
}
.legal-home{
  display:inline-block;
  color:#74BC9E;
  font-weight:700;
  font-size:0.85rem;
  letter-spacing:0.06em;
  margin-bottom:10px;
}
.legal-home:hover{color:#F1EFE8;text-decoration:none;}
.legal-banner h1{
  color:#F1EFE8;
  font-size:2rem;
  font-weight:800;
  letter-spacing:-0.01em;
}
.legal-banner .updated{
  display:block;
  color:#9FA9A3;
  margin-top:8px;
  font-size:0.9rem;
}

/* ---------- content ---------- */
.legal-content{
  max-width:920px;
  margin:0 auto;
  padding:0 24px;
}
.legal-toc{
  background:#E9E2D2;
  border:1px solid #CFCABC;
  border-left:6px solid #74BC9E;
  border-radius:8px;
  margin:28px 0 14px;
  padding:22px 26px;
}
.legal-toc h2{
  font-size:0.78rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#3E4442;
  margin-bottom:12px;
}
.legal-toc ul{list-style:none;}
.legal-toc li{margin:5px 0;}
.legal-toc a{color:#2C2E2C;font-weight:600;display:inline-block;padding:2px 0;}
.legal-toc a:hover{color:#74BC9E;}

.legal-content section{
  padding:26px 0 6px;
}
.legal-content h2{
  color:#2C2E2C;
  font-size:1.4rem;
  font-weight:800;
  margin:26px 0 10px;
}
.legal-content h3{
  color:#3E4442;
  font-size:1.05rem;
  font-weight:700;
  margin:16px 0 6px;
}
.legal-content p{
  color:#333734;
  margin:0 0 12px;
}
.legal-content ul, .legal-content ol{
  margin:0 0 14px 26px;
  color:#333734;
}
.legal-content li{
  margin:6px 0;
}
.legal-content strong{color:#2C2E2C;}

/* company card */
.legal-contact{
  background:#23272A;
  color:#F1EFE8;
  border-radius:8px;
  padding:18px 22px;
  margin:20px 0 8px;
}
.legal-contact strong{color:#74BC9E;}
.legal-contact span{display:block;color:#E9E2D2;margin:2px 0;}

/* ---------- footer ---------- */
.legal-foot{
  background:#23272A;
  margin-top:34px;
}
.legal-foot-in{
  max-width:920px;
  margin:0 auto;
  padding:24px 24px 30px;
  text-align:center;
}
.legal-foot a{
  color:#74BC9E;
  font-weight:700;
  display:inline-block;
  margin-bottom:10px;
}
.legal-foot p{
  color:#8A918C;
  font-size:0.82rem;
  line-height:1.6;
}
.legal-foot .foot-line{display:block;color:#AEB7B1;margin-top:2px;}

/* strong contrast fallback guard */
.legal-content p, .legal-content li{color:#2C2E2C;}
