*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Georgia","Times New Roman",serif;
  font-size:16px;
  line-height:1.7;
  background-color:#F6F1E4;
  color:#4A4560;
  overflow-x:hidden;
}
p{margin:0 0 1.2em}
a{color:#6A4E8E;text-decoration:none}
a:hover{text-decoration:underline}

/* default visible scroll reveal safe fallback */
.fade-up{opacity:1;transform:none}

/* media-scoped body content only backgrounds forced transparent */
.legal-page .legal-content section{background-color:transparent !important}

/* ---- legal header ---- */
.legal-header{
  background-color:#37324C;
  border-bottom:4px solid #B98C3A;
  position:relative;
}
.legal-header .barstrip{
  height:14px;
  background:repeating-linear-gradient(90deg,transparent 0 46px,#6A4E8E 46px 52px,transparent 52px 90px);
}
.legal-header .inner{
  max-width:1000px;
  margin:0 auto;
  padding:30px 24px 22px;
}
.legal-header .home-link{
  display:inline-block;
  color:#C9C2D8;
  font-size:13px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.legal-header .home-link::before{content:"\2190  ";color:#6A4E8E}
.legal-header h1{
  margin:0;
  font-size:36px;
  color:#FCF9F0;
  line-height:1.15;
}
.legal-header .meta{
  margin:8px 0 0;
  color:#C9C2D8;
  font-size:14px;
}
.legal-header .meta span{color:#B98C3A}

/* ---- toc + content grid ---- */
.legal-layout{
  max-width:1000px;
  margin:0 auto;
  padding:34px 24px 20px;
  display:grid;
  grid-template-columns:1fr 2.2fr;
  gap:34px;
  align-items:start;
}
.toc{
  position:sticky;
  top:20px;
  background:#FCF9F0;
  border:1px solid #454060;
  padding:18px 20px;
}
.toc h2{
  margin:0 0 12px;
  font-size:15px;
  color:#2C2A44;
  text-transform:uppercase;
  letter-spacing:0.08em;
  border-bottom:2px solid #B98C3A;
  padding-bottom:6px;
}
.toc ol{margin:0;padding-left:0;list-style:none;counter-reset:toc}
.toc li{margin:0 0 6px;counter-increment:toc}
.toc li a{
  color:#2C2A44;
  font-size:14px;
  display:flex;
  gap:9px;
  line-height:1.35;
}
.toc li a::before{
  content:counter(toc,decimal-leading-zero);
  color:#6A4E8E;
  font-size:12px;
  flex:0 0 auto;
}
.toc li a:hover{color:#6A4E8E;text-decoration:none}

.legal-content h2{
  font-size:26px;
  color:#6A4E8E;
  border-bottom:2px solid #B98C3A;
  padding-bottom:8px;
  margin:0 0 16px;
  padding-top:6px;
}
.legal-content h3{font-size:20px;color:#2C2A44;margin:24px 0 8px}
.legal-content h2[id]{scroll-margin-top:18px}
.legal-content section{margin:0 0 26px}
.legal-content ul{margin:0 0 1.2em}
.legal-content li{margin-bottom:0.5em}
.updated{font-size:13px;color:#6A4E8E;font-weight:bold}

/* ---- legal footer ---- */
.legal-footer{
  background-color:#1B1929;
  margin-top:6px;
}
.legal-footer .tophedge{height:6px;background:#B98C3A}
.legal-footer .inner{
  max-width:1000px;
  margin:0 auto;
  padding:28px 24px 22px;
  text-align:center;
  position:relative;
  z-index:1;
}
.legal-footer p{color:#C9C2D8;font-size:14px;margin:6px 0}
.legal-footer p strong{color:#FCF9F0}
.legal-footer a{color:#B98C3A}
.legal-footer .navlinks a{margin:0 12px;color:#C9C2D8}
.legal-footer .navlinks a:hover{color:#FCF9F0;text-decoration:none}
.legal-footer .contactlinks{color:#6A4E8E}

@media(max-width:820px){
  .legal-layout{grid-template-columns:1fr;padding-top:22px}
  .toc{position:static;margin-bottom:14px}
  .legal-header h1{font-size:29px}
}
