.legal-page{padding:150px 0 110px;}

.legal-head{max-width:680px;margin-bottom:56px;}
.legal-head h1{font-size:clamp(32px,4.2vw,44px);margin-top:16px;}
.legal-head p{color:var(--text-soft);font-size:15.5px;line-height:1.7;margin-top:16px;}
.legal-updated{font-family:var(--f-mono);font-size:12px;color:var(--text-dim);margin-top:20px;display:block;}

.legal-toc{
  display:flex;flex-wrap:wrap;gap:10px 20px;padding:18px 22px;
  border:1px solid var(--border-hair);border-radius:var(--radius-md);background:var(--glass);
  max-width:720px;margin-bottom:48px;
}
.legal-toc a{font-family:var(--f-mono);font-size:12.5px;color:var(--text-soft);text-decoration:none;}
.legal-toc a:hover{color:var(--text);}

.legal-body{max-width:720px;display:flex;flex-direction:column;gap:40px;}
.legal-section{scroll-margin-top:110px;}
.legal-section h2{font-family:var(--f-display);font-size:21px;font-weight:700;letter-spacing:-0.01em;margin-bottom:14px;}
.legal-section h3{font-family:var(--f-display);font-size:15px;font-weight:600;color:var(--text);margin:20px 0 8px;}
.legal-section p{color:var(--text-soft);font-size:15px;line-height:1.75;}
.legal-section p + p{margin-top:12px;}
.legal-section ul{margin:12px 0 0 20px;display:flex;flex-direction:column;gap:8px;}
.legal-section li{color:var(--text-soft);font-size:15px;line-height:1.65;}
.legal-section li::marker{color:var(--text-dim);}
.legal-section a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong);}
.legal-section a:hover{text-decoration-color:var(--text);}
.legal-section strong{color:var(--text);font-weight:600;}

.legal-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13.5px;}
.legal-table th, .legal-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border-hair);color:var(--text-soft);vertical-align:top;}
.legal-table th{font-family:var(--f-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-dim);font-weight:500;}
.legal-table td:first-child, .legal-table th:first-child{color:var(--text);font-weight:600;}

.legal-note{
  border-left:2px solid var(--border-strong);padding:12px 16px;background:var(--glass);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:13.5px;color:var(--text-soft);line-height:1.6;
}

@media (max-width:700px){
  .legal-page{padding:130px 0 80px;}
  .legal-table{display:block;overflow-x:auto;}
}
