.legal-page { min-height: 100svh; background: radial-gradient(ellipse at 4% 0%, #3e367d26, transparent 30%), radial-gradient(ellipse at 95% 12%, #9d506815, transparent 24%), #090918; }
.legal-main { width: min(1180px, calc(100% - 64px)); margin: 16px auto 72px; }
.legal-draft { padding: 16px 20px; border: 1px solid #a69be63b; border-radius: 12px; background: #a69be610; font-size: 13px; line-height: 1.65; }
.legal-draft strong { color: #ddd7ff; font-size: 14px; }
.legal-draft p { margin: 4px 0 0; color: #bbb7ce; }
.legal-scope { max-width: 800px; padding: 14px 0 16px; border-bottom: 1px solid #a49ac72b; font-size: 13px; line-height: 1.7; }
.legal-scope strong { color: #ddd7ef; font-size: 13px; }
.legal-scope p { margin: 5px 0 0; color: #aaa5bf; }
.legal-document-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 26px; }
.legal-document-nav a { border-radius: 9px; padding: 10px 14px; color: #bcb8d2; font-size: 13px; border: 1px solid transparent; }
.legal-document-nav a:hover { color: #fff; background: #b8aaff0a; }
.legal-document-nav a[aria-current] { background: #b8aaff12; color: #e0d9ff; border-color: #b8aaff29; }
.legal-heading { max-width: 800px; margin-block: 32px 44px; }
.legal-heading > span { color: #9f9ab8; font-size: 12px; }
.legal-heading h1 { font-size: clamp(32px, 4vw, 46px); letter-spacing: -.045em; line-height: 1.15; margin: 14px 0 18px; }
.legal-heading > p { font-size: 16px; line-height: 1.8; color: #c3bfd5; max-width: 740px; }
.legal-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.legal-toc { position: sticky; top: 28px; padding-inline-end: 12px; }
.legal-toc h2 { font-size: 13px; color: #e0d9f1; margin: 0 0 16px; }
.legal-toc ol, .legal-mobile-toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.legal-toc a, .legal-mobile-toc a { font-size: 12px; line-height: 1.6; color: #a7a2bd; }
.legal-toc a:hover, .legal-mobile-toc a:hover { color: #e6dfff; }
.legal-body { max-width: 780px; min-width: 0; }
.legal-section { scroll-margin-top: 28px; margin-bottom: 36px; padding-bottom: 32px; border-bottom: 1px solid #a49ac71c; }
.legal-section h2, .legal-review h2 { font-size: 21px; letter-spacing: -.025em; line-height: 1.4; margin: 0 0 16px; }
.legal-section p { margin-block: 12px 0; font-size: 15px; line-height: 1.85; color: #c8c3d8; overflow-wrap: anywhere; }
.legal-section a { color: #bfb2ff; text-decoration: underline; text-underline-offset: 3px; }
.legal-references { margin-top: 18px; padding-left: 18px; display: grid; gap: 8px; font-size: 13px; line-height: 1.6; }
.legal-contact { padding: 26px; border: 1px solid #a99ed22b; border-radius: 16px; background: #161526; }
.legal-contact strong { color: #eee9fa; }
.legal-contact dl { display: grid; gap: 18px; margin: 24px 0 0; }
.legal-contact dt { color: #9e97b5; font-size: 12px; margin-bottom: 5px; }
.legal-contact dd { margin: 0; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; color: #e0d9ef; }
.legal-review { border-radius: 14px; padding: 24px; background: #b29de00a; border: 1px dashed #b29de03b; }
.legal-review h2 { font-size: 18px; }
.legal-review ul { margin: 0; padding-left: 18px; display: grid; gap: 12px; }
.legal-review li { font-size: 13px; line-height: 1.75; color: #b5aec7; }
.legal-mobile-toc { display: none; }
@media (max-width: 800px) {
  .legal-main { width: calc(100% - 40px); margin-top: 10px; }
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .legal-toc { display: none; }
  .legal-mobile-toc { display: block; padding: 16px 0; margin-bottom: 30px; border-block: 1px solid #a49ac726; }
  .legal-mobile-toc summary { font-size: 14px; color: #ddd5ee; cursor: pointer; }
  .legal-mobile-toc ol { margin-top: 18px; }
  .legal-heading { margin-bottom: 28px; }
}
@media (max-width: 480px) {
  .legal-main { width: calc(100% - 32px); }
  .legal-document-nav { gap: 4px; }
  .legal-document-nav a { font-size: 12px; padding: 10px; }
  .legal-heading > p { font-size: 15px; }
  .legal-section h2 { font-size: 20px; }
  .legal-section p { font-size: 14px; }
  .legal-contact, .legal-review { padding: 20px; }
}
