/* ============ /css/legal.css  (legal pages load only this) ============ */
/* Light nursery-blush legal theme, strong contrast, scope-isolated. */
:root{
  --legal-bg:#FFFFFF;
  --legal-paper:#FFFFFF;
  --legal-ink:#332622;         /* near-black cocoa for crisp legal text */
  --legal-body:#41302A;
  --legal-mut:#5C4942;
  --legal-headline:#8A4A3C;
  --legal-rose:#A85D4E;
  --legal-sage:#5E6A52;
  --legal-accent:#A85D4E;
  --legal-line:#E4D4C2;
  --legal-soft:#F7EFE4;
  --legal-band:#FBF4EE;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:#F5EDE2;
  color:var(--legal-body);
  font-family:Georgia,"Palatino Linotype","Times New Roman",serif;
  font-size:16px;
  line-height:1.85;
  overflow-x:hidden;
  margin:0;
}

a{color:var(--legal-accent);text-decoration:none;}
a:hover{color:#6E382C;text-decoration:underline;}
p{margin:0 0 16px;color:var(--legal-body);}

/* The legal page wrapper: cream top band + big white legal paper */
.legal-page{background:#F5EDE2;}
.legal-headband{
  background:var(--legal-band);
  border-bottom:1px solid var(--legal-line);
  padding:46px 0 40px;
}
.legal-tone{
  max-width:920px;margin:0 auto;padding:0 24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  font-size:14px;color:var(--legal-mut);font-weight:bold;letter-spacing:.05em;
}
.legal-tone a{color:var(--legal-accent);}
.legal-tone .back a{color:var(--legal-accent);letter-spacing:.04em;}
.legal-title-block{max-width:920px;margin:0 auto;padding:0 24px;}
.legal-title-block h1{
  font-size:44px;line-height:1.15;color:var(--legal-headline);margin:22px 0 10px;font-weight:bold;
}
.legal-title-block .kicker{color:var(--legal-headline);font-weight:bold;letter-spacing:.24em;text-transform:uppercase;font-size:12.5px;margin-top:6px;}
.legal-title-block .subhead{color:var(--legal-mut);font-size:18px;max-width:760px;}
.last-rev{display:inline-block;margin-top:14px;color:var(--legal-sage);font-weight:bold;font-size:14px;}

/* white legal paper column */
.legal-paper{
  max-width:920px;margin:0 auto;padding:26px 24px 64px;
}
/* ToC */
.legal-toc{
  background:#FFFFFF;border:1px solid var(--legal-line);
  border-left:8px solid var(--legal-sage);
  border-radius:6px;padding:26px 28px;margin:0 0 34px;
  box-shadow:0 10px 0 #E8DCCB;
}
.legal-toc h2{margin:0 0 14px;color:var(--legal-headline);font-size:22px;border-bottom:2px solid var(--legal-soft);padding-bottom:10px;}
.legal-toc ol{list-style:none;counter-reset:toc;columns:2;column-gap:40px;}
.legal-toc li{counter-increment:toc;margin:6px 0;break-inside:avoid;}
.legal-toc li a{display:block;color:var(--legal-body);padding:5px 6px 5px 8px;border-radius:4px;font-weight:bold;}
.legal-toc li a:before{content:counter(toc,decimal-leading-zero) ". ";color:var(--legal-accent);font-weight:bold;}
.legal-toc li a:hover{background:var(--legal-soft);color:var(--legal-headline);text-decoration:none;}
@media(max-width:640px){.legal-toc ol{columns:1;}}

/* ---- SCOPED CONTENT: only sections inside .legal-content section ---- */
.legal-content{background:#FFFFFF;border:1px solid var(--legal-line);border-radius:8px;padding:10px 30px 20px;box-shadow:0 12px 0 #EADFD0;}

/* scope isolation: content sections transparent so panel colour shows */
.legal-page .legal-content section{background:transparent !important;}

/* just within legal paper scope too */
.legal-paper .legal-content section{background:transparent !important;}

.legal-content section{
  padding:26px 0;border-bottom:1px solid var(--legal-line);
}
.legal-content section:last-of-type{border-bottom:0;}
.legal-content .band{}

.legal-content h2{
  color:var(--legal-headline);font-size:25px;line-height:1.3;
  padding-bottom:8px;margin:0 0 14px;font-weight:bold;
}
.legal-content h2 .tn{
  display:inline-block;color:#FFFFFF;background:var(--legal-accent);
  font-size:13px;border-radius:4px;padding:1px 8px;margin-right:8px;vertical-align:2px;
}
.legal-content h3{
  color:#6E382C;font-size:19px;font-weight:bold;margin:22px 0 8px;font-family:Georgia,serif;
}
.legal-content h4{color:#7A3B2E;font-size:17px;font-weight:bold;margin:18px 0 6px;}
.legal-content p{ }
.legal-content ul,.legal-content ol{margin:0 0 16px 24px;}
.legal-content li{margin:4px 0;color:var(--legal-body);}
.legal-content blockquote{
  background:var(--legal-soft);border-left:6px solid var(--legal-accent);
  padding:16px 20px;margin:16px 0;border-radius:0 6px 6px 0;color:var(--legal-mut);
}
.legal-content strong{color:#3A2923;font-weight:bold;}
.legal-content .accent{color:var(--legal-headline);font-weight:bold;}

/* nice data list for same-page terms facts */
.facts{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:18px 0;
}
.facts .fact{background:#FBF6EE;border:1px solid var(--legal-line);border-top:4px solid var(--legal-sage);border-radius:6px;padding:16px 18px;}
.facts .fact b{display:block;color:var(--legal-headline);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;}
.facts .fact span{font-size:15px;color:#41302A;}

/* legal footer: returns visitor home */
.legalreturn{
  background:var(--legal-band);border:1px solid var(--legal-line);border-top:4px solid var(--legal-accent);
  border-radius:6px;padding:24px 28px;margin:34px 0 30px;text-align:center;
}
.legalreturn p{margin:0 0 4px;color:var(--legal-mut);}
.legalreturn strong{color:var(--legal-headline);}
.legalreturn a.bta{
  display:inline-block;background:var(--legal-accent);color:#FFF6EE;font-weight:bold;
  padding:11px 26px;border-radius:40px;margin-top:10px;
}
.legalreturn a.bta:hover{background:#6E382C;color:#FFF6EE;}

.legal-foot{
  max-width:920px;margin:0 auto;padding:18px 24px 56px;color:var(--legal-mut);
  font-size:13.5px;text-align:left;border-top:1px solid var(--legal-line);
}
.legal-foot .homerow a{
  display:inline-block;font-weight:bold;color:var(--legal-headline);
  background:#FFFFFF;border:1px solid var(--legal-line);border-radius:30px;padding:8px 18px;margin:6px 12px 6px 0;
}
.legal-foot p{color:var(--legal-mut);}
@media(max-width:640px){.legal-title-block h1{font-size:32px;}.legal-content{padding:10px 18px 14px;}}

/* reveal-like little touch, but must be safe for noscript on legal pages:
   we use class jh-fall only linked to spacing, so nothing to hide */
