body{
  margin:0;
  font-family:"Georgia","Times New Roman",serif;
  background:#F4F0E6;
  color:#322A24;
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
}

.legal-page{}
.legal-page a{color:#8A5A43;text-decoration:none;}
.legal-page a:hover{text-decoration:underline;}

.legal-header{
  background:#2A241E;
  color:#FBF8F1;
  padding:0;
}
.legal-header .inner{
  max-width:900px;
  margin:0 auto;
  padding:56px 24px 44px;
}
.legal-header a.topo{
  color:#EFE6D2;
  font-family:"Courier New",monospace;
  letter-spacing:2px;
  font-size:13px;
  text-transform:uppercase;
}
.legal-header a.topo span{color:#BC6B4A;}
.legal-header h1{
  margin:16px 0 8px;
  font-size:44px;
  line-height:1.15;
  color:#FFFFFF;
  font-weight:bold;
}
.legal-header p{
  margin:0;
  color:#EFE6D2;
  font-size:17px;
  border-left:5px solid #7F8C6E;
  padding-left:14px;
}
.legal-header .meta{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #4A4238;
  color:#D7CDBB;
  font-size:14px;
}
.legal-header .meta .dev{color:#BC6B4A;font-weight:bold;}

.legal-nav{
  background:#8A6F4D;
}
.legal-nav .inner{
  max-width:900px;
  margin:0 auto;
  padding:14px 24px;
}
.legal-nav .toc label{
  display:block;
  font-family:"Courier New",monospace;
  letter-spacing:2px;
  color:#FBF8F1;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:6px;
}
.legal-nav .toc ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:4px 20px;
}
.legal-nav .toc li a{
  color:#FFF6EA;
  font-size:14px;
  border-bottom:1px solid transparent;
}
.legal-nav .toc li a:hover{border-bottom-color:#FBF8F1;color:#FFFFFF;}

.legal-main{
  background:#F4F0E6;
  padding:46px 24px 0;
}
.legal-content{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}
.legal-content h2{
  font-size:28px;
  color:#3A2E26;
  margin:38px 0 12px;
  padding-top:18px;
  border-top:2px solid #E0D5BD;
  scroll-margin-top:10px;
}
.legal-content h2 .secno{
  color:#BC6B4A;
  font-family:"Courier New",monospace;
  margin-right:10px;
  font-size:20px;
}
.legal-content h3{
  color:#5A4B40;
  font-size:19px;
  margin:20px 0 8px;
}
.legal-content p{
  color:#3E332B;
  margin:0 0 16px;
}
.legal-content ul,.legal-content ol{
  margin:0 0 18px 26px;
  padding:0;
}
.legal-content li{margin-bottom:8px;color:#4A3E34;}
.legal-content address{
  font-style:normal;
  background:#EFE6D2;
  border-left:5px solid #7F8C6E;
  padding:12px 16px;
  margin-bottom:16px;
  color:#3E332B;
}
.legal-content .note{
  background:#EFE6D2;
  border:1px solid #D0C3A8;
  padding:12px 16px;
  margin-bottom:16px;
  font-size:15px;
  color:#4A3E34;
}
.legal-footer{
  background:#2A241E;
  color:#EFE6D2;
  margin-top:54px;
}
.legal-footer .finner{
  max-width:900px;
  margin:0 auto;
  padding:20px 24px 36px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.legal-footer .float-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
}
.legal-footer a{
  color:#BC6B4A;
  font-weight:bold;
}
.legal-footer .comp{
  color:#FBF8F1;
  font-size:14px;
}
.legal-footer .addr{
  color:#D7CDBB;
  font-size:14px;
  letter-spacing:.4px;
}
.legal-footer .copy{
  color:#CFC6B5;
  font-size:13px;
  border-top:1px solid #4A4238;
  padding-top:14px;
}

/* scope isolation */
.legal-page .legal-content section{
  background:transparent !important;
}
/*
 * rule:
 * any scoped impact must not bleed; ensure section containers have no inherited
 * decorative features; block-level clarity retained.
 */
