/* ============================================================
   legal.css — gemeinsamer Stil fuer Impressum & Datenschutz
   Gleiches Token-System wie index.html (hell, monochrom-warm).
   ============================================================ */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/PlusJakartaSans.woff2') format('woff2')}
:root{
  --paper:#eee4d0; --card:#fdf9ef; --footer:#e7dcc4;
  --ink:#1c100e; --espresso:#241612; --text:#3a2a24;
  --muted:rgba(28,16,14,.62); --faint:rgba(28,16,14,.42);
  --line:rgba(28,16,14,.12); --line-strong:rgba(28,16,14,.20);
  --taupe:#8a6f61; --on-dark:#f4ecdc;
  --page-pad:clamp(20px,5vw,48px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable both-edges;-webkit-text-size-adjust:100%}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--paper);color:var(--text);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);transition:text-decoration-color .2s}
a:hover{text-decoration-color:var(--ink)}

/* top bar */
.lbar{position:sticky;top:0;z-index:10;background:rgba(238,228,208,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.lbar__in{max-width:880px;margin:0 auto;padding:16px var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:16px}
.lbrand{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.lbrand__mark{width:30px;height:30px;border-radius:9px;background:var(--espresso);color:var(--on-dark);display:grid;place-items:center;font-size:.82rem;font-weight:800}
.lback{font-size:.92rem;color:var(--muted);text-decoration:none;white-space:nowrap}
.lback:hover{color:var(--ink)}

/* content */
.lwrap{max-width:780px;margin:0 auto;padding:clamp(40px,8vh,76px) var(--page-pad) clamp(56px,10vh,104px)}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:14px}
.lwrap h1{font-weight:800;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:24px}
.lwrap h2{font-weight:700;font-size:clamp(1.2rem,2.4vw,1.55rem);letter-spacing:-.02em;color:var(--ink);margin:40px 0 12px}
.lwrap h3{font-weight:700;font-size:1.05rem;color:var(--ink);margin:24px 0 8px}
.lwrap p{margin-bottom:14px;max-width:68ch}
.lwrap ul{margin:0 0 16px 1.1em;max-width:68ch}
.lwrap li{margin-bottom:6px}
.lwrap strong{color:var(--ink);font-weight:700}
.lwrap address{font-style:normal;line-height:1.7}

/* placeholder + hinweis */
.ph{background:rgba(138,111,97,.16);color:var(--ink);font-weight:600;padding:1px 6px;border-radius:5px;border:1px dashed var(--line-strong)}
.lnote{margin:18px 0;font-size:.93rem;color:var(--muted);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--taupe);border-radius:10px;padding:16px 18px}
.lnote strong{color:var(--ink)}

/* footer */
.lfoot{border-top:1px solid var(--line);background:var(--footer)}
.lfoot__in{max-width:880px;margin:0 auto;padding:26px var(--page-pad);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--muted)}
.lfoot a{color:var(--muted)}
.lfoot a:hover{color:var(--ink)}
.lfoot__links{display:flex;gap:20px;flex-wrap:wrap}
