/* BUMK · Rechtliches, im Stil der Startseite */
@font-face{font-family:"Archivo";src:url("fonts/archivo.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Jakarta";src:url("fonts/plus-jakarta-sans.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{
  --night:#0A140F;--night2:#0F1D16;--moss:#16291F;--line:rgba(242,237,225,.12);
  --cream:#EFE2C2;--mute:#A9B6AB;--text:#D9D7C6;--sun:#F5C23E;--red:#E0332B;--leaf:#2E8B57;
  --display:"Archivo","Jakarta",system-ui,sans-serif;--body:"Jakarta",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);--head:74px;color-scheme:dark
}
*{box-sizing:border-box}
html{background:var(--night);overflow-x:clip;scroll-padding-top:calc(var(--head) + 30px)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--night);color:var(--cream);font:400 1.0625rem/1.7 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:2px solid var(--sun);outline-offset:4px}
.wrap{max-width:1320px;margin:0 auto;padding-inline:clamp(18px,4vw,48px)}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--sun);color:#111;padding:10px 16px;font-weight:700}.skip:focus{left:0}
.disp{font-family:var(--display);font-stretch:118%;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:.92}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 .78rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--sun)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}

/* Knöpfe */
.btn{--bg:var(--sun);--fg:#14200F;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;border-radius:999px;background:var(--bg);color:var(--fg);font:700 1rem/1 var(--body);text-decoration:none;border:0;cursor:pointer;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cream);transform:translateY(101%);border-radius:inherit;transition:transform .5s var(--ease-out)}
.btn:hover::before{transform:none}
.btn.wa{--bg:#25D366;--fg:#0B2A17}
.btn .arr,.next .arr{display:inline-block;transition:transform .4s var(--ease-out)}.btn:hover .arr{transform:translateX(4px)}

/* Kopfzeile, bleibt immer stehen */
.hdr{position:fixed;inset:0 0 auto 0;z-index:80;padding-top:env(safe-area-inset-top,0px);transition:background .4s,box-shadow .4s}
.hdr.solid{background:rgba(10,20,15,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
@media(max-width:760px){.hdr.solid{background:rgba(10,20,15,.96);-webkit-backdrop-filter:none;backdrop-filter:none}}
.hdr .wrap{height:var(--head);display:flex;align-items:center;gap:16px}
.logo{font:800 1.55rem/1 var(--display);font-stretch:118%;letter-spacing:-.02em;color:var(--red);text-decoration:none}
.hsp{margin-left:auto;display:flex;align-items:center;gap:10px}
.hsp .tel{color:var(--mute);text-decoration:none;font-weight:600;font-size:.95rem;margin-right:6px}
.menu-btn{width:52px;height:52px;border-radius:50%;border:0;background:var(--sun);cursor:pointer;display:grid;place-content:center;gap:6px;padding:0}
.menu-btn span{display:block;width:20px;height:2px;background:#14200F;border-radius:2px;transition:transform .45s var(--ease-out)}
.menu-open .menu-btn span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-btn span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media(max-width:760px){.hsp .tel,.hsp .btn{display:none}}

/* Menü: ruhige Liste, passt auf jedes Handy */
.menu{position:fixed;inset:0;z-index:70;background:radial-gradient(120% 70% at 100% 0%,rgba(46,139,87,.32),transparent 60%),radial-gradient(90% 60% at 0% 100%,rgba(245,194,62,.08),transparent 60%),var(--moss);clip-path:circle(0% at calc(100% - 56px) 40px);transition:clip-path .8s var(--ease-out),visibility 0s .8s;visibility:hidden;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--head) + env(safe-area-inset-top,0px) + 16px) 0 calc(24px + env(safe-area-inset-bottom,0px))}
.menu-open .menu{clip-path:circle(150% at calc(100% - 56px) 40px);visibility:visible;transition:clip-path .8s var(--ease-out)}
.menu .wrap{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:28px}
.menu nav{display:grid;border-top:1px solid var(--line)}
.menu nav a{display:grid;grid-template-columns:clamp(30px,4vw,56px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:clamp(13px,1.8vw,20px) 0;border-bottom:1px solid var(--line);font:800 clamp(1.2rem,5.4vw,4rem)/1.08 var(--display);font-stretch:108%;text-transform:uppercase;letter-spacing:-.01em;text-decoration:none;color:var(--cream);overflow-wrap:break-word;transform:translateY(26px);opacity:0;transition:transform .7s var(--ease-out),opacity .5s,color .3s}
.menu nav a small{font:700 .76rem var(--body);color:var(--sun);letter-spacing:.14em}
.menu nav a::after{content:"→";width:clamp(38px,4vw,54px);height:clamp(38px,4vw,54px);border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:600 1rem var(--body);color:var(--sun);transition:background .35s,color .35s,border-color .35s,transform .5s var(--ease-out)}
.menu nav a:hover{color:var(--sun)}
.menu nav a:hover::after{background:var(--sun);border-color:var(--sun);color:#14200F;transform:rotate(-45deg)}
.menu-open .menu nav a{transform:none;opacity:1}
.menu-open .menu nav a:nth-child(2){transition-delay:.05s}.menu-open .menu nav a:nth-child(3){transition-delay:.1s}.menu-open .menu nav a:nth-child(4){transition-delay:.15s}.menu-open .menu nav a:nth-child(5){transition-delay:.2s}
.menu .mfoot{display:grid;grid-template-columns:1fr 1fr;gap:10px;opacity:0;transform:translateY(18px);transition:opacity .5s,transform .7s var(--ease-out)}
.menu-open .menu .mfoot{opacity:1;transform:none;transition-delay:.28s}
.menu .mfoot .btn{justify-content:center;padding:15px 12px}
.menu .minfo{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:8px;color:var(--mute);font-size:.92rem}
.menu .minfo a{color:var(--cream);text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.menu .mlegal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.82rem;padding-top:14px;margin-top:4px;border-top:1px solid var(--line)}
.menu .mlegal a{color:var(--mute);text-decoration:none}.menu .mlegal a:hover{color:var(--cream)}
@media(min-width:900px){.menu .mfoot{grid-template-columns:auto auto 1fr;align-items:center}.menu .mfoot .btn{padding:16px 28px}.menu .minfo{grid-column:auto;margin:0;justify-content:flex-end}}
@media(max-height:620px){.menu nav a{padding:9px 0}.menu nav a::after{width:34px;height:34px}}

/* Seitenkopf */
.lhero{position:relative;overflow:hidden;padding-top:calc(var(--head) + clamp(48px,8vw,110px));background:radial-gradient(1000px 520px at 88% -10%,rgba(46,139,87,.38),transparent 62%),linear-gradient(180deg,var(--moss) 0%,var(--night) 100%)}
.lhero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.lhero-bg .para{position:absolute;right:-2vw;top:4vw;font:800 clamp(16rem,42vw,44rem)/.8 var(--display);color:transparent;-webkit-text-stroke:1.5px rgba(245,194,62,.22);will-change:transform}
.lhero .wrap{position:relative}
.crumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:600;font-size:.95rem;color:var(--mute)}
.crumb a{text-decoration:none;color:var(--cream)}.crumb a:hover{color:var(--sun)}
.crumb .dno{margin-left:auto;font:800 1.2rem var(--display);font-stretch:118%;color:var(--sun)}.crumb .dno small{font-size:.6em;color:var(--mute);margin-left:2px}
.lhero h1{margin:clamp(26px,4vw,48px) 0 0;font:800 min(calc(100vw / var(--n)),10rem)/.9 var(--display);font-stretch:118%;text-transform:uppercase;letter-spacing:-.02em;color:var(--cream)}
.lhero h1 .ln{display:block;overflow:hidden;padding:.16em 0 .06em;margin:-.16em 0 -.06em;white-space:nowrap}
.lhero h1 .c{display:inline-block;transform-origin:50% 100%}
.lmeta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 60px;align-items:end;margin-top:clamp(28px,4vw,48px);padding:28px 0 clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.lmeta .lead{margin:0;max-width:52ch;color:var(--text);font-size:1.15rem}
.lmeta dl{margin:0;display:flex;gap:clamp(20px,3vw,44px)}
.lmeta dt{font:700 .72rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.lmeta dd{margin:6px 0 0;font:800 1.25rem var(--display);font-stretch:112%;color:var(--cream);white-space:nowrap}
@media(max-width:760px){.lmeta{grid-template-columns:1fr}.lmeta dl{flex-wrap:wrap}.lmeta dd{font-size:1.05rem}}
.lmq{border-top:1px solid var(--line);padding:18px 0;overflow:hidden;background:rgba(10,20,15,.35)}
.lmq-row{display:flex;width:max-content;white-space:nowrap;will-change:transform}
.lmq-row span{font:800 clamp(1.6rem,3.6vw,3rem)/1 var(--display);font-stretch:118%;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(242,237,225,.35);padding-inline:24px}
.lmq-row i{font:800 clamp(1.2rem,2.4vw,2rem)/1 var(--display);font-style:normal;color:var(--sun);align-self:center}

/* Dokument-Wahl */
.docs{display:flex;gap:10px;flex-wrap:wrap;padding-block:26px;border-bottom:1px solid var(--line)}
.docs a{position:relative;display:inline-flex;align-items:baseline;gap:10px;padding:12px 20px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-weight:700;overflow:hidden;isolation:isolate;transition:color .35s,border-color .35s}
.docs a small{font:700 .72rem var(--body);color:var(--mute);letter-spacing:.1em;transition:color .35s}
.docs a::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.docs a:hover{color:#14200F;border-color:var(--cream)}.docs a:hover small{color:#14200F}.docs a:hover::before{transform:none}
.docs a[aria-current="page"]{background:var(--sun);border-color:var(--sun);color:#14200F}.docs a[aria-current="page"] small{color:#14200F}
.docs a[aria-current="page"]::before{display:none}

/* Handy: Abschnitte als Leiste */
.chipbar{display:none}
@media(max-width:900px){
  .chipbar{display:block;position:sticky;top:calc(var(--head) + env(safe-area-inset-top,0px));z-index:40;background:rgba(10,20,15,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .chipbar-in{display:flex;gap:8px;overflow-x:auto;padding:10px clamp(18px,4vw,48px);scrollbar-width:none}
  .chipbar-in::-webkit-scrollbar{display:none}
  .chipbar a{flex:none;min-width:48px;text-align:center;padding:9px 14px;border-radius:999px;border:1px solid var(--line);font:800 .9rem var(--display);font-stretch:112%;text-decoration:none;color:var(--mute);transition:background .3s,color .3s,border-color .3s}
  .chipbar a.on{background:var(--sun);border-color:var(--sun);color:#14200F}
}

/* Inhalt */
.ldoc{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start;padding-top:clamp(50px,7vw,100px);padding-bottom:clamp(70px,9vw,130px)}
.toc{position:sticky;top:calc(var(--head) + 36px);display:grid;grid-template-columns:2px minmax(0,1fr);gap:0 20px}
.toc p{grid-column:1/-1;margin:0 0 16px;font:700 .74rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.toc ol{grid-column:2;grid-row:2;list-style:none;margin:0;padding:0}
.toc-prog{grid-column:1;grid-row:2;background:var(--line);position:relative;border-radius:2px;overflow:hidden}
.toc-prog i{position:absolute;inset:0;background:var(--sun);transform-origin:top;transform:scaleY(0)}
.toc a{display:flex;gap:14px;align-items:baseline;padding:10px 0;text-decoration:none;color:var(--mute);font-weight:600;font-size:.95rem;line-height:1.35;transition:color .3s,transform .5s var(--ease-out)}
.toc a span{font:800 .8rem var(--display);font-stretch:112%;color:rgba(169,182,171,.6);transition:color .3s}
.toc a:hover{color:var(--cream);transform:translateX(4px)}
.toc a.on{color:var(--cream)}.toc a.on span{color:var(--sun)}
@media(max-width:900px){.ldoc{grid-template-columns:1fr}.toc{display:none}}
.lpaper{min-width:0}
.ls{display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:clamp(40px,5vw,64px);margin-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.ls:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.ls-head{display:flex;align-items:flex-start;gap:clamp(16px,2.4vw,30px);margin-bottom:22px}
.ls-no{flex:none;font:800 clamp(2.6rem,5vw,4.4rem)/.8 var(--display);font-stretch:118%;color:transparent;-webkit-text-stroke:1.2px rgba(242,237,225,.3);transition:color .6s,-webkit-text-stroke-color .6s}
.ls.on .ls-no{color:var(--sun);-webkit-text-stroke-color:var(--sun)}
.ls h2{margin:0;padding-top:.15em;font:800 clamp(1.5rem,3vw,2.5rem)/1 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.01em;color:var(--cream);text-wrap:balance;hyphens:auto;overflow-wrap:break-word}
.ls-body{padding-left:calc(clamp(2.6rem,5vw,4.4rem) * 1.3 + clamp(16px,2.4vw,30px));max-width:calc(72ch + 120px)}
@media(max-width:600px){.ls-body{padding-left:0}.ls-no{font-size:2.3rem}.ls h2{font-size:clamp(1rem,5vw,1.3rem);font-stretch:100%}}
.ls h2{min-width:0}
.ls-body p{margin:0 0 14px;color:var(--text);overflow-wrap:anywhere}
.ls-body p:last-child{margin-bottom:0}
.ls-body ul{margin:4px 0 16px;padding-left:20px}.ls-body li{margin:6px 0;color:var(--text)}
.ls-body li::marker{color:var(--sun)}
.ls-body strong{color:var(--cream)}
.ls-body .note{font-size:.92rem;color:var(--mute)}
.ls-body a{color:var(--sun)}
.ls-body h3{margin:22px 0 8px;font:800 1.05rem var(--body);color:var(--cream)}

/* Hilfe */
.lhelp{padding-block:clamp(80px,10vw,150px);background:var(--night2);border-block:1px solid var(--line);text-align:center;overflow:hidden}
.lhelp h2{font-size:clamp(2.4rem,8vw,7rem);margin:20px 0 0}
.lhelp .wm{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.lhelp .wm>span{display:inline-block}
.lhelp p{color:var(--mute);margin:22px auto 34px;max-width:46ch;font-size:1.15rem}
.lhelp .cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Nächstes Dokument */
.next{display:block;position:relative;overflow:hidden;isolation:isolate;text-decoration:none;padding-block:clamp(60px,9vw,130px);border-bottom:1px solid var(--line)}
.next::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sun);transform:translateY(101%);transition:transform .8s var(--ease-out)}
.next:hover::before{transform:none}
.next .wrap{display:block}
.next small{display:block;font:700 .78rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);transition:color .4s}
.next b{display:block;margin-top:18px;font-size:clamp(2rem,7.4vw,7rem);color:var(--cream);transition:color .4s;overflow-wrap:break-word;hyphens:auto}
.next:hover small,.next:hover b{color:#14200F}
.next:hover .arr{transform:translateX(18px)}

/* Fußzeile */
footer{padding-top:70px;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
@media(max-width:760px){.fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fgrid > div:first-child{grid-column:1/-1}.fgrid > div:nth-child(3){grid-column:1/-1;order:5}}
.fgrid a[href^="mailto"]{white-space:nowrap;overflow-wrap:normal}
.fgrid h4{margin:0 0 14px;font:700 .78rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.fgrid a,.fgrid span{display:block;padding:4px 0;color:var(--cream);text-decoration:none;overflow-wrap:anywhere}
.fgrid a:hover{color:var(--sun)}
.fgrid p{color:var(--mute);margin:0;max-width:34ch}
.fbig{font:800 clamp(4rem,22vw,22rem)/.78 var(--display);font-stretch:118%;letter-spacing:-.03em;color:var(--red);margin:60px 0 -0.06em;text-align:center;white-space:nowrap}
.fbig .wm{display:inline-block;overflow:hidden;vertical-align:top}.fbig .wm>span{display:inline-block}
.fbot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px 0;color:var(--mute);font-size:.88rem;border-top:1px solid var(--line)}

/* Handy-Leiste */
.dock{display:none}
@media(max-width:760px){body{padding-bottom:80px}.dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--night);border-top:1px solid var(--line)}.dock .btn{padding:14px}}

/* Fortschritt + Mauszeiger */
.prog{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--sun);transform-origin:left;transform:scaleX(0);z-index:90;pointer-events:none}
.cur{position:fixed;left:0;top:0;z-index:150;pointer-events:none;border-radius:50%;display:none;width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid rgba(242,237,225,.55);place-items:center;opacity:0;transition:width .35s var(--ease-out),height .35s var(--ease-out),margin .35s var(--ease-out),background .3s,border-color .3s,opacity .3s}
.has-cursor .cur{display:grid}
.cur span{font:800 .7rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:#14200F;opacity:0;transition:opacity .2s}
.cur.big{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--sun);border-color:var(--sun)}.cur.big span{opacity:1}

/* Startzustand der Überschrift (nur mit JS, fällt nach 3 s sicher zurück) */
.js:not(.ready) .lhero h1 .c{transform:translateY(115%)}
.js:not(.ready) .lmeta,.js:not(.ready) .crumb{opacity:0}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.hdr,.menu,.toc,.chipbar,.docs,.lhelp,.next,.dock,footer,.lmq,.lhero-bg,.cur,.prog{display:none!important}body{background:#fff;color:#000}.lhero{background:none;padding-top:0}.lhero h1,.ls h2,.ls-body p,.ls-body li,.lmeta dd{color:#000}.ldoc{display:block;padding:0}.ls-no{-webkit-text-stroke-color:#000}}
