.legal-main { padding: 76px 0 108px; background: radial-gradient(circle at 90% 0%, rgba(116, 88, 228, .16), transparent 38%), #0b1020; }
.legal-wrap { max-width: 860px; }
.legal-breadcrumb { margin-bottom: 25px; color: var(--muted); font-size: 13px; }
.legal-breadcrumb a { color: #c4b8ff; text-decoration: underline; text-underline-offset: 3px; }
.legal-heading h1 { max-width: 760px; margin-bottom: 16px; font-size: clamp(36px, 6vw, 58px); line-height: 1.12; letter-spacing: -.055em; }
.legal-heading > p:last-child { max-width: 680px; color: var(--muted); line-height: 1.7; }
.legal-draft { margin: 32px 0; padding: 20px 22px; border: 1px solid #b99955; border-radius: 14px; color: #fbe7ba; background: rgba(159, 106, 31, .14); line-height: 1.6; }
.legal-draft strong { display: block; margin-bottom: 5px; }
.legal-toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0; }
.legal-toc a { padding: 9px 13px; border: 1px solid var(--line); border-radius: 20px; color: #d8dcf5; font-size: 12px; }
.legal-toc a:hover { border-color: #a697ff; }
.legal-card { margin-top: 18px; padding: 30px 34px; border: 1px solid var(--line); border-radius: 19px; background: rgba(21, 28, 49, .77); }
.legal-card h2 { margin-bottom: 18px; font-size: 23px; line-height: 1.3; letter-spacing: -.025em; }
.legal-card h3 { margin: 25px 0 10px; font-size: 17px; }
.legal-card p, .legal-card li, .legal-card dd { color: #c5cde0; line-height: 1.75; font-size: 15px; }
.legal-card p:last-child, .legal-card ul:last-child { margin-bottom: 0; }
.legal-card ul { padding-left: 22px; }
.legal-card li + li { margin-top: 10px; }
.legal-card a { color: #c5b7ff; text-decoration: underline; text-underline-offset: 3px; }
.legal-card dl { margin: 0; }
.legal-card dt { margin-top: 17px; color: #f0efff; font-weight: 700; }
.legal-card dd { margin-left: 0; }
.legal-placeholder { color: #ffe3a5; font-weight: 700; }
.legal-note { padding: 14px 18px; border-left: 3px solid #9e89ff; background: rgba(145, 117, 255, .1); }
.legal-related { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 36px; }
.legal-related a { color: #cbbfff; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 620px) {
  .legal-main { padding: 48px 0 76px; }
  .legal-card { padding: 23px 20px; }
  .legal-card h2 { font-size: 21px; }
}
