body.legal{
  background:linear-gradient(180deg,#2b2219,var(--bg) 460px);
  color:var(--text);min-height:100vh;
}
.lg-wrap{max-width:820px;margin:0 auto;padding:0 22px 80px}

.lg-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:22px 0 18px;position:relative;z-index:1;
}
.lg-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text)}
.lg-brand svg{width:40px;height:auto;flex:none}
.lg-brand b{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.lg-brand span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--faint);text-transform:uppercase}
.lg-back{
  font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;border:2px solid var(--outline);border-radius:3px;
  background:var(--panel-hi);padding:8px 15px;box-shadow:0 3px 0 var(--outline);transition:filter .12s,transform .1s;
}
.lg-back:hover{filter:brightness(1.08)}
.lg-back:active{transform:translateY(2px);box-shadow:0 1px 0 var(--outline)}

.lg-sheet{
  position:relative;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:2px solid var(--outline);border-radius:4px;
  box-shadow:0 4px 0 rgba(8,6,4,.55), inset 0 1px 0 rgba(255,255,255,.05);
  padding:40px 40px 34px;
}
.lg-tag{
  position:absolute;top:-13px;left:26px;
  background:var(--paper);color:var(--ink);
  clip-path:polygon(0% 14%,3% 2%,14% 8%,27% 0%,40% 9%,54% 2%,67% 10%,79% 3%,91% 10%,100% 4%,98% 50%,100% 86%,89% 96%,75% 90%,61% 100%,46% 92%,31% 100%,17% 93%,6% 100%,1% 88%);
  box-shadow:0 3px 0 rgba(8,6,4,.5);
  font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em;
  padding:5px 15px 6px;transform:rotate(-2deg);text-transform:uppercase;
}
.lg-title{font-family:var(--display);font-weight:700;font-size:29px;line-height:1.12;letter-spacing:.01em;text-transform:uppercase;margin:6px 0 6px}
.lg-meta{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.04em;margin-bottom:22px}
.lg-lead{color:var(--muted);font-size:14.5px;line-height:1.65;margin-bottom:8px}

.lg-toc{
  border:2px solid var(--outline);border-radius:3px;background:var(--field);
  padding:14px 18px;margin:22px 0 30px;
}
.lg-toc b{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.lg-toc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;counter-reset:toc}
.lg-toc li{counter-increment:toc}
.lg-toc a{display:flex;gap:8px;color:var(--muted);text-decoration:none;font-size:13px;padding:3px 0;transition:color .12s}
.lg-toc a::before{content:counter(toc);font-family:var(--mono);font-size:11px;color:var(--acc2);min-width:16px}
.lg-toc a:hover{color:var(--text)}

.lg-sec{margin-top:30px;scroll-margin-top:20px}
.lg-h{
  display:flex;align-items:center;gap:12px;margin-bottom:14px;
  padding-bottom:11px;border-bottom:2px solid var(--outline);
  font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.03em;text-transform:uppercase;
}
.lg-num{
  flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:13px;font-weight:700;color:#fff6e8;
  background:linear-gradient(180deg,var(--acc2),var(--acc-deep));
  border:2px solid var(--outline);border-radius:3px;box-shadow:0 2px 0 var(--outline);
}
.lg-sec p{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 11px}
.lg-sec ul{margin:0 0 13px;padding-left:4px;list-style:none}
.lg-sec li{position:relative;color:var(--muted);font-size:14px;line-height:1.65;padding:2px 0 2px 20px}
.lg-sec li::before{content:'';position:absolute;left:2px;top:12px;width:7px;height:2px;background:var(--acc2)}
.lg-sec strong{color:var(--text);font-weight:700}
.lg-sec a{color:var(--acc2)}

.lg-note{
  background:var(--accd);border:2px solid var(--acc-deep);border-radius:3px;
  padding:13px 17px;margin:6px 0 16px;font-size:13.5px;line-height:1.65;color:var(--text);
}
.lg-note strong{color:var(--acc2)}

.lg-req{width:100%;border-collapse:collapse;margin:4px 0 14px;font-size:13.5px}
.lg-req td{padding:9px 12px;border:1px solid var(--outline);vertical-align:top;color:var(--muted);line-height:1.6}
.lg-req td:first-child{width:210px;background:var(--field);color:var(--faint);font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;text-transform:uppercase}
.lg-req td strong{color:var(--text)}
.lg-req .bank div{padding:1px 0}

.lg-foot{margin-top:30px;padding-top:18px;border-top:1px dashed var(--line2);font-size:12.5px;color:var(--faint);line-height:1.6}

@media (max-width:640px){
  .lg-sheet{padding:30px 20px 24px}
  .lg-title{font-size:23px}
  .lg-toc ol{grid-template-columns:1fr}
  .lg-req td:first-child{width:130px}
}
