:root{
  --yard:#EDE3D2;
  --ink:#2D2A24;
  --terracotta:#B4573B;
  --juniper:#5E6E4E;
  --mortar:#D9C79A;
  --bleach:#F8F3E8;
  --shadow:#2E271F;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-size:16px;
  font-family:Georgia,'Times New Roman',serif;
  color:var(--ink);
  background:var(--yard);
  line-height:1.8;
  overflow-x:hidden;
}
a{color:inherit}
h1,h2,h3,h4{line-height:1.25;font-weight:700}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:2px}

/* Scope isolation: these legal documents load ONLY legal.css, so this page
   layer owns the full background and text contrast of every legal section. */
.legal-page .legal-content section{
  background:transparent !important;
}
.legal-page{
  background:var(--yard);
  color:var(--ink);
}
.legal-page-inner{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}
.legal-content{
  max-width:900px;
  margin:0 auto;
  padding:0 24px 8px;
}
.legal-hero{
  background:var(--terracotta);
  width:100%;
  border-bottom:6px solid var(--mortar);
}
.legal-hero-inner{
  max-width:900px;
  margin:0 auto;
  padding:56px 24px 44px;
}
.legal-hero-eyebrow{
  color:var(--mortar);
  letter-spacing:.3em;
  text-transform:uppercase;
  font-size:.74rem;
  font-weight:700;
}
.legal-hero h1{
  color:var(--bleach);
  font-size:2.6rem;
  margin-top:10px;
  margin-bottom:8px;
  letter-spacing:.02em;
}
.legal-hero-plate{
  color:var(--bleach);
  font-size:.92rem;
  letter-spacing:.05em;
}
.legal-hero-plate a{
  color:var(--mortar);
  font-weight:700;
}
.legal-hero-plate a:hover{
  color:#fff;
}
.legal-top-link{
  display:inline-block;
  margin:6px 0 0;
  color:var(--bleach);
  font-weight:700;
  border-bottom:2px solid var(--mortar);
}
.legal-top-link:hover{
  color:var(--mortar);
}
.legal-updated{
  text-align:center;
  color:var(--terracotta);
  font-weight:700;
  letter-spacing:.08em;
  background:var(--bleach);
  display:inline-block;
  padding:10px 20px;
  width:100%;
  max-width:900px;
  margin:0 auto;
  box-sizing:border-box;
}
.legal-parentheses{
  display:block;
  text-align:center;
  margin:26px auto 8px;
  max-width:900px;
  width:100%;
  box-sizing:border-box;
  padding:0 24px;
  color:var(--juniper);
  font-weight:700;
  letter-spacing:.05em;
}
.legal-toc{
  background:var(--bleach);
  border:1px solid var(--mortar);
  border-top:8px solid var(--terracotta);
  padding:24px 26px;
  margin:34px auto 8px;
  max-width:900px;
  width:100%;
  box-sizing:border-box;
}
.legal-toc-label{
  color:var(--terracotta);
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-size:.78rem;
  margin-bottom:12px;
}
.legal-toc ol{
  list-style:none;
  counter-reset:titems;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 28px;
}
@media (max-width:640px){
  .legal-toc ol{
    grid-template-columns:1fr;
  }
}
.legal-toc ol li{
  counter-increment:titems;
}
.legal-toc ol li a{
  display:block;
  padding:7px 4px;
  color:var(--ink);
  border-bottom:1px dashed var(--mortar);
  text-decoration:none;
  position:relative;
  padding-left:2.2em;
}
.legal-toc ol li a::before{
  content:counter(titems,decimal-leading-zero);
  position:absolute;
  left:0;
  color:var(--terracotta);
  font-weight:700;
  letter-spacing:.06em;
}
.legal-toc ol li a:hover{
  color:var(--terracotta);
}
.legal-content{
  padding-top:34px;
}
.legal-content h2{
  color:var(--terracotta);
  font-size:1.5rem;
  scroll-margin-top:30px;
  margin-top:54px;
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:3px solid var(--mortar);
  padding-left:14px;
  border-left:8px solid var(--terracotta);
}
.legal-content h2 a{
  text-decoration:none;
}
.legal-content h3{
  color:var(--juniper);
  font-size:1.2rem;
  margin-top:26px;
  margin-bottom:10px;
}
.legal-content p{
  color:var(--ink);
  margin-bottom:1.1em;
}
.legal-content ul,.legal-content ol{
  margin:0 0 1.2em 1.3em;
  color:var(--ink);
}
.legal-content li{
  margin-bottom:.5em;
}
.legal-content strong{
  color:var(--ink);
}
.legal-note{
  background:var(--bleach);
  border-left:6px solid var(--juniper);
  padding:16px 20px;
  margin:20px 0;
  color:var(--ink);
}
.legal-footer-contact{
  background:var(--bleach);
  border:1px solid var(--mortar);
  padding:20px 24px;
  margin:40px auto 44px;
  max-width:900px;
  position:relative;
}
.legal-footer-contact .course-title{
  color:var(--terracotta);
  font-size:1.1rem;
  margin-bottom:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:700;
}
.legal-footer-contact p{
  margin-bottom:.3em;
  color:var(--ink);
}
.legal-footer-contact a{
  color:var(--juniper);
  font-weight:700;
}
.bricktongue-legal{
  width:100%;
  background:var(--shadow);
  color:var(--bleach);
}
.bricktongue-legal-upper{
  position:relative;
  z-index:1;
  background:var(--terracotta);
  padding:18px 0 14px;
  text-align:center;
  color:var(--bleach);
  letter-spacing:.3em;
  font-size:.78rem;
  text-transform:uppercase;
}
.bricktongue-legal-links{
  position:relative;
  z-index:1;
  background:var(--shadow);
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
}
.bricktongue-legal-links a{
  display:block;
  padding:22px 8px;
  color:var(--mortar);
  font-weight:700;
  letter-spacing:.06em;
}
.bricktongue-legal-links a:hover{
  color:var(--bleach);
  text-decoration:underline;
}
.bricktongue-legal-base{
  position:relative;
  z-index:1;
  max-width:900px;
  margin:0 auto;
  padding:30px 24px 34px;
  text-align:center;
}
.bricktongue-legal-base .ft-company{
  color:var(--mortar);
  font-weight:700;
  letter-spacing:.16em;
}
.bricktongue-legal-base p{
  color:var(--bleach);
  margin-bottom:.3em;
}
.bricktongue-legal-base a{
  color:var(--mortar);
  font-weight:700;
}
.bricktongue-legal-base a:hover{
  text-decoration:underline;
}
.legal-skip{
  position:absolute;
  left:-9999px;
}
