/* Rechtsseiten (Impressum, Datenschutz) und 404. Baut auf style.css auf. */
main.legal{padding:calc(var(--nav-h) + clamp(48px,7vw,96px)) 0 clamp(72px,9vw,128px)}
.legal-head{max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.legal-head h1{font-size:clamp(36px,4.6vw,58px);hyphens:manual}
.stand{margin-top:14px;font-size:var(--t-15);color:var(--muted)}

.legal-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:960px){.legal-grid{grid-template-columns:240px minmax(0,680px);gap:72px;align-items:start}}

.toc{order:-1}
@media(min-width:960px){.toc{position:sticky;top:calc(var(--nav-h) + 40px)}}
.toc-title{font-family:var(--disp);font-size:var(--t-13);font-weight:600;letter-spacing:.02em;color:var(--text-h);margin-bottom:10px}
.toc ol{border-left:1px solid var(--line)}
.toc li a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:var(--t-14);line-height:1.45;border-radius:2px;transition:color .15s linear,opacity .15s linear}
.toc li a:hover{color:var(--text)}
.toc li a.is-active{color:var(--text-h);border-left-color:var(--accent)}
.toc li a:active{opacity:.6}
@media(max-width:959px){.toc ol{border-left:0}.toc li a{padding:5px 0;border-left:0;margin:0}.toc li a.is-active{color:var(--accent-soft)}}

.legal-body{line-height:1.6;color:var(--text);font-size:var(--t-16)}
.legal-body h2{max-width:none;font-size:clamp(22px,2vw,27px);margin:40px 0 12px;padding-top:28px;border-top:1px solid var(--line-soft);scroll-margin-top:calc(var(--nav-h) + 24px)}
.legal-body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal-body h3{font-family:var(--body);font-size:var(--t-17);font-weight:600;letter-spacing:0;margin:24px 0 8px}
.legal-body p{margin-bottom:14px;max-width:none}
.legal-body ul{margin:0 0 14px 20px;list-style:disc}
.legal-body li{margin-bottom:4px}
.legal-body a{color:var(--accent-soft);text-decoration:underline;text-decoration-color:rgba(76,132,255,.4);text-underline-offset:3px;border-radius:2px;transition:text-decoration-color .15s linear,opacity .15s linear}
.legal-body a:hover{text-decoration-color:currentColor}
.legal-body a:active{opacity:.7}

.todo-box{margin:0 0 18px;padding:14px 16px;border:1px dashed rgba(255,196,0,.45);border-radius:var(--r-s);background:rgba(255,196,0,.05);font-size:var(--t-15);line-height:1.55;color:var(--text)}
.todo-box .todo{margin-right:6px}

.nf{min-height:70svh;display:flex;align-items:center}
.nf p{max-width:36em;margin-top:22px}
.nf .cta-row{justify-content:flex-start;margin-top:28px}
