:root{
  --ivory-silk:#FAF6EF;
  --espresso:#2B211A;
  --body-ink:#3A2E24;
  --champagne-rose:#C48A6A;
  --champagne-rose-deep:#A96F52;
  --champagne-rose-bright:#E8B99A;
  --bronze-ink:#5C4632;
  --taupe:#8A7B6C;
  --white:#FFFFFF;
  --champagne-tint:#F2E7D8;
  --emerald-deep:#2F6B54;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

.legal-page{
  font-size:16px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  background-color:var(--ivory-silk);
  color:var(--espresso);
  line-height:1.7;
  overflow-x:hidden;
}

/* ============ LEGAL HEADER (div / header only, never a section) ============ */
.legal-header{
  background-color:var(--bronze-ink);
  padding:58px 24px 50px;
  border-bottom:6px solid var(--champagne-rose);
}
.legal-header-inner{max-width:880px;margin:0 auto;}
.legal-brand{
  color:var(--champagne-rose-bright);
  font-family:Georgia,serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:3.5px;
  text-transform:uppercase;
  margin-bottom:16px;
}
.legal-header h1{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--white);
  font-size:42px;
  font-weight:700;
  margin-bottom:12px;
  line-height:1.15;
}
.legal-updated{color:var(--champagne-tint);font-size:14.5px;letter-spacing:.4px;}

/* ============ CONTENT ============ */
.legal-content{padding:50px 0 74px;}
.legal-content .container{
  max-width:880px;
  margin:0 auto;
  padding:0 24px;
}
.legal-intro{
  font-size:16.5px;
  color:var(--body-ink);
  border-left:4px solid var(--champagne-rose);
  padding:4px 0 4px 18px;
  margin-bottom:36px;
}
.legal-content section{margin-bottom:40px;}
.legal-page .legal-content section{background-color:transparent !important;}
.legal-content h2{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--bronze-ink);
  font-size:26px;
  margin-bottom:15px;
  padding-bottom:10px;
  border-bottom:2px solid var(--champagne-tint);
  line-height:1.3;
}
.legal-content h3{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--bronze-ink);
  font-size:18px;
  margin:20px 0 8px;
}
.legal-content p{color:var(--body-ink);font-size:15.5px;margin-bottom:14px;}
.legal-content ul{margin:0 0 14px 24px;color:var(--body-ink);font-size:15.5px;}
.legal-content ol{margin:0 0 14px 24px;color:var(--body-ink);font-size:15.5px;}
.legal-content li{margin-bottom:7px;}
.legal-content strong{color:var(--espresso);}
.legal-content a{color:var(--champagne-rose-deep);text-decoration:underline;}
.legal-content a:hover{color:var(--bronze-ink);}

/* ============ TABLE OF CONTENTS ============ */
.toc{
  background-color:var(--champagne-tint);
  border:1px solid var(--champagne-rose);
  padding:26px 30px 22px;
  margin-bottom:46px;
  position:static;
}
.toc h2{
  font-family:Georgia,serif;
  color:var(--bronze-ink);
  font-size:20px;
  margin-bottom:14px;
  border-bottom:none;
  padding-bottom:0;
}
.toc ol{
  list-style:none;
  margin:0;
  columns:2;
  column-gap:36px;
  counter-reset:toc-item;
}
.toc li{
  margin-bottom:9px;
  break-inside:avoid;
  counter-increment:toc-item;
  color:var(--bronze-ink);
  font-size:14.5px;
}
.toc li::before{
  content:counter(toc-item,decimal-leading-zero);
  color:var(--champagne-rose);
  font-weight:700;
  margin-right:9px;
  font-size:12.5px;
}
.toc a{color:var(--champagne-rose-deep);text-decoration:none;font-weight:600;}
.toc a:hover{color:var(--bronze-ink);text-decoration:underline;}

/* ============ BACK TO TOP / BACK HOME ============ */
.legal-backline{
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid var(--champagne-tint);
  font-size:14.5px;
  color:var(--taupe);
}
.legal-backline a{color:var(--champagne-rose-deep);text-decoration:none;font-weight:600;}
.legal-backline a:hover{color:var(--bronze-ink);text-decoration:underline;}

/* ============ LEGAL FOOTER ============ */
.legal-footer{
  background-color:var(--bronze-ink);
  padding:36px 24px;
  text-align:center;
  border-top:6px solid var(--champagne-rose);
}
.legal-footer p{color:var(--champagne-tint);font-size:14px;margin-bottom:9px;line-height:1.7;}
.legal-footer a{
  color:var(--champagne-tint);
  text-decoration:none;
  border-bottom:1px solid var(--champagne-rose);
  padding-bottom:1px;
}
.legal-footer a:hover{color:var(--white);}

@media (max-width:700px){
  .legal-header{padding:44px 20px 38px;}
  .legal-header h1{font-size:30px;}
  .toc{padding:20px 20px 16px;}
  .toc ol{columns:1;}
  .legal-content{padding:38px 0 56px;}
}
