
.legal-page{max-width:800px; margin:0 auto; padding:calc(var(--nav-h) + 52px) 24px 96px;}
.legal-back{display:inline-flex; align-items:center; gap:7px; padding:8px 15px 8px 11px; border-radius:100px;
  font-size:13.5px; font-weight:700; color:var(--text-dim); text-decoration:none;
  background-color:var(--lg-fill); border:1px solid var(--lg-edge);
  box-shadow:inset 1px 1px 0 0 var(--lg-rim-hi), inset -1px -1px 0 0 var(--lg-rim-lo);
  transition:color .25s var(--ease), background-color .25s var(--ease), transform .35s var(--ease);}
.legal-back .ico{width:16px; height:16px;}
.legal-back:hover{color:var(--text); background-color:var(--lg-fill-hover); transform:translateX(-2px);}

.legal-head{margin:26px 0 30px;}
.legal-page h1{font-size:clamp(32px,5vw,50px); margin:0 0 12px; line-height:1.05;}
.legal-updated{display:inline-flex; align-items:center; gap:8px; margin:0; font-size:13px; font-weight:600; color:var(--text-dim);}
.legal-updated::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 3px color-mix(in oklab, var(--amber) 22%, transparent);}

.legal-toc{margin:0 0 34px; padding:18px 22px 16px; border-radius:22px;}
.legal-page .legal-toc-title{font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); margin:0 0 10px; padding:0;}
.legal-toc ol{margin:0; padding:0 0 0 20px; columns:2; column-gap:32px;}
.legal-toc li{font-size:14px; line-height:1.5; margin:0 0 6px; break-inside:avoid;}
.legal-toc a{color:var(--text); font-weight:600; text-decoration:none;}
.legal-toc a:hover{color:var(--text-accent-sm); text-decoration:underline;}

.legal-notice{
  background:color-mix(in oklab, var(--amber) 11%, transparent);
  border:1px solid color-mix(in oklab, var(--amber) 32%, transparent); border-radius:18px;
  padding:16px 20px; font-size:14px; line-height:1.65; color:var(--text); margin-bottom:34px;
}
.legal-page section{padding:26px 0 8px; border-top:1px solid var(--hairline);}
.legal-page section:first-of-type{border-top:none;}
.legal-page h2{font-size:clamp(19px,2.4vw,23px); margin:0 0 12px; scroll-margin-top:calc(var(--nav-h) + 40px);}
.legal-page h3{font-size:15px; margin:20px 0 8px;}
.legal-page p{font-size:15px; line-height:1.75; color:var(--text); margin:0 0 12px; max-width:70ch;}
.legal-page p.dim, .legal-page li.dim, .legal-page .dim{color:var(--text-dim);}
.legal-page p.dim{font-size:13.5px;}
.legal-page ul, .legal-page ol{margin:0 0 12px; padding-left:22px;}
.legal-page li{font-size:15px; line-height:1.75; margin-bottom:6px;}
.legal-page a{color:var(--text-accent-sm); font-weight:600;}
.legal-page code{
  background:color-mix(in oklab, var(--amber) 22%, transparent); color:var(--text);
  border-radius:6px; padding:1px 7px; font-family:inherit; font-size:.92em; font-weight:600;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.legal-table{margin:4px 0 20px; border-radius:18px; overflow:hidden; border:1px solid var(--lg-edge);
  background-color:var(--lg-fill); box-shadow:inset 1px 1px 0 0 var(--lg-rim-hi), inset -1px -1px 0 0 var(--lg-rim-lo);}
.legal-page table{width:100%; border-collapse:collapse; font-size:13.5px;}
.legal-page th, .legal-page td{text-align:left; padding:11px 14px; border-bottom:1px solid var(--hairline); vertical-align:top; line-height:1.55;}
.legal-page tr:last-child td{border-bottom:none;}
.legal-page th{color:var(--text-dim); font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em;}
.legal-page td code{white-space:nowrap;}

@media (max-width:640px){
  .legal-page{padding:calc(var(--nav-h) + 30px) 18px 70px;}
  .legal-toc ol{columns:1;}
  .legal-page table, .legal-page thead, .legal-page tbody, .legal-page th, .legal-page td, .legal-page tr{display:block;}
  .legal-page tr{padding:10px 14px; border-bottom:1px solid var(--hairline);}
  .legal-page tr:last-child{border-bottom:none;}
  .legal-page thead{display:none;}
  .legal-page td{border:none; padding:3px 0;}
  .legal-page td::before{content:attr(data-label); display:block; font-size:11px; font-weight:700; text-transform:uppercase; color:var(--text-dim); margin-bottom:2px;}
  .legal-page td code{white-space:normal;}
}

@media (max-width:640px){ .legal-toc a{display:inline-block; padding-block:10px; margin-block:-10px;} }
