/* ---------- Rechtliche Seiten ---------- */
.l-hero{padding:clamp(130px,20vh,190px) 0 clamp(50px,8vh,80px);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.l-hero::before{content:"";position:absolute;width:55vmax;height:55vmax;right:-22vmax;top:-30vmax;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 40%,transparent),transparent 62%);filter:blur(40px);opacity:.55;pointer-events:none}
.l-hero .tag{display:flex}
.l-title{font-size:clamp(36px,7vw,120px);position:relative}
.l-sub{margin-top:24px;color:var(--muted);max-width:620px;position:relative}

.l-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,7vw,120px);padding-top:clamp(60px,9vh,100px);padding-bottom:clamp(90px,14vh,160px)}
.l-toc{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}
.l-toc a{padding:7px 0 7px 18px;font-size:14px;color:var(--muted);position:relative;transition:color .3s}
.l-toc a::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transition:transform .4s var(--ease)}
.l-toc a:hover{color:var(--cream)}
.l-toc a.on{color:var(--cream)}
.l-toc a.on::before{transform:scaleY(1)}

.prose{max-width:760px}
.prose section{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.prose section:last-child{border-bottom:0}
.prose h2{font-family:var(--display);font-stretch:115%;font-weight:800;font-size:clamp(22px,2.2vw,30px);text-transform:uppercase;line-height:1.1;margin-bottom:20px;display:flex;gap:14px;align-items:baseline}
.prose h2 .n{flex-shrink:0;white-space:nowrap;font-family:var(--mono);font-size:13px;color:var(--accent);font-weight:400;letter-spacing:.08em}
.prose h3{font-size:17px;font-weight:600;margin:26px 0 10px}
.prose p,.prose li{color:color-mix(in srgb,var(--cream) 80%,transparent);font-size:16px;line-height:1.75}
.prose p+p{margin-top:14px}
.prose ul{margin:12px 0 0 20px;display:grid;gap:6px}
.prose a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent);word-break:break-word}
.prose strong{color:var(--cream);font-weight:600}
.addr{font-style:normal;padding:22px 24px;border-radius:18px;background:var(--ink-2);border:1px solid var(--line);line-height:1.8;color:var(--cream);margin-top:6px}
.todo{background:color-mix(in srgb,#FFD23F 22%,transparent);color:#FFD23F;border:1px dashed #FFD23F;border-radius:6px;padding:0 6px;font-style:normal;white-space:nowrap}
.l-stand{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:30px}

.draft-badge{position:fixed;left:16px;bottom:16px;z-index:85;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#FFD23F;color:#0E1129;font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.3);max-width:calc(100% - 32px)}
.draft-badge b{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

@media (max-width:900px){
  .l-body{grid-template-columns:minmax(0,1fr)}
  .prose h2{overflow-wrap:anywhere;hyphens:auto}
  .l-toc{position:relative;top:0;flex-direction:row;flex-wrap:wrap;gap:8px;border-left:0}
  .l-toc a{padding:7px 14px;border:1px solid var(--line);border-radius:99px;font-size:13px}
  .l-toc a::before{display:none}
  .todo{white-space:normal}
}
