
/* Key Investors – gemeinsames Stylesheet (Redesign 11/2026). Layout: 12-col grid on 1200px, hairline rules instead of cards; one navy moment (the check) plus the closing band.
   Single light look on purpose: this is a preview of the public website. */
:root{
  color-scheme:light;
  --paper:#FFFFFF; --mist:#F4F5F6; --ink:#14202B; --slate:#56616C; --stone:#6E6C6C; --line:#D9DDE1;
  --navy:#002F56; --navy-hover:#0B3F6C; --on-navy:#FFFFFF; --on-navy-muted:#B9C6D2; --navy-line:rgba(255,255,255,.2);
  --ok:#1F7A4D; --warn:#9A5B00;
  --display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px; --s8:64px; --s12:96px; --s16:128px;
  --r:4px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--paper)}
a{color:var(--navy)}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.band{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.in{max-width:1200px;margin:0 auto}
h1,h2,h3{hyphens:manual;font-family:var(--display);font-weight:600;color:var(--navy);margin:0;text-wrap:balance}
h2{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.08;letter-spacing:-.015em}
p{margin:0;text-wrap:pretty}
.muted{color:var(--slate)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r);background:var(--navy);color:var(--on-navy);font:600 16px/1.2 var(--sans);text-decoration:none;border:1px solid var(--navy);transition:background .2s var(--ease),transform .1s}
.btn:hover{background:var(--navy-hover);color:var(--on-navy)}
.btn:active{transform:translateY(1px)}
.btn.light{background:var(--on-navy);color:var(--navy);border-color:var(--on-navy)}
.btn.light:hover{background:#E6EDF3}
.link{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;gap:6px}
.link:hover{text-decoration:underline;text-underline-offset:4px}
.label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:76px;flex-wrap:wrap}
.nav img{height:46px;width:auto;display:block}
.menu{display:flex;align-items:center;gap:var(--s4);font-size:15px}
.menu a{color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.menu a[aria-current]{color:var(--navy);font-weight:600}
.menu a:not(.btn):hover{color:var(--navy)}
.menu .btn{min-height:44px;padding:0 18px;font-size:15px;color:var(--on-navy)}
.mbtn{display:none;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);font:600 15px var(--sans);color:var(--navy);cursor:pointer}
@media (max-width:900px){.mbtn{display:inline-flex;align-items:center}.menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:var(--s2)}.menu.open{display:flex}.menu a{border-top:1px solid var(--line)}.menu .btn{margin-top:var(--s2);border-top:0}}

/* hero */
.hero{padding-block:var(--s12) var(--s8)}
.hero .in:not(.figs){display:block}
.hero h1{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1.02;letter-spacing:-.025em}
.hero .copy{max-width:920px;display:flex;flex-direction:column;gap:var(--s4);min-width:0;padding-bottom:var(--s2)}
.hero .lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--slate);max-width:36em}
.hero .lead strong{color:var(--ink);font-weight:600}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4)}
.portrait{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.portrait .frame{background:linear-gradient(180deg,#E9EDF1 0%,#DCE3EA 100%);aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;max-width:100%}
.portrait img{width:94%;height:auto;display:block;filter:grayscale(1) contrast(1.04)}
.portrait figcaption{font-size:14px;color:var(--slate);display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--ink);padding-top:10px}
.portrait figcaption b{color:var(--ink);font-weight:600}
@media (max-width:860px){.hero{padding-block:var(--s8) var(--s6)}.hero .in:not(.figs){grid-template-columns:1fr}.portrait{max-width:360px}}

/* figures */
.figs{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.fig{padding:var(--s4) var(--s3) var(--s4) 0;display:flex;flex-direction:column;gap:6px;min-width:0}
.fig+.fig{padding-left:var(--s3);border-left:1px solid var(--line)}
.fig .n{font:600 clamp(2.2rem,3.6vw,3rem)/1 var(--display);color:var(--navy);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.02em;white-space:nowrap}
.fig .t{font-size:15px;line-height:1.4;color:var(--slate)}
@media (max-width:860px){.figs{grid-template-columns:1fr 1fr}.fig:nth-child(3){padding-left:0;border-left:0}.fig:nth-child(n+3){border-top:1px solid var(--line)}}

/* process */
.sec{padding-block:var(--s16)}
@media (max-width:860px){.sec{padding-block:var(--s12)}}
.head{display:grid;grid-template-columns:5fr 6fr;gap:var(--s3) var(--s8);align-items:end;margin-bottom:var(--s8)}
.head p{font-size:19px;color:var(--slate);max-width:34em}
@media (max-width:860px){.head{grid-template-columns:1fr;margin-bottom:var(--s6)}}
.gantt{display:grid;grid-template-columns:minmax(220px,3fr) 6fr;border-top:1px solid var(--ink)}
.gantt .scale{display:grid;grid-template-columns:repeat(6,1fr);font-size:13px;color:var(--stone);font-variant-numeric:tabular-nums}
.gantt .scale span{padding:10px 0 10px 8px;border-left:1px solid var(--line)}
.gantt .row{display:contents}
.gantt .step{padding:var(--s3) var(--s3) var(--s3) 0;border-top:1px solid var(--line);display:flex;gap:var(--s2);align-items:baseline}
.gantt .step .no{font:600 28px/1 var(--display);color:var(--navy);min-width:24px;font-variant-numeric:tabular-nums}
.gantt .step h3{font:600 19px/1.3 var(--sans);color:var(--ink)}
.gantt .step p{font-size:15px;color:var(--slate);margin-top:4px}
.gantt .track{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr);align-content:center;row-gap:6px;padding-block:12px;background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/6));}
.gantt .bar{grid-row:2;height:14px;background:var(--navy);transform-origin:left center;transition:transform .9s var(--ease)}
.gantt .bar.soft{background:repeating-linear-gradient(135deg,var(--navy) 0 6px,#33597A 6px 12px)}
.gantt .dur{grid-row:1;font-size:13px;font-weight:600;color:var(--navy);padding:0 8px;white-space:nowrap}
html.anim .gantt .bar{transform:scaleX(0)}
html.anim .gantt.shown .bar{transform:scaleX(1)}
html.anim .gantt.shown .row:nth-child(4) .bar{transition-delay:.15s}
html.anim .gantt.shown .row:nth-child(5) .bar{transition-delay:.3s}
html.anim .gantt.shown .row:nth-child(6) .bar{transition-delay:.45s}
@media (max-width:760px){
  .gantt{grid-template-columns:1fr}.gantt .scale-l,.gantt .scale{display:none}
  .gantt .track{border-top:0;padding-bottom:var(--s3);background-size:auto}
}
.promise{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6) var(--s8);margin-top:var(--s8)}
.promise div{display:flex;flex-direction:column;gap:10px;min-width:0}
.promise h3{font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.15}
.promise p{color:var(--slate)}
@media (max-width:760px){.promise{grid-template-columns:1fr}}

/* check */
.check{background:var(--navy);color:var(--on-navy)}
.check h2{color:var(--on-navy)}
.check .head p{color:var(--on-navy-muted)}
.cgrid{display:grid;grid-template-columns:7fr 5fr;gap:var(--s8);align-items:start}
@media (max-width:960px){.cgrid{grid-template-columns:1fr}}
fieldset{border:0;margin:0;padding:var(--s3) 0;border-top:1px solid var(--navy-line);display:grid;grid-template-columns:180px 1fr;gap:var(--s2)}
fieldset:last-of-type{border-bottom:1px solid var(--navy-line)}
legend{float:left;padding:0;font-size:15px;font-weight:600;color:var(--on-navy);padding-top:8px}
@media (max-width:600px){fieldset{grid-template-columns:1fr}}
@media (max-width:380px){.opts{grid-template-columns:1fr}}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label{display:flex;align-items:center;min-height:54px;padding:6px 14px;line-height:1.3;hyphens:auto;overflow-wrap:anywhere;border:1px solid var(--navy-line);border-radius:var(--r);font-size:15px;color:var(--on-navy-muted);cursor:pointer;transition:background .18s var(--ease),color .18s,border-color .18s}
.opts label:hover{border-color:rgba(255,255,255,.55);color:var(--on-navy)}
.opts input:checked+label{background:var(--on-navy);color:var(--navy);border-color:var(--on-navy);font-weight:600}
.opts input:focus-visible+label{outline:2px solid var(--on-navy);outline-offset:2px}
.result{background:var(--paper);color:var(--ink);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2);position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
.result .state{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}
.result .state i{width:10px;height:10px;border-radius:50%;background:var(--line);transition:background .25s}
.result[data-s="ok"] .state{color:var(--ok)}.result[data-s="ok"] .state i{background:var(--ok)}
.result[data-s="warn"] .state{color:var(--warn)}.result[data-s="warn"] .state i{background:var(--warn)}
.result h3{font-size:1.65rem;line-height:1.15}
.result p{color:var(--slate);font-size:16px}
.result ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line);font-size:15px}
.result li{display:flex;justify-content:space-between;gap:var(--s2);padding:8px 0;border-bottom:1px solid var(--line)}
.result li span:first-child{color:var(--slate)}
.result li span:last-child{font-weight:600;text-align:right}
.result .note{font-size:13px;color:var(--stone)}
.result .btn{align-self:flex-start}
.result .btn[aria-disabled="true"]{opacity:.45;pointer-events:none}

/* situations */
.sit{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);counter-reset:s}
.sit li{list-style:none;padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--line);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.4;color:var(--ink)}
.sit li:nth-child(even){padding-left:var(--s4);border-left:1px solid var(--line)}
@media (max-width:760px){.sit{grid-template-columns:1fr}.sit li:nth-child(even){padding-left:0;border-left:0}}
.sitwrap{padding:0;margin:0}

/* person */
.person{background:var(--mist)}
.person .in{display:grid;grid-template-columns:7fr 4fr;gap:var(--s8);align-items:end}
blockquote{margin:0;font:400 italic clamp(2rem,4.4vw,3.4rem)/1.12 var(--display);color:var(--navy);letter-spacing:-.01em;text-wrap:balance}
.person .who{margin-top:var(--s4);display:flex;align-items:center;gap:var(--s2);line-height:1.4}

.person .who b{font-weight:600}
.track-rec{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.track-rec div{display:grid;grid-template-columns:6.5rem 1fr;align-items:center;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.track-rec .n{font:600 2.2rem/1 var(--display);color:var(--navy);font-variant-numeric:tabular-nums}
.track-rec .t{color:var(--slate);font-size:15px}
@media (max-width:860px){.person .in{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;grid-template-columns:4fr 7fr;gap:var(--s8)}
.faq .side{display:flex;flex-direction:column;gap:var(--s3);align-self:start;position:sticky;top:calc(110px + env(safe-area-inset-top,0px))}
@media (max-width:860px){.faq{grid-template-columns:1fr;gap:var(--s6)}.faq .side{position:static}}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--ink)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;font:600 19px/1.35 var(--sans);color:var(--ink);min-height:44px}
summary::-webkit-details-marker{display:none}
summary .pm{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--r);position:relative;transition:transform .25s var(--ease),border-color .2s}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:1.5px;background:var(--navy)}
summary .pm::after{transform:rotate(90deg);transition:transform .25s var(--ease)}
details[open] summary .pm::after{transform:rotate(0)}
summary:hover{color:var(--navy)}
details .a{padding:0 var(--s8) var(--s3) 0;color:var(--slate);display:flex;flex-direction:column;gap:10px}
@media (max-width:600px){details .a{padding-right:0}}

/* closing */
.close{background:var(--navy);color:var(--on-navy)}
.close .in{display:grid;grid-template-columns:7fr 4fr;gap:var(--s8);align-items:end}
.close h2{color:var(--on-navy)}
.close p{color:var(--on-navy-muted);font-size:19px;margin-top:var(--s3);max-width:34em}
.contact{display:flex;flex-direction:column;border-top:1px solid var(--navy-line);font-size:16px}
.contact div{display:flex;justify-content:space-between;gap:var(--s2);padding:12px 0;border-bottom:1px solid var(--navy-line)}
.contact span:first-child{color:var(--on-navy-muted)}
.contact a{color:var(--on-navy);text-decoration:none;font-weight:600}
.contact .btn{margin-top:var(--s3);align-self:flex-start}
@media (max-width:860px){.close .in{grid-template-columns:1fr}}

footer{padding-block:var(--s6) var(--s4);font-size:14px;color:var(--slate)}
footer .in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2) var(--s4)}
footer nav{display:flex;flex-wrap:wrap;gap:var(--s3)}
footer a{color:var(--slate);text-decoration:none}
footer a:hover{color:var(--navy)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---- Unterseiten ---- */
.pagehero{padding-block:var(--s12) var(--s8)}
.pagehero h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}
.pagehero .copy{max-width:920px}
.tint{background:var(--mist)}
.sub{font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin-bottom:var(--s2)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6) var(--s8)}
.cols2>*{min-width:0}
.statements{border-top:1px solid var(--ink);padding-top:var(--s4)}
.statements p{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;color:var(--ink)}
.ticks{list-style:none;margin:0 0 var(--s3);padding:0;border-top:1px solid var(--ink)}
.ticks li{padding:12px 0 12px 28px;border-bottom:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:6px;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(-45deg)}
.plainlist li{padding-left:0}.plainlist li::before{display:none}
.grid3,.grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6) var(--s6);border-top:1px solid var(--ink);padding-top:var(--s4)}
.grid2{grid-template-columns:1fr 1fr}
.grid3>div,.grid2>div{display:flex;flex-direction:column;gap:10px;min-width:0}
.grid3 h3,.grid2 h3{font-size:1.45rem;line-height:1.2}
.grid3 p,.grid2 p{color:var(--slate)}
.services .ticks{margin-top:var(--s2);font-size:15px}
.figs3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.cols2,.grid2,.grid3{grid-template-columns:1fr}.figs3{grid-template-columns:1fr}.figs3 .fig+.fig{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.person .ctas{justify-content:flex-start}
.avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto;display:block}
.who{display:flex;align-items:center;gap:var(--s2);line-height:1.4}

/* Kontakt */
.kontakt{display:grid;grid-template-columns:5fr 6fr;gap:var(--s8);align-items:start}
.kontakt>*{min-width:0}
.contact.dark{margin-top:var(--s2);border-top:1px solid var(--ink)}
.contact.dark div{border-bottom:1px solid var(--line)}
.contact.dark span:first-child{color:var(--slate)}
.contact.dark a{color:var(--navy)}
.contact.dark .who{justify-content:flex-start;padding:var(--s2) 0}
.contact.dark .who span{color:var(--slate)}
.kform{background:var(--mist);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s3)}
.kform h2{font-size:1.9rem}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.f label{font-size:15px;font-weight:600}
.f input,.f textarea{font:inherit;font-size:17px;padding:12px 14px;border:1px solid #C3C9CF;border-radius:var(--r);background:var(--paper);color:var(--ink);width:100%}
.f input:focus,.f textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.f textarea{resize:vertical;min-height:160px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{background:#FDECEA;color:#8A1C12;padding:12px 14px;border-radius:var(--r)}
.hint{background:#E6EDF3;color:var(--navy);padding:12px 14px;border-radius:var(--r);font-size:15px}
.small{font-size:14px}
.kform .btn{align-self:flex-start;cursor:pointer}
@media (max-width:960px){.kontakt{grid-template-columns:1fr}}
@media (max-width:600px){.f2{grid-template-columns:1fr}.kform{padding:var(--s3)}}

/* Rechtstexte */
.prose{max-width:760px;border-top:1px solid var(--ink);padding-top:var(--s4);display:flex;flex-direction:column;gap:var(--s2);color:var(--slate)}
.prose h2{font-size:1.6rem;overflow-wrap:anywhere;hyphens:auto;color:var(--navy);margin-top:var(--s4)}
.prose h2:first-child{margin-top:0}
.prose h3{font:600 18px/1.35 var(--sans);color:var(--ink);margin-top:var(--s2)}
.prose ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.prose a{overflow-wrap:anywhere}
.menu a.btn[aria-current]{color:var(--on-navy)}
.hero .in.kontakt{display:grid}
.contact.dark .who div{border:0;padding:0;display:block}
/* Leistungen als ausgerichtete Zeilen */
.svc{border-top:1px solid var(--ink)}
.svc-row{display:grid;grid-template-columns:56px 6fr 5fr;gap:var(--s2) var(--s6);padding:var(--s4) 0;border-bottom:1px solid var(--line);align-items:start}
.svc-no{font:600 1.1rem/1.6 var(--display);color:var(--stone);font-variant-numeric:tabular-nums}
.svc-h{display:flex;flex-direction:column;gap:8px;min-width:0}
.svc-h h3{font-size:1.6rem;line-height:1.2}
.svc-h p{color:var(--slate)}
.svc-l{list-style:none;margin:0;padding:0;min-width:0}
.svc-l li{padding:8px 0 8px 24px;border-bottom:1px solid var(--line);position:relative;font-size:16px}
.svc-l li::before{content:"";position:absolute;left:2px;top:15px;width:11px;height:5px;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(-45deg)}
@media (max-width:860px){.svc-row{grid-template-columns:1fr}.svc-no{display:none}.svc-l{grid-template-columns:1fr}}
.svc-l li:last-child{border-bottom:0}
/* Investoren-Block */
.invest{display:grid;grid-template-columns:7fr 5fr;gap:var(--s4) var(--s8);align-items:end;border:1px solid var(--navy);border-left-width:6px;padding:var(--s6)}
.invest h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:var(--s2)}
.invest-act{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start}
.invest-act p{color:var(--slate)}
@media (max-width:860px){.invest{grid-template-columns:1fr;padding:var(--s4) var(--s3)}}
