/* legal.css -- shared legal styling for privacy.html and terms-of-service.html */
:root{
  --legal-bg:#0F1216;
  --legal-panel:#1A2028;
  --legal-paper:#ECF0F4;
  --legal-body:#CBD2DA;
  --legal-accent:#3F8F5F;
  --legal-accent-bright:#5BB281;
  --legal-bar:#12151A;
  --legal-muted:#9AA4AE;
  --legal-line:#2A323C;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background-color:var(--legal-bg);
  color:var(--legal-body);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.85;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

.legal-page a{color:var(--legal-accent-bright);text-decoration:none;}
.legal-page a:hover{text-decoration:underline;color:var(--legal-paper);}
.legal-page h1,.legal-page h2,.legal-page h3,.legal-page h4{color:var(--legal-paper);line-height:1.3;}

/* scope isolation -- only style content inside .legal-page .legal-content section */
.legal-page .legal-content section{
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* solid legal header with strong h1 contrast */
.legal-header{
  background-color:var(--legal-bar);
  border-bottom:1px solid var(--legal-line);
  padding:0;
}
.legal-header .legal-headinner{
  max-width:980px;
  margin:0 auto;
  padding:44px 24px 34px;
}
.legal-header .kicker{
  color:var(--legal-accent-bright);
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.legal-header h1{
  font-size:40px;
  color:var(--legal-paper);
  margin:10px 0 6px;
}
.legal-header .lede{
  color:var(--legal-body);
  font-size:17px;
  max-width:720px;
}
.legal-header .orgline{color:var(--legal-muted);font-size:14px;margin-top:8px;}

/* back + toc */
.legal-back{
  background-color:var(--legal-bg);
  padding:22px 0 6px;
}
.legal-back .innerlink{
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  display:inline-block;
}
.toc-outer{
  max-width:980px;
  margin:0 auto;
  padding:26px 24px;
}
.toc{
  background-color:var(--legal-panel);
  border:1px solid var(--legal-line);
  border-left:5px solid var(--legal-accent);
  border-radius:8px;
  padding:22px 26px;
}
.toc h2{
  font-size:22px;
  color:var(--legal-accent-bright);
  margin:0 0 12px;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:.5px;
}
.toc ol{margin:0;padding-left:22px;columns:2;column-gap:40px;}
.toc li{margin-bottom:7px;}
.toc a{color:var(--legal-body);}
.toc a:hover{color:var(--legal-accent-bright);}
@media(max-width:600px){.toc ol{columns:1;}}


/* content container -- max-width must pair with margin auto + padding */
.legal-content{
  max-width:980px;
  margin:0 auto;
  padding:24px;
}
.legal-content section{
  margin-bottom:38px;
}
.legal-content h2{
  font-size:27px;
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:2px solid var(--legal-accent);
  display:inline-block;
}
.legal-content h3{
  font-size:20px;
  margin:26px 0 8px;
  color:var(--legal-paper);
}
.legal-content h4{
  font-size:17px;
  margin:20px 0 6px;
}
.legal-content p{margin:10px 0;}
.legal-content ul{margin:10px 0 10px 22px;}
.legal-content li{margin:6px 0;}
.legal-content strong{color:var(--legal-paper);}
.legal-content em{color:var(--legal-paper);}
.legal-dtline{
  background-color:var(--legal-panel);
  border:1px solid var(--legal-line);
  border-radius:8px;
  padding:12px 16px;
  margin:18px 0;
  font-size:15px;
}
.legal-dtline strong{color:var(--legal-accent-bright);}

/* table helper */
.legal-content table{width:100%;border-collapse:collapse;margin:16px 0;}
.legal-content th,.legal-content td{border:1px solid var(--legal-line);padding:10px 12px;text-align:left;font-size:15px;}
.legal-content th{background-color:var(--legal-panel);color:var(--legal-accent-bright);font-family:Arial,Helvetica,sans-serif;}

/* footer */
.legal-footer{
  background-color:var(--legal-bar);
  border-top:1px solid var(--legal-line);
  margin-top:10px;
  padding:34px 0 0;
}
.legal-footer .legal-footinner{
  max-width:980px;
  margin:0 auto;
  padding:0 24px 26px;
}
.legal-footer p{color:var(--legal-muted);font-size:15px;margin:6px 0;}
.legal-footer .addrbox{padding-bottom:16px;}
.legal-footer a{color:var(--legal-accent-bright);}
.legal-footnav{
  border-top:1px solid var(--legal-line);
  margin-top:8px;
  padding-top:18px;
}
.legal-footnav a{display:inline-block;color:var(--legal-body);margin-right:24px;font-family:Arial,Helvetica,sans-serif;font-size:14px;}
.legal-footnav a:hover{color:var(--legal-paper);}

.bottomreset{
  max-width:980px;
  margin:0 auto;
  padding:0 24px;
}
.cleanend{padding-bottom:56px;}
