:root{--ink:#0C0D10; --ink-2:#131418; --paper:#F1F2EE; --paper-dim:#E7E8E2;
  --graphite:#A4A7AE; --graphite-d:#51555C; --line-d:#2B2D33; --line-l:#D0D1CA;
  --kern:#8A1E2D; --kern-bright:#A32438; --kern-soft:#D9B7BC;
  --max:1240px; --ease:cubic-bezier(.22,.9,.24,1);
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Archivo",Arial,Helvetica,sans-serif;
  --mono:"IBM Plex Mono","Courier New",monospace;
  color-scheme:dark;}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:104px}
body{background:var(--ink);color:var(--paper);font:1.06rem/1.7 var(--serif);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
::selection{background:var(--ui-accent);color:#fff}
a{color:inherit;text-underline-offset:.23em;text-decoration-thickness:1px}
button,input,textarea{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{color:inherit}
:where(a,button,summary,textarea):focus-visible{outline:2px solid var(--paper);outline-offset:5px}
.light :where(a,button,summary,textarea):focus-visible,.kp-memo a:focus-visible{outline-color:var(--ink)}
:where(main,section,.kompass,h3)[tabindex="-1"]:focus{outline:none}
img,svg{max-width:100%}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(22px,4vw,48px)}
.mono{font:400 .7rem/1.7 var(--mono);letter-spacing:.15em;text-transform:uppercase}
.skip{position:fixed;left:20px;top:16px;z-index:600;padding:.8rem 1.1rem;background:var(--paper);color:var(--ink);transform:translateY(-180%);font:500 .85rem var(--sans);text-decoration:none}
.skip:focus{transform:none;outline:2px solid var(--ui-accent)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}
header{position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid transparent;transition:background .25s,border-color .25s}
header.scrolled{background:rgba(12,13,16,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line-d)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font:820 1.1rem/1 var(--sans);font-variation-settings:"wdth" 120;letter-spacing:.16em;text-decoration:none;white-space:nowrap;flex-shrink:0}
.logo i{display:inline-block;width:.15em;height:.15em;background:var(--ui-accent);margin-left:.15em}
.nav-right{display:flex;align-items:center;gap:28px;min-width:0}
nav.menu{display:flex;align-items:center;gap:25px}
nav.menu a{position:relative;padding:14px 0;font:400 .67rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--graphite);white-space:nowrap;transition:color .2s}
nav.menu a:hover,nav.menu a.active{color:var(--paper)}
nav.menu a::after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--ui-soft);transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav.menu a.active::after{transform:scaleX(1)}
.lang{display:flex;align-items:stretch;border:1px solid var(--line-d)}
.lang a{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;padding:.5rem .62rem;font:400 .64rem/1 var(--mono);letter-spacing:.1em;text-decoration:none;color:var(--graphite);transition:background .2s,color .2s}
.lang a:hover{color:var(--paper);background:var(--ink-2)}
.lang a[aria-current="page"]{background:var(--ui-accent);color:#fff}
.burger{display:none;position:relative;width:44px;height:44px;border:0;background:none;cursor:pointer}
.burger span{position:absolute;left:9px;right:9px;height:1px;background:var(--paper);top:17px}
.burger span+span{top:26px}
body.menu-open,body.intro-open{overflow:hidden}
dialog.overlay{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:100px clamp(24px,8vw,100px) 44px;border:0;background:var(--ink);color:var(--paper);overflow-y:auto;overscroll-behavior:contain}
dialog.overlay:not([open]){display:none}
dialog.overlay[open]{display:flex;flex-direction:column;justify-content:center}
dialog.overlay::backdrop{background:var(--ink)}
.overlay-brand{position:absolute;top:31px;left:clamp(24px,8vw,100px);font:800 1.05rem var(--sans);letter-spacing:.16em}
.ov-close{position:absolute;right:clamp(18px,4vw,44px);top:20px;width:48px;height:48px;border:1px solid var(--line-d);background:none;cursor:pointer}
.ov-close::before,.ov-close::after{content:"";position:absolute;left:13px;right:13px;top:23px;height:1px;background:var(--paper);transform:rotate(45deg)}
.ov-close::after{transform:rotate(-45deg)}
.overlay nav:not(.lang){display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.overlay nav:not(.lang) a{font:250 clamp(1.8rem,6vw,3.8rem)/1.3 var(--serif);text-decoration:none}
.overlay nav:not(.lang) a:hover{color:var(--ui-soft);font-style:italic}
.overlay .ometa{margin-top:2.4rem;color:var(--graphite)}
.overlay .lang{margin-top:1.5rem;align-self:flex-start}
.hero{position:relative;min-height:100svh;padding:10rem 0 8rem;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(1100px 650px at 78% 18%,#1A1C22 0%,transparent 60%),radial-gradient(900px 700px at 12% 88%,#14161B 0%,transparent 55%),var(--ink)}
.hero .wrap{position:relative;z-index:2}
.hero-eyebrow{margin-bottom:3rem;color:var(--graphite)}
.marke{width:min(100%,1040px);line-height:1;font-size:0;font-weight:inherit}
.marke svg{display:block;width:100%;height:auto;overflow:visible}
.hero-lower{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);margin-top:3.8rem;align-items:end}
.hero .satz{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.38;font-weight:250;max-width:35ch;text-wrap:pretty}
.hero .satz em{font-weight:350}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;column-gap:2rem;row-gap:1rem;margin-top:2.3rem}
.text-link{display:inline-flex;align-items:center;gap:1.3rem;padding:.55rem 0;border-bottom:1px solid var(--ui-soft);font:400 .72rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.text-link svg{width:21px;height:21px;transition:transform .25s}
.text-link:hover svg{transform:translateX(4px)}
.quiet-link{display:inline-flex;align-items:center;min-height:44px;font:400 .72rem/1.4 var(--mono);letter-spacing:.035em;text-decoration:none;color:var(--graphite)}
.quiet-link:hover{color:var(--paper);text-decoration:underline}
.hero-context{max-width:36ch;border-top:1px solid var(--line-d);padding-top:1.25rem;color:var(--graphite)}
.hero-context .mono{color:var(--paper);font-size:.66rem;margin-bottom:1rem}
.hero-context p:not(.mono){font-size:.98rem;font-weight:300;line-height:1.6}
.hero-context .hero-promise{margin-top:1.15rem;font-style:italic;color:var(--paper)}
.scrollhint{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1rem;font-size:.6rem;letter-spacing:.1em;text-decoration:none;white-space:nowrap;color:var(--graphite);min-height:44px}
.scrollhint span{font-family:var(--sans);font-size:1.2rem;color:var(--paper)}
section{position:relative;padding:clamp(5.5rem,10vw,9rem) 0;background:var(--ink);color:var(--paper);scroll-margin-top:0}
.light{background:var(--paper);color:var(--ink);color-scheme:light}
.label{display:flex;align-items:center;gap:13px;margin-bottom:3rem}
.label::before{content:"";width:8px;height:8px;flex-shrink:0;background:var(--ui-accent)}
.label>span,.label>h2{font:400 .7rem/1.6 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--graphite);white-space:normal}
.label::after{content:"";flex:1;height:1px;background:var(--line-d);margin-left:14px}
.light .label>span,.light .label>h2{color:#51555C}
.light .label::after{background:var(--line-l)}
.manifest p.gross{font-size:clamp(1.9rem,4.2vw,3.45rem);font-weight:250;line-height:1.3;max-width:30ch;letter-spacing:-.01em}
.manifest .gross em{color:#fff;font-weight:350}
.manifest .zeile{display:block}
.manifest .schluss{color:var(--graphite);font-size:1.06rem;font-weight:300;line-height:1.75;max-width:66ch;margin-top:2rem}
.manifest .schluss:first-of-type{margin-top:2.8rem}
.lagen{padding-top:1rem}
.lagen h2{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.25;font-weight:250}
.lagen .liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,6vw,5.5rem);margin-top:2.4rem}
.lagen .zeile2{position:relative;font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:300;line-height:1.48;margin-bottom:1.45rem;padding-left:1.3rem;max-width:35ch}
.lagen .zeile2::before{content:"";position:absolute;width:5px;height:5px;top:.67em;left:0;background:var(--ui-accent)}
.lagen .fazit{margin-top:1.3rem;font-size:1.06rem;max-width:57ch;font-weight:300;font-style:italic;color:var(--graphite)}
.kompass{margin-top:4.5rem;padding-top:3.3rem;border-top:1px solid var(--line-d)}
.kompass .label{margin-bottom:1.7rem}
.kp-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start;margin-bottom:2.5rem}
.kompass .kp-titel{font-size:clamp(1.7rem,3.3vw,2.6rem);font-weight:250;line-height:1.18;max-width:22ch}
.kp-intro{font-size:1.12rem;font-weight:300;line-height:1.55;color:var(--paper)}
.kp-privacy{font:400 .76rem/1.6 var(--sans);color:var(--graphite);margin-top:.9rem;max-width:58ch}
.kp-fallback{color:var(--graphite);max-width:60ch}
.kp-interactive{display:none}
.kompass.is-ready .kp-interactive{display:block}
.kompass.is-ready .kp-fallback{display:none}
.kp-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 2.3rem;gap:16px}
.kp-progress li{display:flex;gap:12px;align-items:baseline;padding:.8rem 0;border-top:1px solid var(--line-d);font:400 .66rem/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--graphite)}
.kp-progress li>span:first-child{color:var(--graphite);flex-shrink:0}
.kp-progress li[aria-current="step"]{border-color:var(--ui-soft);color:var(--paper)}
.kp-progress li[aria-current="step"]>span:first-child,.kp-progress li.complete>span:first-child{color:var(--ui-soft)}
.kp-frage{font:400 .72rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper);margin:0 0 1.1rem}
.kp-optionen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kp-schritt[data-step="0"] .kp-opt:last-child{grid-column:1/-1}
.kp-schritt:not([data-step="0"]) .kp-optionen{grid-template-columns:repeat(3,minmax(0,1fr))}
.kp-opt{width:100%;display:block;text-align:left;min-width:0;min-height:65px;padding:1.05rem 1.25rem;border:1px solid #41434B;background:transparent;color:var(--paper);font:300 1.06rem/1.45 var(--serif);cursor:pointer;transition:background .2s,border-color .2s}
.kp-opt:hover{border-color:#85878D;background:#17191E}
.kp-opt[aria-pressed="true"]{border-color:var(--ui-soft);background:#23262C}
.kp-nav{margin-top:1.25rem}
.kp-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem 0;background:none;border:0;border-bottom:1px solid transparent;font:400 .69rem/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;color:var(--graphite);cursor:pointer}
.kp-link:hover{color:var(--paper);border-bottom-color:var(--graphite)}
.kp-memo{position:relative;background:var(--paper);color:var(--ink);padding:clamp(1.5rem,4vw,3rem);max-width:880px;color-scheme:light}
.kp-memo::after{content:"";position:absolute;right:24px;bottom:26px;width:11px;height:11px;background:var(--ui-accent)}
.kp-kopf{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.6rem 1rem;font:400 .65rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#51555C;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line-l)}
.kp-memo h3{font:650 clamp(1.15rem,2.3vw,1.7rem)/1.25 var(--sans);letter-spacing:-.015em;margin:0 0 1rem;overflow-wrap:break-word}
.kp-selections{font:400 .75rem/1.6 var(--sans);color:#51555C;margin:0 0 1.8rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line-l)}
.kp-memo h4{font:500 .68rem/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#51555C;margin:1.7rem 0 .65rem}
.kp-memo p,.kp-memo li{font:400 1.02rem/1.65 var(--serif);color:#24262C;margin:0 0 .6rem}
.kp-memo ul{list-style:none;padding:0}
.kp-memo li{position:relative;padding-left:1.15rem}
.kp-memo li::before{content:"";position:absolute;left:0;top:.75em;width:4px;height:4px;background:var(--ui-accent)}
.kp-memo .kp-cta{display:inline-flex;align-items:center;min-height:48px;max-width:100%;margin-top:1.8rem;padding:.9rem 1.4rem;background:var(--ink);color:var(--paper);font:400 .69rem/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:background .2s}
.kp-memo .kp-cta:hover{background:var(--ui-accent)}
.kp-memo .kp-hinweis{font:400 .75rem/1.6 var(--sans);color:#51555C;margin:1.4rem 1rem 0 0;max-width:84ch}
.kp-tools{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-top:1.1rem}
.kp-status{font:400 .8rem/1.6 var(--sans);max-width:78ch;color:var(--graphite);min-height:1.6em}
.kp-copy-fallback{max-width:880px;margin:1rem 0}
.kp-copy-fallback label{display:block;color:var(--graphite);font-size:.9rem;margin-bottom:.6rem}
.kp-copy-fallback textarea{display:block;width:100%;padding:1rem;border:1px solid #61636B;background:var(--paper);color:var(--ink);font:400 .92rem/1.5 var(--serif);resize:vertical}
.register{border-top:1px solid var(--line-l)}
.akte{position:relative;border-bottom:1px solid var(--line-l)}
.akte>summary{position:relative;list-style:none;display:grid;grid-template-columns:140px minmax(0,1fr) 30px;align-items:baseline;gap:24px;padding:2rem 0;cursor:pointer}
.akte>summary::-webkit-details-marker{display:none}
.akte .nr{font:400 .68rem/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ui-accent)}
.akte h3{font:280 clamp(1.4rem,3vw,2.35rem)/1.2 var(--serif);text-wrap:pretty}
.akte .pfeil{justify-self:end;font:300 1.65rem/1 var(--sans);color:#51555C;transition:transform .25s}
.akte[open] .pfeil{transform:rotate(45deg);color:var(--ui-accent)}
.akte[open]::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--ui-accent)}
.akte .inhalt{padding:0 45px 2rem 164px;max-width:970px}
.akte .inhalt p{font-size:1rem;font-weight:350;line-height:1.75;color:#373B42;margin-bottom:1rem}
.akte .inhalt p:last-child{margin-bottom:0}
.service-boundary{margin-top:2rem;max-width:95ch;font:400 .78rem/1.65 var(--sans);color:#51555C}
.fragen .register{border-color:var(--line-d)}
.fragen .akte{border-color:var(--line-d)}
.fragen .akte .nr{color:var(--ui-soft)}
.fragen .akte .pfeil{color:var(--graphite)}
.fragen .akte .inhalt p{color:var(--graphite)}
.fragen .akte h3{font-size:clamp(1.3rem,2.35vw,1.85rem)}
.fragen .akte .inhalt strong{font-weight:600;color:var(--paper)}
.fragen .akte .inhalt .grant-note{font:400 .82rem/1.6 var(--sans)}
.phasen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line-d);background:var(--line-d)}
.phase{background:var(--ink-2);padding:2.7rem clamp(1.5rem,3vw,2.5rem) 3rem}
.phase .mono{display:block;color:var(--ui-soft);margin-bottom:2rem}
.phase h3{font:250 1.9rem/1.25 var(--serif);margin-bottom:1rem}
.phase p{font-size:1rem;line-height:1.65;font-weight:300;color:var(--graphite)}
#arbeitsweise>.wrap>p{color:var(--graphite);max-width:68ch;margin-top:2rem;font-size:1rem;font-weight:300}
.person{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,90px);align-items:center}
.person h2{font:250 clamp(2.3rem,4.5vw,3.65rem)/1.15 var(--serif);margin-bottom:1.6rem}
.person h2 em{font-weight:350}
.person .lede{font-size:1.15rem;font-weight:300;line-height:1.65;color:#373B42;max-width:50ch}
.cv{margin-top:2.5rem;border-top:1px solid var(--line-l)}
.cv div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:1rem 0;border-bottom:1px solid var(--line-l);font-size:.97rem}
.cv dt{font:400 .65rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#51555C;padding-top:.25rem}
.cv dd{font-weight:350;line-height:1.65;min-width:0}
.portrait{width:100%;aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--ink);margin:0}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.08) brightness(.96);transition:transform .45s var(--ease)}
.portrait figcaption{position:absolute;left:0;bottom:0;padding:.65rem .9rem;background:var(--ink);color:var(--paper);font:400 .6rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;z-index:2}
.portrait::after{content:"";position:absolute;right:22px;bottom:22px;width:14px;height:14px;background:var(--ui-accent);z-index:2}
.antrieb{margin-top:5.5rem;padding-top:3.2rem;border-top:1px solid var(--line-l);scroll-margin-top:110px}
.antrieb .a-kopf,.antrieb .a-kadenz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,5rem)}
.antrieb .a-kopf{align-items:start}
.antrieb .a-kopf>div:first-child{position:sticky;top:125px}
.antrieb .label{margin-bottom:1.4rem}
.antrieb h3{font:750 clamp(1.7rem,3.4vw,2.65rem)/1.12 var(--sans);letter-spacing:-.025em;max-width:14ch}
.antrieb .a-text{max-width:60ch}
.antrieb .a-text p{font-size:clamp(1.05rem,1.45vw,1.15rem);line-height:1.75;font-weight:350;margin-bottom:1.4rem;color:#2A2D33}
.antrieb .a-text p:first-child::first-letter{float:left;font:750 3.1em/.88 var(--sans);margin:.08em .12em 0 0;color:var(--ink)}
.antrieb .a-text p.gross{font-size:clamp(1.14rem,1.8vw,1.35rem);line-height:1.65;color:var(--ink)}
.antrieb .a-kadenz{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line-l);align-items:end}
.antrieb .a-kadenz p{font:300 italic clamp(1.18rem,2vw,1.5rem)/1.5 var(--serif);margin:0;max-width:37ch}
.antrieb .a-kadenz p+p{margin-top:.6rem}
.antrieb .a-kadenz .zwei{position:relative;padding-right:1.8rem}
.antrieb .a-kadenz .zwei::after{content:"";position:absolute;right:0;bottom:.5em;width:10px;height:10px;background:var(--ui-accent)}
.antrieb .a-sig{margin-top:1.6rem;font:400 .66rem/1.6 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#51555C}
.kontakt{padding:clamp(7rem,12vw,11rem) 0 4.5rem;text-align:center;background:radial-gradient(900px 500px at 50% 0%,#191B21 0%,transparent 60%),var(--ink)}
.kontakt h2{font:250 clamp(2.2rem,5.5vw,4.4rem)/1.18 var(--serif);max-width:22ch;margin:0 auto;text-wrap:balance}
.kontakt h2 em{font-weight:350}
.kontakt .sub{color:var(--graphite);max-width:48ch;font-weight:300;font-size:1.15rem;line-height:1.65;margin:1.8rem auto 0}
.contact-context{color:var(--graphite);font-size:.95rem;font-weight:300;line-height:1.65;max-width:62ch;margin:1.5rem auto 0}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:2rem;margin-top:2.5rem;max-width:100%;padding:1.15rem 2.2rem;border:1px solid var(--paper);font:400 .72rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.cta svg{width:22px;height:22px;flex-shrink:0}
.cta:hover{background:var(--paper);color:var(--ink)}
.contact-mailnote{font:400 .73rem/1.6 var(--sans);color:var(--graphite);margin:1rem auto 0;max-width:62ch}
.adresse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;text-align:left;margin-top:5rem;padding-top:2rem;border-top:1px solid var(--line-d)}
.adresse b{display:block;font:400 .66rem/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-bottom:.7rem}
.adresse span,.adresse a{font-size:.93rem;font-weight:300;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.adresse a:hover{text-decoration:underline}
.abspann{padding:3rem 0 0;border-top:1px solid var(--line-d);overflow:hidden}
.abspann .wm{width:min(88%,1144px);margin:0 auto min(3.788%,49.24px);line-height:0;user-select:none}
/* v20.3: the wordmark sits entirely above the footer hairline; the SVG's bottom edge is the baseline.
   Baseline-to-line gap = 0.25 cap height; cap = 68.8/399.6 of the rendered width (0.25 x 68.8/399.6 x
   88% of the container = 3.788% of it, capped at 0.25 x 68.8/399.6 x 1144px = 49.24px). */
.abspann .wm svg{width:100%;display:block}
.abspann .wm path{fill:#1B1E24}
footer{padding:1.8rem 0;background:var(--ink);position:relative;z-index:1;border-top:1px solid var(--line-d)}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1.4rem}
footer span{font:400 .62rem/1.8 var(--mono);color:var(--graphite)}
footer a{display:inline-block;padding:.5rem 0;text-decoration:none}
footer a:hover{color:var(--paper);text-decoration:underline}
footer .intro-replay{font-size:.6rem}
.will-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.will-reveal.in{opacity:1;transform:none}
@media (max-width:1120px){nav.menu{display:none}
.burger{display:block}
.nav-right{gap:18px}
.hero-lower{gap:3rem}}
@media (max-width:860px){.hero{padding:8rem 0 6rem}
.hero-eyebrow{margin-bottom:2.6rem}
.hero-lower{grid-template-columns:1fr;margin-top:2.6rem;gap:2.1rem}
.hero-context{max-width:56ch}
.hero-context .mono{margin-bottom:.7rem}
.hero-context .hero-promise{margin-top:.7rem}
.hero .satz{font-size:clamp(1.5rem,4vw,2rem);max-width:36ch}
.hero-actions{margin-top:1.5rem}
.phasen{grid-template-columns:1fr}
.phase{padding:2rem}
.phase .mono{margin-bottom:1rem}
.phase p{max-width:65ch}
.person{grid-template-columns:1fr;gap:3rem}
.portrait{max-width:490px}
.antrieb .a-kopf,.antrieb .a-kadenz{grid-template-columns:1fr;gap:1.8rem}
.antrieb .a-kopf>div:first-child{position:static}
.antrieb .a-kadenz>div:first-child{display:none}
.antrieb h3{max-width:none}
.antrieb .a-text{max-width:65ch}
.antrieb .label{margin-bottom:1.3rem}
.antrieb .a-text p{font-size:1.1rem}
.akte>summary{grid-template-columns:100px minmax(0,1fr) 28px;gap:18px}
.akte .inhalt{padding-left:118px}
.adresse{grid-template-columns:1fr;gap:1.5rem;margin-top:3.5rem;text-align:center}}
@media (max-width:640px){.nav{height:74px;gap:14px}
.nav-right{gap:10px}
.lang a{min-width:36px;padding:.5rem}
.logo{font-size:1.05rem}
html{scroll-padding-top:94px}
.hero{min-height:100svh;padding-top:7.4rem}
.hero-eyebrow{font-size:.63rem;letter-spacing:.1em;margin-bottom:2.2rem}
.hero-lower{margin-top:2.3rem}
.hero .satz{font-size:1.45rem;line-height:1.4}
.hero .satz br{display:none}
.hero-context{font-size:.95rem}
.hero-context .mono{font-size:.64rem}
.hero-context p:not(.mono){font-size:.94rem}
.hero-actions{column-gap:1.4rem;row-gap:.35rem}
.text-link,.quiet-link{font-size:.67rem}
.scrollhint{bottom:18px;font-size:.57rem}
.label{margin-bottom:2.3rem}
.manifest p.gross{font-size:clamp(1.75rem,6.5vw,2.5rem);line-height:1.35}
.manifest .zeile{display:inline}
.manifest .zeile>span::after{content:" "}
.manifest .schluss{font-size:1.05rem}
.lagen .liste{grid-template-columns:1fr}
.lagen .zeile2{max-width:unset}
.kp-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:1.8rem}
.kompass .kp-titel{max-width:24ch}
.kp-progress{gap:10px;margin-bottom:1.8rem}
.kp-progress li{flex-direction:column;gap:4px;font-size:.59rem;letter-spacing:0}
.kp-optionen,.kp-schritt:not([data-step="0"]) .kp-optionen{grid-template-columns:1fr}
.kp-schritt[data-step="0"] .kp-opt:last-child{grid-column:auto}
.kp-opt{font-size:1.04rem;min-height:60px;padding:1rem 1.1rem}
.kp-memo{padding:1.5rem 1.2rem 2rem}
.kp-kopf{font-size:.59rem}
.kp-memo p,.kp-memo li{font-size:1rem}
.kp-memo .kp-hinweis{font-size:.74rem}
.kp-tools{gap:.2rem 1.3rem}
.kp-tools .kp-link{font-size:.64rem}
.akte>summary{grid-template-columns:minmax(0,1fr) 24px;gap:16px;padding:1.7rem 0}
.akte .nr{display:none}
.akte h3{font-size:1.6rem}
.akte .inhalt{padding:0 0 1.8rem}
.fragen .akte h3{font-size:1.35rem}
.service-boundary{font-size:.77rem}
.cv div{grid-template-columns:1fr;gap:4px}
.cv dt{font-size:.65rem}
.cv dd{font-size:1rem}
.antrieb{margin-top:3.6rem;padding-top:2.6rem}
.antrieb .a-text p{font-size:1.06rem}
.antrieb .a-kadenz p{font-size:1.2rem}
.kontakt{padding-top:6rem}
.kontakt h2{font-size:clamp(2.1rem,7vw,3rem)}
.kontakt .sub{font-size:1.08rem}
.cta{font-size:.68rem;gap:1.2rem;padding:1rem 1.5rem}
.abspann{padding-top:2rem}
footer{padding:1.2rem 0}
footer .wrap{align-items:flex-start;flex-direction:column;gap:.2rem}
footer span{font-size:.6rem}}
@media (max-height:560px){.hero{min-height:650px}
.overlay[open]{justify-content:flex-start}
.overlay nav:not(.lang){gap:.45rem}
.overlay nav:not(.lang) a{font-size:1.7rem}
.overlay .ometa{margin-top:1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.will-reveal{opacity:1!important;transform:none!important}
.portrait img{transform:none!important}
.intro-replay{display:none!important}}
@media (forced-colors:active){.kp-opt,.cta,.lang,.ov-close{border:1px solid ButtonText}
.logo i,.p,.label::before{forced-color-adjust:none}
.will-reveal{opacity:1;transform:none}}
@media  print{:root{color-scheme:light}
html,body,section,.light,.kontakt,.hero{background:#fff!important;color:#111!important}
header,footer,.grain,.scrollhint,.hero-actions,.abspann,.intro-replay,dialog,.kp-tools,.kp-status,.kp-copy-fallback,.contact-mailnote{display:none!important}
.wrap{max-width:none;padding:0}
.hero{min-height:0;padding:1rem 0 2rem}
.hero-eyebrow,.hero-context,.hero-lower{display:none}
.marke{width:170px}
.marke path{fill:#111}
section{padding:1.5rem 0}
.label{margin:1rem 0}
.will-reveal{opacity:1!important;transform:none!important}
.phasen{display:block}
.phase{background:#fff;padding:1rem;border-bottom:1px solid #ccc}
.person{grid-template-columns:1fr 180px;gap:20px}
.person .portrait{break-inside:avoid}
.antrieb .a-kopf>div:first-child{position:static}
.antrieb .a-kopf,.antrieb .a-kadenz{display:block}
.antrieb h3{margin-bottom:1.5rem}
.antrieb .a-text{max-width:none}
p,.phase p,.manifest .schluss,.akte .inhalt p,.fragen .akte .inhalt p,.kp-memo .kp-hinweis{color:#222!important}
.akte>summary{padding:1rem 0}
.akte .inhalt{padding-bottom:1rem}
.akte .pfeil{display:none}
.akte,.kp-memo li{break-inside:avoid}
.kp-interactive{display:block}
.kp-progress,.kp-schritt,.kp-heading,.kp-fallback{display:none!important}
.kp-memo{max-width:none;padding:1.2rem;border:1px solid #ccc;background:#fff}
.kp-memo .kp-cta{display:none}
.kp-memo .kp-kopf{color:#444}
.kp-memo h3{font-size:16pt}
.kp-memo p,.kp-memo li{font-size:10.5pt}
.kp-memo h4{break-after:avoid}
.kp-memo .kp-hinweis{font-size:8pt}
.kp-memo::after{display:none}
body.printing-memo main>*:not(#lagen),body.printing-memo #lagen>.wrap>*:not(#kompass){display:none!important}
body.printing-memo #lagen,body.printing-memo #kompass{padding:0;margin:0;border:0}
body.printing-memo #kompass>.label{display:none}
a{text-decoration:none}
.adresse{margin-top:2rem}
.antrieb{margin-top:2rem}
h2,h3,h4{break-after:avoid}}
.no-js-nav{display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:100px 24px 16px;font:400 .78rem/1.6 var(--sans);border-bottom:1px solid var(--line-d)}
.no-js-nav a{padding:.4rem 0}
.enhanced .no-js-nav{display:none}
.simple-navigation .no-js-nav{display:flex}
.kp-progress li.is-current{color:var(--paper);border-color:var(--ui-accent)}
.kp-progress li.is-complete{color:var(--graphite)}
.kp-progress li.is-current>span:first-child{color:var(--paper);background:var(--ui-accent);border-color:var(--ui-accent)}
.kp-memo-kopf{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1.2rem;margin-bottom:1.5rem;border-bottom:1px solid #C8CAC4;font:400 .62rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#51555C}
.kp-memo .kp-auswahl{font:400 .76rem/1.6 var(--sans);color:#51555C;padding-bottom:1rem;border-bottom:1px solid #D0D1CA}
.kp-kontext{padding:1rem 0 .3rem;border-top:1px solid #D0D1CA;margin-top:1.2rem}
.kp-memo ol{list-style:none;counter-reset:question}
.kp-memo ol li{padding-left:1.7rem;counter-increment:question}
.kp-memo ol li::before{content:counter(question,decimal-leading-zero);width:auto;height:auto;background:none;top:.15em;color:var(--ui-accent);font:500 .68rem/1.7 var(--mono)}
@media  print{.no-js-nav{display:none!important}
.kp-memo-kopf{font-size:8pt}
.kp-auswahl{font-size:9pt}}
.person>.antrieb{grid-column:1/-1}
:root{--ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --motion-fast:180ms;--motion-ui:360ms;--motion-reveal:720ms;}
html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--header-h,86px) + 22px)}
body{min-width:280px}
.wrap{padding-left:max(clamp(22px,4vw,48px),env(safe-area-inset-left));padding-right:max(clamp(22px,4vw,48px),env(safe-area-inset-right))}
:where(a,button,summary){touch-action:manipulation}
:where(a,button,summary):focus-visible{outline-offset:6px}
:where(a,button):active{transition-duration:80ms}
.nav{height:78px}
header{transition:background 360ms var(--ease),border-color 360ms var(--ease)}
header.scrolled{background:rgba(12,13,16,.88)}
nav.menu{position:relative}
nav.menu a::after{transform-origin:left;transition:transform 360ms var(--ease)}
nav.menu a:hover::after{transform:scaleX(1)}
nav.menu.has-indicator a.active::after{transform:scaleX(0)}
.nav-indicator{position:absolute;left:0;bottom:4px;height:1px;width:var(--nav-width,0px);transform:translateX(var(--nav-x,0px));opacity:0;background:var(--ui-accent);pointer-events:none;transition:transform 440ms var(--ease-out),width 440ms var(--ease-out),opacity 200ms}
nav.menu.has-indicator .nav-indicator[data-active]{opacity:1}
.logo i{transition:background 220ms,box-shadow 350ms,transform 350ms var(--ease-out)}
.logo:hover i,.logo:focus-visible i{background:var(--ui-accent);box-shadow:0 0 12px rgba(138,30,45,.26);transform:scale(1.12)}
.lang a{position:relative;isolation:isolate;transition:color 250ms,background-color 350ms}
.lang a[aria-current="page"]{background:var(--ui-accent)}
.hero{padding:9rem 0 10rem;min-height:100svh}
.hero>.wrap{max-width:1126px}
.marke{width:min(100%,940px)}
.hero .satz{margin-top:3.2rem;max-width:36ch;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.4;font-weight:250}
.hero .meta{margin-top:2rem;font-size:.7rem;line-height:1.8;letter-spacing:.15em;color:var(--graphite);font-weight:400}
.hero-letter{transform-box:fill-box;transform-origin:center bottom}
.hero .scrollhint{bottom:28px;width:44px;height:80px;min-height:44px;padding:12px;display:flex;justify-content:center;align-items:center;overflow:hidden}
.hero .scrollhint span{display:block;position:relative;width:1px;height:56px;background:linear-gradient(var(--graphite-d),transparent);overflow:hidden}
.hero .scrollhint span::after{content:"";position:absolute;inset:-45% 0 auto;height:40%;background:var(--paper);animation:kern-scroll-thread 2.8s var(--ease-in-out) infinite;animation-play-state:paused}
.hero-inview .scrollhint span::after{animation-play-state:running}
@keyframes kern-scroll-thread{0%,15%{transform:translateY(0)}80%,100%{transform:translateY(210px)}}
.hero .scrollhint:hover span{background:linear-gradient(var(--ui-accent),transparent)}
.grain{inset:-8%;width:116%;height:116%;opacity:.035;animation:kern-grain 9s steps(6) infinite;animation-play-state:paused}
.hero-inview .grain{animation-play-state:running}
@keyframes kern-grain{0%,100%{transform:translate(0,0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,-1%)}}
.enhanced .label::after{transform-origin:left;transition:transform 1150ms var(--ease-out)}
.enhanced .line-pending .label::after{transform:scaleX(0)}
.r{transition:opacity var(--motion-reveal) var(--ease),transform var(--motion-reveal) var(--ease)}
.will-reveal{opacity:0;transform:translateY(14px)}
.phase{position:relative;isolation:isolate;transition:background 450ms var(--ease)}
.phase::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(460px circle at var(--light-x,50%) var(--light-y,40%),rgba(241,242,238,.045),transparent 72%);transition:opacity 450ms}
@media (hover:hover) and (pointer:fine){.phase:hover{background:#17181D}
.phase:hover::before{opacity:1}
.akte>summary h3{transition:transform 400ms var(--ease-out)}
.akte>summary:hover h3{transform:translateX(7px)}
.akte>summary:hover .pfeil{color:var(--ui-accent)}}
.akte{overflow:clip}
.akte>summary{border-radius:0}
.akte>summary:focus-visible{outline-offset:-3px}
.akte .pfeil{transition:transform 460ms var(--ease-out),color 300ms}
.akte[data-closing] .pfeil{transform:rotate(0)}
.akte .inhalt{transform-origin:top left}
.akte[data-animating]{overflow:hidden}
.portrait-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#17181D;isolation:isolate}
.portrait .portrait-media img{display:block;width:100%;height:100%;object-fit:cover;transform:none!important}
.portrait-gl{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0;transition:opacity 650ms var(--ease);transform:translateZ(0)}
.portrait-gl.on{opacity:1}
.portrait figcaption{position:relative;z-index:3}
.cta{position:relative;isolation:isolate;transform:translate(var(--magnet-x,0px),var(--magnet-y,0px));transition:background 350ms,border-color 350ms,box-shadow 350ms}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(180px circle at var(--light-x,50%) var(--light-y,50%),rgba(255,255,255,.12),transparent 70%);transition:opacity 350ms}
.cta:hover::before{opacity:1}
.cta svg{transition:transform 400ms var(--ease-out)}
.cta:hover svg,.cta:focus-visible svg{transform:translateX(4px)}
.cta:active{box-shadow:inset 0 1px 4px rgba(0,0,0,.12)}
.kp-stage{position:relative;overflow:visible;min-width:0}
.kp-progress li{position:relative;min-width:0}
.kp-step-jump{display:flex;align-items:center;gap:.7rem;min-height:44px;width:100%;border:0;background:none;padding:0;text-align:left;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}
.kp-step-jump[disabled]{cursor:default;opacity:1}
.kp-step-jump:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.kp-progress li.is-complete .kp-step-jump:hover{color:var(--paper)}
.kp-progress li::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--ui-accent);transform:scaleX(0);transform-origin:left;transition:transform 650ms var(--ease-out)}
.kp-progress li.is-current::after,.kp-progress li.is-complete::after{transform:scaleX(1)}
.kp-opt{position:relative;transition:border-color 240ms,background-color 240ms,transform 320ms var(--ease-out),box-shadow 240ms}
.kp-opt::after{content:"";position:absolute;right:12px;bottom:12px;width:5px;height:5px;background:var(--ui-accent);opacity:0;transform:scale(.5);transition:opacity 240ms,transform 320ms var(--ease-out)}
.kp-opt[aria-pressed="true"]::after{opacity:1;transform:scale(1)}
@media (hover:hover) and (pointer:fine){.kp-opt:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}}
.kp-opt:active{transform:translateY(0);background:rgba(241,242,238,.08)}
.kp-memo{box-shadow:0 2px 0 rgba(241,242,238,.1),0 14px 36px rgba(0,0,0,.12)}
.kp-copy[data-copied]{color:var(--paper)}
.kp-copy[data-copied]::after{content:" ✓";color:var(--ui-soft)}
[data-dot-handoff]{visibility:hidden!important}
.page-hidden .grain,.page-hidden .scrollhint span::after{animation-play-state:paused!important}
@media (max-width:860px){.hero{padding:8rem 0 9rem}
.hero .satz{margin-top:2.6rem}
.hero .meta{max-width:75ch}
.hero>.wrap{max-width:1126px}
.hero .scrollhint{bottom:20px}}
@media (max-width:520px){.nav{height:72px}
.hero{padding-top:8.5rem;padding-bottom:8rem}
.hero .satz{margin-top:2.3rem;font-size:1.42rem;max-width:28ch}
.hero .meta{font-size:.61rem;line-height:1.9;letter-spacing:.11em;max-width:45ch;margin-top:1.8rem}
.hero .meta br{display:block}
.hero .scrollhint{height:65px;bottom:14px}
.hero .scrollhint span{height:44px}}
@media (max-height:540px) and (min-width:521px){.hero{min-height:650px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.will-reveal{opacity:1!important;transform:none!important}
.enhanced .line-pending .label::after{transform:none}
.hero-letter,.cta{transform:none!important}
.grain{animation:none!important}
.scrollhint span::after{animation:none!important}
.portrait-gl{display:none!important}
.nav-indicator{transition:none!important}}
@media (forced-colors:active){.grain,.portrait-gl,.phase::before,.cta::before{display:none}
.kp-opt[aria-pressed="true"]{outline:2px solid Highlight}
.nav-indicator{background:Highlight}
.hero-letter path{fill:CanvasText}
.marke .p{fill:Highlight}}
@media  print{.portrait-gl,.nav-indicator{display:none!important}
.kp-stage{height:auto!important;overflow:visible!important}
.akte{height:auto!important;overflow:visible!important}
.hero{min-height:0!important;padding:0 0 2rem!important}
.hero .meta{color:#333}
.hero .satz{color:#111}
.kp-memo{box-shadow:none}
.cta{transform:none}
.hero-letter{opacity:1!important;transform:none!important}}
.experience-status{flex-basis:100%;font:400 .68rem/1.65 var(--mono);color:var(--muted);margin:.6rem 0 0}
:root{--ui-accent:#F1F2EE;--ui-soft:#B8BBC1}
.light,.kp-memo{--ui-accent:#343840;--ui-soft:#51555C}
::selection{background:#C3C7CE;color:#111318}
.lang a[aria-current="page"]{background:var(--paper);color:var(--ink)}
.kp-progress li.is-current>span:first-child{color:var(--ink)}
.kp-memo .kp-cta:hover{background:#30343C;color:#fff}
.logo i{background:var(--kern)}
.logo:hover i,.logo:focus-visible i{background:var(--kern);box-shadow:none;transform:none}
[data-dot-handoff]{visibility:hidden!important}
[data-brand-dot].p{fill:var(--kern)}
.static-point{display:none}
@media  print{[data-brand-dot]{visibility:visible}
.logo i{display:none}}
/* v20: neutral controls; one mark owner; original design retained. */
:root{--ink-2:#16181D;--ui-accent:#51555C;--ui-soft:#D0D1CA}
.logo i{background:var(--kern)}
.lang a[aria-current="page"]{background:#51555C;color:#F1F2EE}
nav.menu .nav-indicator{background:var(--paper)}
.kp-progress,.kp-copy-fallback,.kp-copy,.kp-print{display:none!important}
.kp-fallback{display:none}.no-js-compass{display:block}
.enhanced .no-js-compass{display:none}
.kp-output .kp-tools{margin-top:1rem}
.hero .marke .p,.endmark .p{fill:var(--kern)}
:where(a,button,summary):focus-visible{outline-color:#F1F2EE}
.light :where(a,button,summary):focus-visible{outline-color:#0C0D10}
:where(.logo,.overlay-brand){font-variation-settings:"wdth" 120,"wght" 820;letter-spacing:.16em}
html[data-scene-active] [data-brand-dot]{visibility:hidden!important}
html[data-scene-active] .grain{visibility:hidden}
@media print{html{scroll-behavior:auto}}

.kp-offline{margin-top:2rem}.kp-offline details{padding:1rem 0;border-top:1px solid var(--line-d)}.kp-offline summary{padding:.7rem 0;min-height:44px;cursor:pointer;font-family:var(--sans)}.kp-offline h3{font:600 1rem var(--sans);margin:1.6rem 0 .7rem}.kp-offline h4{font:500 .8rem var(--mono);margin:1.4rem 0 .5rem}.kp-offline ul,.kp-offline ol{padding-left:1.2rem}.kp-offline li{margin:.55rem 0}.kp-offline p{margin:.7rem 0}
/* F-04: progressive, native scroll-linked reveals. All text is visible without support. */
.r{opacity:1;transform:none}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 main>section:not(.hero) .r{animation:kern-native-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 85%}
 main>section:not(.hero)::before{animation:kern-native-line linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
}}
@keyframes kern-native-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes kern-native-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important}.r{opacity:1!important;transform:none!important;animation:none!important}}
/* Section 12: no cursor-follow light or magnetic page controls. */
.cta{--magnet-x:0px;--magnet-y:0px}
.cta::before,.phase::after{display:none}
