/* Legal pages (Impressum, Datenschutz, AGB, Widerruf). Uses the site's design tokens from style.css. */
.lp{max-width:780px}
.lp .intro{color:var(--text-muted);margin:0 0 28px}
.lp section{margin:0 0 36px;scroll-margin-top:96px}
.lp h2{font-size:clamp(20px,2vw,25px);letter-spacing:-.02em;line-height:1.2;margin:0 0 12px}
.lp p,.legal li{line-height:1.7}
.lp p{margin:0 0 12px}
.lp ul{padding-left:22px;margin:0 0 12px}
.lp a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--marker-deep);text-decoration-thickness:2px}
.lp .toc{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);padding:22px 26px;margin:0 0 40px}
.lp .toc h2{font-size:16px;margin:0}
.lp .toc ol{columns:2;column-gap:36px;margin:10px 0 0;padding-left:20px;font-size:15px}
.lp .toc li{margin-bottom:5px;break-inside:avoid}
.lp .toc a{text-decoration:none}
.lp .toc a:hover{text-decoration:underline}
.lp .form-box{border:1px solid var(--text);border-radius:var(--r-md);padding:20px 24px;background:var(--card)}
.lp .form-box p{border-bottom:1px dotted var(--rule);padding-bottom:10px}
.lp .form-box p:last-child{border:0;margin:0;padding:0}
@media (max-width:640px){.legal .toc ol{columns:1}}
.lp ul{list-style:disc}
