/* Legal pages — Impressum, Privacy, Terms.
   Editorial, calm, readable. Inherits .page from contact/blog. */

.legal-body{flex-direction:column;gap:5rem;display:flex;max-width:64rem}
.legal-section{flex-direction:column;gap:1.6rem;display:flex;scroll-margin-top:6rem}
.legal-section h2{font-family:var(--font-display);color:var(--ink);letter-spacing:var(--tracking-tighter);font-size:2rem;font-weight:700;line-height:1.15;margin:0 0 .4rem}
.legal-section h3{font-family:var(--font-display);color:var(--ink);letter-spacing:var(--tracking-tight);font-size:1.4rem;font-weight:600;line-height:1.2;margin:1.4rem 0 .2rem}
.legal-section p,.legal-section li{color:var(--ink-2);font-size:1.1rem;line-height:1.65;margin:0}
.legal-section ul{flex-direction:column;gap:.7rem;padding-left:1.4rem;margin:.2rem 0;display:flex;list-style:disc}
.legal-section a{color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .24s,color .24s}
.legal-section a:hover{color:var(--lime-500);border-color:var(--lime-500)}
.legal-section strong{color:var(--ink);font-weight:500}

/* Bilingual card pair — DE block, then EN block. Quiet labels. */
.legal-card{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.7rem;padding:1.8rem 2rem;display:flex}
.legal-card+.legal-card{margin-top:-.4rem}
.legal-lang{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .2rem;font-family:ui-monospace,monospace;font-size:.85rem}
.legal-card p{color:var(--ink-2);font-size:1.1rem;line-height:1.65;margin:0}
.legal-card address{color:var(--ink-2);font-size:1.1rem;line-height:1.7;font-style:normal}
.legal-card .legal-key{color:var(--ink-3);letter-spacing:.04em;display:inline-block;min-width:11rem;font-family:ui-monospace,monospace;font-size:.95rem}
.legal-row{flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;display:flex}

/* Placeholder values that Hendrik fills in. Lime so he can spot them. */
.legal-fill{background:#88cb1e1f;color:var(--lime-500);border:1px solid #88cb1e4d;border-radius:4px;padding:.05rem .45rem;font-family:ui-monospace,monospace;font-size:.95rem;font-weight:500}

/* In-page TOC */
.legal-toc{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.7rem;margin-bottom:3.6rem;padding:1.4rem 1.8rem;display:flex}
.legal-toc__label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .4rem;font-family:ui-monospace,monospace;font-size:.85rem}
.legal-toc__list{flex-wrap:wrap;gap:.4rem 1.6rem;margin:0;padding:0;list-style:none;display:flex}
.legal-toc__list a{color:var(--ink-2);font-size:1rem;text-decoration:none;transition:color .24s}
.legal-toc__list a:hover{color:var(--lime-500)}

.legal-notice{color:var(--ink-3);font-size:.95rem;line-height:1.55}
.legal-notice em{color:var(--ink-2);font-style:italic;font-weight:400}

/* Updated date footer */
.legal-updated{border-top:1px solid var(--line);color:var(--ink-3);letter-spacing:.04em;margin-top:2rem;padding-top:2rem;font-family:ui-monospace,monospace;font-size:.95rem}
