:root{
  --ltrail:#F3F1E7;
  --link:#2A2620;
  --lmoss:#6B7A46;
  --lmossD:#556338;
  --lpanel:#FBFAF3;
  --lrust:#A65B3B;
  --lhair:#E2DECD;
  --ldark:#2E2A22;
  --ldarkText:#EFECDA;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ltrail);
  color:var(--link);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
}
a{color:#49663d;text-decoration-thickness:1px}
a:hover{color:var(--lrust)}

/* legal header */
.legal-header{
  background:var(--ldark);
  color:var(--ldarkText);
  width:100%;
}
.legal-header .lh-inner{
  max-width:820px;
  margin:0 auto;
  padding:20px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
}
.legal-header .legal-brand{
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  font-size:1.4rem;
  letter-spacing:1px;
  font-family:Georgia,serif;
}
.legal-header nav a{
  color:#e9e5d2;
  margin-left:16px;
  text-decoration:none;
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.9rem;
  font-weight:bold;
}
.legal-header nav a:hover{color:#c8a08a;text-decoration:underline}

/* content shell (single column legal form) */
.legal-content{
  max-width:820px;
  margin:0 auto;
  padding:0 24px 0;
}
.legal-content section{
  background:var(--ltrail) !important;
  display:block;
}
.legal-title{
  padding:46px 0 10px;
}
.legal-title .doc-kicker{
  font-family:Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:0.78rem;
  color:var(--lrust);
  font-weight:bold;
  margin-bottom:12px;
}
.legal-title h1{
  font-size:2.3rem;
  color:var(--link);
  line-height:1.15;
  border-bottom:3px double var(--lmoss);
  padding-bottom:16px;
}
.legal-title .doc-meta{
  margin-top:12px;
  font-style:italic;
  color:#fff;
  background:var(--ldark);
  display:inline-block;
  padding:8px 16px;
  color:#efe9d0;
  font-size:0.92rem;
}
.legal-intro{
  margin:22px 0 10px;
  background:var(--lpanel);
  border-left:6px solid var(--lmoss);
  padding:20px 22px;
  color:#3f392d;
  box-shadow:0 0 0 1px var(--lhair);
}
.legal-intro p{margin-bottom:10px}
.legal-intro p:last-child{margin-bottom:0}

/* table of contents */
.legal-toc{
  margin:28px 0 22px;
  background:var(--lpanel);
  border:1px solid var(--lhair);
  padding:22px 26px;
}
.legal-toc h2{
  font-size:1.0rem;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--lmossD);
  border-bottom:2px solid var(--lmoss);
  display:inline-block;
  padding-bottom:6px;
  margin-bottom:14px;
}
.legal-toc ol{
  list-style-position:inside;
  columns:2;
  column-gap:40px;
}
.legal-toc li{margin-bottom:10px;break-inside:avoid}
.legal-toc li a{
  text-decoration:none;
  font-weight:bold;
  color:#3a4f33;
}
.legal-toc li a:hover{color:var(--lrust);text-decoration:underline}
@media (max-width:640px){.legal-toc ol{columns:1}}

/* body sections */
.legal-body h2{
  color:var(--link);
  font-size:1.45rem;
  margin:36px 0 12px;
  padding-top:26px;
  border-top:2px solid var(--ldark);
  scroll-margin-top:24px;
}
.legal-body h2::before{
  content:"";
  display:inline-block;
  width:9px;height:9px;
  background:var(--lrust);
  border-radius:2px;
  margin-right:12px;
  transform:rotate(45deg);
}
.legal-body h3{
  color:#3d3626;
  font-size:1.12rem;
  margin:22px 0 8px;
}
.legal-body p{
  color:#3b342a;
  margin-bottom:14px;
}
.legal-body p a{font-weight:bold;color:#49663d}
.legal-body ul,.legal-body ol{
  margin:8px 0 16px 22px;
  color:#3b342a;
}
.legal-body li{margin-bottom:9px}
.legal-body strong{color:var(--link)}
.legal-body .point{
  background:var(--lpanel);
  border-left:4px solid var(--lmoss);
  padding:14px 18px;
  margin:14px 0;
  color:#3b342a;
  box-shadow:1px 0 0 0 var(--lhair);
}
.legal-body hr{
  border:none;
  border-top:2px dashed var(--lhair);
  margin:26px 0;
}
.legal-body .addr{
  background:var(--ldark);
  color:#efe8d2;
  padding:14px 18px;
  font-family:"Courier New",monospace;
  font-size:0.95rem;
}

/* legal footer */
.legal-footer{
  background:var(--ldark);
  color:#dcd6c0;
  margin-top:46px;
  width:100%;
}
.legal-footer .lf-inner{
  max-width:820px;
  margin:0 auto;
  padding:22px 24px 28px;
  text-align:center;
}
.legal-footer .lf-brand{
  color:#fff;
  font-weight:bold;
  font-size:1.1rem;
  letter-spacing:1px;
  display:block;
  margin-bottom:10px;
}
.legal-footer nav a{
  color:#efe9d2;
  margin:0 12px;
  text-decoration:none;
  font-weight:bold;
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.9rem;
}
.legal-footer nav a:hover{color:#c9a28c;text-decoration:underline}
.legal-footer .lf-addr{
  margin-top:14px;
  font-size:0.92rem;
  color:#c6bfa6;
}
.legal-footer .lf-fine{
  margin-top:6px;
  font-size:0.8rem;
  color:#a9a289;
  font-family:Arial,Helvetica,sans-serif;
}
@media (max-width:620px){
  .legal-title h1{font-size:1.7rem}
}
