:root{
  --legal-body:#F3F6F9;
  --legal-text:#2A323C;
  --legal-panel:#FFFFFF;
  --legal-accent:#D98E2B;
  --legal-accent-dark:#9C6A24;
  --legal-muted:#52606D;
  --legal-hairline:#D8DEE6;
}

html,body{margin:0;padding:0;}

body{
  background:#0B0E13;
  color:#EDF2F7;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.85;
  overflow-x:hidden;
}

.legal-page{background:#0B0E13;}

/* SCOPE ISOLATION: only content sections inside .legal-page .legal-content section */
.legal-page .legal-content section{
  background:transparent !important;
  color:#D9E0E8;
}

/* SHARED LAYOUT WRAPPERS */
.legal-wrap{
  max-width:1080px;
  margin:0 auto;
  padding:0 24px;
}

/* LEGAL HEADER (solid) */
.legal-nav{
  background:#10141B;
  border-bottom:1px solid #27303B;
}
.legal-nav-inner{
  max-width:1080px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  min-height:70px;
}
.legal-nav h1{
  font-size:1.5rem;
  color:#D98E2B;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:0;
}
.legal-nav-links{display:flex;gap:16px;flex-wrap:wrap;list-style:none;padding:0;margin:0;}
.legal-nav-links a{
  color:#A3ABB4;
  text-decoration:none;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.85rem;
  letter-spacing:1px;
}
.legal-nav-links a:hover{color:#D98E2B;}

.legal-titleband{
  background:#10141B;
  border-bottom:1px solid #27303B;
  padding:56px 0 40px;
}
.legal-titleband h1{
  margin:0 0 8px;
  font-size:2.3rem;
  line-height:1.2;
  color:#EDF1F4;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:.5px;
}
.legal-titleband .updated{
  color:#A3ABB4;
  font-size:.9rem;
  margin:0;
}
.legal-titleband .band-line{
  height:5px;
  width:70px;
  margin-top:16px;
  background:#D98E2B;
}

/* CONTENT COLUMN */
.legal-content{
  max-width:1080px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:240px 1fr;
  gap:0 46px;
  padding-top:40px;
}

.legal-toc{
  position:sticky;
  top:24px;
  align-self:start;
}
.legal-toc h2{
  font-size:.8rem;
  color:#D98E2B;
  letter-spacing:2px;
  text-transform:uppercase;
  font-family:Arial,Helvetica,sans-serif;
  margin:0 0 14px;
}
.legal-toc ol{
  margin:0;
  padding:0;
  list-style:none;
}
.legal-toc li{margin-bottom:8px;}
.legal-toc a{
  color:#A3ABB4;
  text-decoration:none;
  font-size:.9rem;
  line-height:1.5;
  font-family:Arial,Helvetica,sans-serif;
}
.legal-toc a:hover{color:#D98E2B;}

/* SECTIONS only get transparent bg (scope rule above); content text here */
.legal-section{
  padding:8px 0;
  margin:0 0 14px;
}
.legal-section h2{
  font-size:1.5rem;
  color:#EDF1F4;
  font-family:Arial,Helvetica,sans-serif;
  margin:0 0 8px;
  padding-top:0;
  letter-spacing:.5px;
}
.legal-section .sec-rule{
  height:2px;
  width:42px;
  background:#27303B;
  margin:0 0 16px;
}
.legal-section h2{padding-top:10px;border-top:1px solid #1c232d;margin-top:30px;}
.legal-section:first-of-type h2{border-top:none;margin-top:0;}
.legal-section p{margin:0 0 14px;}
.legal-section ul,.legal-section ol{margin:0 0 16px 22px;}
.legal-section li{margin-bottom:8px;}

/* STRONG CONTRAST for legal body text */
.legal-content section p,
.legal-content section li{
  color:#D9E0E8;
}

/* BACK LINK */
.legal-back{
  display:block;
  margin:44px 0 60px;
  color:#D98E2B;
  text-decoration:none;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  letter-spacing:.5px;
}
.legal-back:hover{color:#f0f4f8;}

/* note for keeper */
.legal-scope-note{display:none;}

/* LEGAL FOOTER */
.legal-foot{
  background:#07090D;
  border-top:1px solid #27303B;
}
.legal-foot-inner{
  max-width:1080px;
  margin:0 auto;
  padding:26px 24px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:space-between;
  color:#A3ABB4;
  font-size:.85rem;
}
.legal-foot-inner a{color:#D98E2B;text-decoration:none;}
.legal-foot-inner a:hover{color:#EDF1F4;}

/* company block used inline in prose */
.company-name{color:#EDF1F4;font-style:normal;}
.dev-credit{color:#C9A07A;font-style:normal;}

/* ID anchors offset */
h2[id]{scroll-margin-top:90px;}

@media(max-width:820px){
  .legal-content{grid-template-columns:1fr;padding-top:24px;}
  .legal-toc{position:static;margin-bottom:8px;}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
}
