.legal-page { max-width: 800px; margin-inline: auto; }
.legal-heading { margin-bottom: 32px; }
.legal-heading h1 { font-size: clamp(36px, 6vw, 60px); line-height: 1.08; }
.legal-heading p { color: var(--muted); font-size: 18px; line-height: 1.6; }
.legal-content { padding: clamp(20px, 4vw, 40px); background: var(--card); border: 1px solid var(--line); border-radius: 15px; }
.legal-content section + section { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-content h2 { margin: 0 0 12px; font-size: 22px; letter-spacing: -.02em; }
.legal-content p, .legal-content li { font-size: 15px; line-height: 1.75; }
.legal-content p:last-child, .legal-content ul:last-child { margin-bottom: 0; }
.legal-content ul { padding-left: 22px; }
.legal-content li + li { margin-top: 8px; }
.legal-content a, .site-footer a { color: var(--green); text-underline-offset: 4px; }
.legal-content a:hover, .site-footer a:hover { color: var(--ink); }
.legal-content a:focus-visible, .site-footer a:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; border-radius: 2px; }
.site-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
