/* ---------- Legal pages ---------- */
.lg { padding-block:48px 120px; }
.lg-draft { display:flex; gap:14px; align-items:flex-start; margin-bottom:40px; padding:16px 20px; border-radius:12px; background:var(--risk-soft); color:var(--ink); font-size:15px; line-height:23px; }
.lg-draft b { color:var(--risk); font-weight:600; white-space:nowrap; }
.lg-head h1 { margin:20px 0 0; font-size:clamp(40px, 5vw, 68px); line-height:1; font-weight:500; letter-spacing:-.04em; }
.lg-head .lead { margin:20px 0 0; max-width:46ch; font-size:20px; line-height:30px; color:var(--ink-muted); }
.lg-meta { margin:24px 0 0; font-size:14px; color:var(--ink-subtle); }
.lg-grid { margin-top:56px; display:grid; grid-template-columns:240px minmax(0, 720px); gap:72px; align-items:start; }
.toc { position:sticky; top:100px; }
.toc summary { list-style:none; font-size:13px; font-weight:600; color:var(--ink-subtle); margin-bottom:12px; }
.toc summary::-webkit-details-marker { display:none; }
.toc ol { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; border-left:1px solid var(--line); }
.toc a { display:block; margin-left:-1px; padding:6px 0 6px 14px; border-left:2px solid transparent; font-size:14px; line-height:19px; color:var(--ink-muted); text-decoration:none; transition:color .15s, border-color .15s; }
.toc a:hover { color:var(--ink); }
.toc a.on { color:var(--ink); font-weight:600; border-left-color:var(--signal); }
.lg-body { counter-reset:sec; font-size:17px; line-height:28px; }
.lg-body section { counter-increment:sec; padding-top:8px; scroll-margin-top:96px; }
.lg-body section + section { margin-top:40px; }
.lg-body h2 { margin:0; font-size:24px; line-height:31px; font-weight:500; letter-spacing:-.018em; }
.lg-body h2::before { content:counter(sec) ". "; color:var(--ink-subtle); }
.lg-body h3 { margin:24px 0 0; font-size:17px; font-weight:600; }
.lg-body p { margin:14px 0 0; color:var(--ink-muted); text-wrap:pretty; }
.lg-body ul { margin:14px 0 0; padding-left:20px; color:var(--ink-muted); }
.lg-body li + li { margin-top:8px; }
.lg-body strong { color:var(--ink); font-weight:600; }
.lg-body a { color:var(--ink); text-decoration-color:var(--line-control); text-underline-offset:4px; }
.lg-tbl { margin:18px 0 0; width:100%; border-collapse:collapse; font-size:15px; line-height:22px; border:1px solid var(--line); border-radius:12px; overflow:hidden; display:table; }
.lg-tbl th, .lg-tbl td { padding:12px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); white-space:normal; }
.lg-tbl th { background:var(--mist); font-weight:600; color:var(--ink); font-size:13.5px; }
.lg-tbl td { color:var(--ink-muted); }
.lg-tbl tr:last-child td { border-bottom:0; }
mark.ph { padding:1px 5px; border-radius:5px; background:#FFF1C2; color:#6B4A00; font-weight:500; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
@media (max-width: 1080px) {
  .lg-grid { grid-template-columns:1fr; gap:32px; }
  .toc { position:static; padding:16px 18px; border:1px solid var(--line); border-radius:12px; }
  .toc summary { margin:0; cursor:pointer; font-size:14.5px; color:var(--ink); }
  .toc[open] summary { margin-bottom:12px; }
}
@media (max-width: 640px) { .lg-body { font-size:16.5px; } .lg-draft { flex-direction:column; gap:4px; } .lg-tbl th, .lg-tbl td { padding:10px; } }
