*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-size:16px;
  font-family:Georgia,'Times New Roman',serif;
  background:#F6F6EA;
  color:#3E4036;
  line-height:1.75;
  overflow-x:hidden;
}

h1,h2,h3{
  font-family:Georgia,'Times New Roman',serif;
  color:#2C2C22;
  line-height:1.25;
}

p{margin:0 0 1.05em;}
a{color:#6A4696;text-decoration:underline;}
a:hover{color:#2C2C22;}

.legal-header{
  background:#2C2C22;
  border-bottom:5px solid #6A4696;
  padding:36px 0;
}
.legal-header .legal-header-inner{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}
.legal-header .legal-brand{
  color:#C6AE49;
  font-size:14px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  font-weight:bold;
  margin-bottom:10px;
}
.legal-header h1{
  color:#F6F6EA;
  font-size:38px;
  margin:0;
}
.legal-header .legal-sub{
  color:#E0DCCE;
  font-size:15px;
  margin-top:12px;
}

.legal-backbar{
  background:#E0DCCE;
  border-bottom:3px solid #2C2C22;
}
.legal-backbar .legal-header-inner{
  max-width:900px;
  margin:0 auto;
  padding:12px 24px;
  font-size:15px;
}
.legal-backbar a{
  color:#6A4696;
  font-weight:bold;
}

.legal-shell{
  max-width:900px;
  margin:0 auto;
  padding:48px 24px 70px;
}

.legal-content{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}

.legal-content section{
  background:transparent !important;
  border:none;
  padding:0;
  margin:0 0 34px;
}

.legal-toc{
  border:3px solid #2C2C22;
  background:#E0DCCE;
  padding:26px 28px;
  margin-bottom:44px;
}
.legal-toc h2{
  font-size:20px;
  margin:0 0 14px;
  letter-spacing:0.04em;
}
.legal-toc ol{
  margin:0;
  padding-left:22px;
  columns:2;
  column-gap:36px;
}
.legal-toc li{
  margin-bottom:8px;
  font-size:15px;
  break-inside:avoid;
}
.legal-toc a{
  color:#6A4696;
}

.legal-content h2{
  font-size:26px;
  border-bottom:3px solid #6A4696;
  padding-bottom:8px;
  margin:0 0 16px;
}
.legal-content h3{
  font-size:19px;
  margin:26px 0 10px;
}
.legal-content p,
.legal-content li{
  font-size:16.5px;
  color:#3E4036;
}
.legal-content ul{
  margin:0 0 1.1em;
  padding-left:24px;
}
.legal-content ul li{
  margin-bottom:8px;
}

.legal-intro{
  background:#E0DCCE;
  border-left:8px solid #6A4696;
  padding:24px 28px;
  margin-bottom:44px;
  font-size:17.5px;
  color:#2C2C22;
}
.legal-intro p{
  color:#2C2C22;
  margin-bottom:0.7em;
}
.legal-intro p:last-child{
  margin-bottom:0;
}

.legal-note{
  border-top:2px solid #CFC9B8;
  border-bottom:2px solid #CFC9B8;
  padding:18px 0;
  margin:28px 0;
  font-size:15.5px;
  color:#2C2C22;
}

.legal-footer{
  background:#2C2C22;
  color:#F6F6EA;
  border-top:5px solid #6A4696;
  padding:34px 0;
}
.legal-footer .legal-footer-inner{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.legal-footer a{
  color:#F6F6EA;
  border-bottom:2px solid #6A4696;
}
.legal-footer a:hover{
  color:#C6AE49;
  text-decoration:none;
}
.legal-footer .legal-copy{
  font-size:14px;
  color:#E0DCCE;
}

@media (max-width:640px){
  .legal-toc ol{columns:1;}
  .legal-header h1{font-size:28px;}
  .legal-content h2{font-size:22px;}
  .legal-footer .legal-footer-inner{flex-direction:column;align-items:flex-start;}
}
