body.legal { overflow: auto; }
.legal .nav { position: sticky; }
.legal-back { font-size: 14px; color: var(--muted); transition: color .3s; }
.legal-back:hover { color: var(--text); }
.legal-main { max-width: 760px; padding-top: 80px; padding-bottom: 120px; }
.legal-main h1 { font-size: clamp(40px, 6vw, 72px); font-weight: 300; letter-spacing: -.03em; line-height: 1.05; margin: 20px 0 48px; }
.legal-main h2 { font-size: 20px; font-weight: 500; letter-spacing: -.01em; margin: 44px 0 10px; }
.legal-main p, .legal-main li { color: var(--muted); font-size: 16px; line-height: 1.7; }
.legal-main p + p { margin-top: 12px; }
.legal-main a { color: var(--text); border-bottom: 1px solid var(--line); }
.legal-main a:hover { border-color: var(--text); }
.legal-main ul { list-style: none; display: grid; gap: 10px; }
.legal-main strong { color: var(--text); font-weight: 500; }
.legal-foot { margin-top: 72px; padding-top: 32px; border-top: 1px solid var(--line); }
