@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;
  src:url('/assets/fonts/dmsans-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;
  src:url('/assets/fonts/dmsans-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/dmserif-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/dmserif-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/dmserif-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/dmserif-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{

  --blue:#1D57F6;
  --blue-dk:#1442C8;
  --white:#FDFDFF;
  --grey:#BDC2BF;
  --yellow:#FFE107;
  --petrol:#00272B;

  --ink:#0A1628;
  --ink-80:rgba(10,22,40,.8);

  --ink-50:rgba(10,22,40,.5);

  --blue-07:rgba(29,87,246,.07);
  --card-line:rgba(29,87,246,.06);
  --hair:#E3E6E4;
  --tint:#F8F9FF;
  --ink-59:rgba(10,22,40,.59);
  --ink-60:rgba(10,22,40,.6);
  --navy:#0A1628;
  --navy-dk:#070E22;

  --erfolg:#0F6B3F;
  --fehler:#B3261E;

  --blau-hell-1:#8FB0FF;
  --blau-hell-2:#9FB6E8;
  --blau-hell-3:#B4C9FF;
  --blau-flaeche-1:#EEF1FF;
  --blau-flaeche-2:#E4E9FF;
  --blau-flaeche-3:#DCE3FF;
  --blau-box:#EDF2FF;
  --blau-hover:#E8EEFF;
  --gelb-flaeche:#FFFCEB;
  --gelb-schrift:#7A6100;

  --marine-1:#0F2D5E;
  --marine-2:#1A3A6B;
  --marine-3:#132247;
  --schatten:rgba(6,12,32,.32);
  --schleier:rgba(4,8,22,.85);

  --w-flaeche:rgba(253,253,255,.09);
  --w-rand:rgba(253,253,255,.16);
  --w-meta:rgba(253,253,255,.5);
  --w-text:rgba(253,253,255,.7);
  --w-lauf:rgba(253,253,255,.8);
  --w-betont:rgba(253,253,255,.9);

  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,sans-serif;

  --t-display:clamp(50px,6.111vw,88px);
  --t-xl:clamp(32px,3.9vw,50px);
  --t-l:clamp(30px,3.3vw,42px);
  --t-m:20px;
  --t-body:17px;
  --t-base:15px;
  --t-s:13.5px;
  --t-xs:11px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);
  font-size:var(--t-base);font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

.blue :focus-visible,.cta :focus-visible,.navyb :focus-visible,.frei :focus-visible,
footer.seitenfuss :focus-visible,.erstgespraech .btn:focus-visible{outline-color:var(--white)}

.skip{position:absolute;left:-9999px;top:0;background:var(--blue);color:var(--white);
  padding:12px 20px;z-index:200;border-radius:0 0 8px 0;text-decoration:none;font-size:var(--t-base)}
.skip:focus{left:0}

.shell{max-width:1280px;margin:0 auto;padding:0 48px}
section{padding:100px 0}

.split>*,.ugrid>*,.eggrid>*,.g2>*,.g3>*,.g5>*,.listenpaar>*,.fmain>*{min-width:0}

h1,h2,h3,h4,.chip,.eyebrow{overflow-wrap:break-word}
.chip,.eyebrow{hyphens:auto}

nav.hauptnav{position:sticky;top:0;z-index:60;
  background:rgba(253,253,255,.95);backdrop-filter:blur(14px)}

.navin{max-width:1280px;margin:0 auto;padding:12px 48px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;margin-right:auto;text-decoration:none}
.brand img{width:171px;height:34px}
.navlinks{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.navlinks a{color:var(--ink-80);text-decoration:none;font-size:var(--t-base);font-weight:500}
.navlinks a:hover{color:var(--blue)}
.navcta{background:var(--blue);color:var(--white);text-decoration:none;padding:11px 22px;
  border-radius:100px;font-size:var(--t-base);font-weight:500;white-space:nowrap}
.navcta:hover{background:var(--blue-dk)}

.navtoggle{display:none;background:none;border:1px solid var(--hair);border-radius:10px;
  width:44px;height:44px;padding:0;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
.navtoggle svg{width:20px;height:20px}
.navtoggle .schliessen,.navtoggle[aria-expanded="true"] .oeffnen{display:none}
.navtoggle[aria-expanded="true"] .schliessen{display:block}

.navlinks a[aria-current="page"]{color:var(--blue);font-weight:800;position:relative}
.navlinks a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;
  bottom:-7px;height:2px;background:var(--blue);border-radius:2px}

@media (max-width:1149px){.navlinks a[aria-current="page"]::after{display:none}}

.navscrim{position:fixed;inset:0;background:rgba(4,8,22,.45);z-index:50;
  opacity:0;pointer-events:none;transition:opacity .18s}
.navscrim[data-an]{opacity:1;pointer-events:auto}
@media (min-width:1150px){.navscrim{display:none}}

html[data-menue-offen],html[data-menue-offen] body{overflow:hidden}

@media (max-width:1149px){
  html[data-menue-offen] nav.hauptnav{position:fixed;inset:0 0 auto;width:100%}
  html[data-menue-offen] .navlinks{max-height:calc(100dvh - 76px);overflow-y:auto;
    overscroll-behavior:contain}
}

.eyebrow{font-size:var(--t-xs);font-weight:800;letter-spacing:1.32px;text-transform:uppercase;
  color:var(--blue);margin:0 0 16px;display:block}
h1{font-family:var(--serif);font-weight:400;font-size:var(--t-display);
  line-height:1.05;letter-spacing:-.024em;margin:0;text-wrap:balance}

h1 em{font-style:normal;
  background-image:linear-gradient(96deg,#1D57F6,#1D57F6 0%,rgba(29,87,246,.75));
  -webkit-background-clip:text;background-clip:text;color:transparent}

h2{font-family:var(--serif);font-weight:400;font-size:var(--t-xl);
  line-height:1.15;letter-spacing:-.02em;margin:0;text-wrap:balance}
h3{font-family:var(--sans);font-weight:800;font-size:var(--t-body);line-height:1.3;margin:0}
.intro{font-size:var(--t-body);font-weight:500;line-height:1.7;color:var(--ink-80);
  margin:20px 0 0;max-width:60ch}
.small{font-size:var(--t-s);font-weight:500;line-height:1.65;color:var(--ink-80);margin:0}
.link{color:var(--blue);text-decoration:none;font-size:var(--t-s);font-weight:800;
  display:inline-flex;align-items:center;gap:6px}

.pfeil{width:13px;height:13px;flex:none}
.link:hover{text-decoration:underline}
.mid{text-align:center;max-width:66ch;margin:0 auto}
.mid .intro{margin:20px auto 0}
.btn{display:inline-block;background:var(--blue);color:var(--white);text-decoration:none;
  padding:14px 28px;border-radius:100px;font-size:var(--t-base);font-weight:500;
  border:0;font-family:inherit;cursor:pointer;transition:background .18s,transform .18s}
.btn:hover{background:var(--blue-dk);transform:translateY(-1px)}
.btn.w{background:var(--white);color:var(--blue);font-weight:800}
.btn.w:hover{background:var(--blau-hover)}

.hero{position:relative;padding:160px 0 0}

.hero h1{max-width:814px;letter-spacing:-.0236em;line-height:1;hyphens:manual}

.recht-hero h1{hyphens:auto}

.hero p.sub{font-size:var(--t-m);font-weight:500;line-height:1.6;color:var(--ink-60);
  margin:35px 0 0;max-width:656px}
.hero p.sub strong{font-weight:800;color:var(--ink)}
.hero .btn{margin-top:34px}

.collage{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(1184px,100% - 96px);height:600px;pointer-events:none}
.collage figure{position:absolute;margin:0;border-radius:18px;overflow:hidden;
  box-shadow:0 30px 60px -28px rgba(10,22,40,.5)}
.collage img{width:100%;height:100%;object-fit:cover}
.cg-b{width:189px;height:216px;right:-91px;top:93px;transform:translateY(-65px) rotate(-20deg);z-index:1}
.cg-foto{width:405px;height:315px;right:-91px;top:156px;transform:translateY(-61px) rotate(1deg);z-index:2}

.cg-a{width:176px;height:203px;right:117px;top:327px;transform:translate(-88px,-29px) rotate(26deg);z-index:3}

.stats{display:flex;gap:24px;align-items:baseline;padding-top:30px;margin-top:35px;
  flex-wrap:wrap;position:relative;z-index:2}
.hero .stats::before{content:"";position:absolute;top:0;left:-48px;right:-48px;
  height:1px;background:var(--grey)}
@media (max-width:1340px){.hero .stats::before{left:0;right:0}}

.stats b{font-size:26px;font-weight:800;letter-spacing:-.028em;line-height:1}
.stats span span{font-size:var(--t-s);font-weight:500;color:var(--ink-59);margin-left:8px}
@media (max-width:560px){.stats b{font-size:21px}}
.sep{color:var(--grey);font-weight:500}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.split.ctr{align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.band{background:var(--tint);position:relative;overflow:hidden}

.card{background:var(--tint);border:1px solid var(--card-line);border-radius:20px;
  padding:32px 28px;transition:transform .18s,border-color .18s;display:flex;flex-direction:column}

.band .card{background:var(--white);border-color:transparent}

.band .g3 .ico{width:52px;height:52px;border-radius:14px;
  background:rgba(10,22,40,.02);border:0}

.g3.funktionen .ico{width:52px;height:52px;border-radius:14px;
  background:var(--blau-flaeche-1);border:0;margin-bottom:20px}
.g3.funktionen .ico svg{width:24px;height:24px}

.kopf-weit{text-align:center;max-width:840px;margin-inline:auto}
.kopf-weit .intro{max-width:700px;margin:20px auto 0}
.band .g3 .ico svg{width:24px;height:24px}

.band .mid{max-width:none}
.band .mid .intro{max-width:600px;margin-inline:auto}

.pnr{flex:none;width:40px;height:40px;border-radius:12px;background:var(--blue);
  color:var(--white);display:grid;place-items:center;font-family:var(--serif);
  font-weight:400;font-size:18px;line-height:1;margin-bottom:20px}
.card:hover{transform:translateY(-2px);border-color:rgba(29,87,246,.16)}

.ico{width:48px;height:48px;border-radius:11px;background:var(--white);border:1px solid var(--card-line);
  display:grid;place-items:center;margin-bottom:22px;color:var(--blue)}

.ico svg{width:22px;height:22px}
.card h3{margin-bottom:10px}

.card .small{margin-bottom:20px;flex:none}
.card .link{align-self:flex-start;margin-top:auto}

.band .split{grid-template-columns:.92fr 1.08fr;gap:56px}
.ph-wide{height:340px;border-radius:20px;overflow:hidden}
.ph-wide img{width:100%;height:100%;object-fit:cover}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin:26px 0 28px;list-style:none;padding:0}

.chip{background:var(--blue-07);color:var(--blue);font-size:var(--t-xs);font-weight:800;
  padding:6px 14px;border-radius:100px;border:1px solid rgba(29,87,246,.28);
  text-transform:uppercase;letter-spacing:.06em}
.ublock .chip{background:var(--gelb-flaeche);color:var(--gelb-schrift);
  border-color:rgba(255,225,7,.75)}
.ublock.gedreht .chip{background:var(--blue-07);color:var(--blue);
  border-color:rgba(29,87,246,.28)}
.checks{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:14px}

section[aria-labelledby="wohin"] .checks{margin-top:clamp(24px,2.2vw,32px)}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-base);
  font-weight:500;color:var(--ink-80)}
.tick{width:20px;height:20px;flex:none;border-radius:50%;background:var(--blue);color:var(--white);
  display:grid;place-items:center;margin-top:2px}
.tick svg{width:13px;height:13px}

.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.ref{border:1px solid var(--card-line);border-radius:20px;overflow:hidden;
  background:var(--white);display:flex;flex-direction:column;
  transition:transform .18s,border-color .18s}
.ref:hover{transform:translateY(-2px);border-color:rgba(29,87,246,.16)}
.ref .img{height:160px;overflow:hidden;background:var(--hair)}
.ref .img img{width:100%;height:100%;object-fit:cover}
.refs-mehr{text-align:center;margin:44px 0 0}
.btn.rand{background:transparent;color:var(--blue);font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(29,87,246,.25)}
.btn.rand:hover{background:var(--blue-07);box-shadow:inset 0 0 0 1px rgba(29,87,246,.45)}
.ref .body{padding:24px;display:flex;flex-direction:column;flex:1}
.ref .cat{font-size:var(--t-xs);font-weight:800;letter-spacing:.9px;text-transform:uppercase;
  color:var(--blue);margin:0 0 10px}
.ref h3{margin-bottom:6px}
.ref .loc{font-size:var(--t-xs);font-weight:800;color:var(--ink-59);margin:0 0 12px}
.ref .txt{font-size:var(--t-s);font-weight:500;line-height:1.6;color:var(--ink-80);
  margin:0 0 20px;flex:1}

.ref .more{font-size:var(--t-s);font-weight:800;letter-spacing:.2px;
  color:var(--blue);text-decoration:none;align-self:flex-end;
  display:inline-flex;align-items:center;gap:6px}
.ref .more:hover{text-decoration:underline}

.card,.ref{position:relative}
.card>.link::after,.ref .more::after{content:"";position:absolute;inset:0;z-index:1}

.card h3,.ref h3{position:relative;z-index:2}
.card:hover .link,.ref:hover .more{text-decoration:underline}
.card:hover{transform:translateY(-2px);border-color:rgba(29,87,246,.16)}

.navyb{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.navyb .eyebrow{color:var(--blau-hell-1)}
.navyb h2{color:var(--white)}
.navyb .intro{color:rgba(253,253,255,.8)}
.nums{display:grid;grid-template-columns:repeat(4,1fr);margin:46px 0 0;list-style:none;padding:0;
  border-top:1px solid rgba(253,253,255,.16);border-bottom:1px solid rgba(253,253,255,.16)}
.num{padding:28px 22px;border-right:1px solid rgba(253,253,255,.09)}
.num:last-child{border-right:0}
.num b{display:block;font-family:var(--serif);font-weight:400;font-size:var(--t-l);
  line-height:1;letter-spacing:-.03em;margin-bottom:10px}
.num span{font-size:var(--t-s);font-weight:500;color:rgba(253,253,255,.7);
  line-height:1.5;display:block}

.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;list-style:none;
  margin:52px 0 0;padding:0}

.lg{background:var(--white);border-radius:12px;height:104px;padding:12px 18px;
  display:grid;place-items:center}

.lg img{max-width:100%;width:auto;object-fit:contain}

.blue{background:linear-gradient(135deg,var(--marine-1) 0%,var(--marine-2) 50%,var(--blue) 100%);color:var(--white);
  position:relative;overflow:hidden}
.blue .eyebrow{color:var(--blau-hell-3)}
.blue h2{color:var(--white)}
.blue .intro{color:rgba(253,253,255,.9)}

.blue .ulead{color:var(--w-betont);margin-top:22px;max-width:820px}
.blue .checks{gap:16px}
.blue .checks li{color:var(--w-text)}
.blue .tick{width:22px;height:22px;background:rgba(253,253,255,.12);color:var(--white)}
.blue .chips{gap:10px}
.blue .chip{background:rgba(253,253,255,.06);border:1px solid rgba(253,253,255,.12);
  color:var(--w-lauf);text-transform:none;letter-spacing:0;font-weight:500;
  font-size:14px;padding:11px 19px}
.blue.pool{padding:100px 0}
.blue .split{grid-template-columns:1.05fr .95fr;gap:52px}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0}
.val{background:rgba(253,253,255,.09);border:1px solid rgba(253,253,255,.16);
  border-radius:16px;padding:20px 18px}

.val .ico-val{width:30px;height:30px;display:grid;place-items:center;
  margin-bottom:8px;color:var(--white)}
.val .ico-val svg{width:22px;height:22px;display:block}
.val b{display:block;font-size:var(--t-base);font-weight:800;margin-bottom:8px}
.val span{display:block;font-size:var(--t-s);font-weight:500;line-height:1.55;color:rgba(253,253,255,.8)}
.photobox{position:relative}

.ph-team{height:440px;border-radius:20px;overflow:hidden}
.ph-team img{width:100%;height:100%;object-fit:cover}
.qcard{position:absolute;left:-30px;bottom:-28px;max-width:236px;background:var(--white);
  color:var(--ink);border-radius:16px;padding:22px;box-shadow:0 18px 44px var(--schatten);margin:0}
.qcard p{font-family:var(--serif);font-size:var(--t-body);font-weight:400;line-height:1.42;margin:0 0 10px}
.qcard figcaption{font-size:var(--t-xs);font-weight:500;color:var(--ink-59)}

.frei{background:var(--navy-dk);color:var(--white);position:relative;overflow:hidden}
.frei .eyebrow{color:var(--blau-hell-2)}
.frei h2{color:var(--white)}
.frei .intro{color:rgba(253,253,255,.7)}
.frei .split{align-items:end;gap:48px}
.btn.linie{background:transparent;color:var(--white);font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(253,253,255,.5)}
.btn.linie:hover{background:rgba(253,253,255,.16)}
.sgrow{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;list-style:none;
  margin:46px 0 0;padding:0}
.work{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;
  display:flex;align-items:flex-end;box-shadow:0 10px 28px var(--schatten)}
.work img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.work::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,var(--schleier),rgba(4,8,22,0) 54%)}
.work .jahr{position:absolute;top:9px;left:9px;z-index:2;font-size:var(--t-xs);font-weight:800;
  color:var(--white);background:rgba(6,10,26,.78);padding:3px 7px;border-radius:5px;
  letter-spacing:.04em}
.work .cap{position:relative;z-index:2;padding:11px}
.work .cap b{display:block;font-family:var(--serif);font-weight:400;font-size:var(--t-s);
  color:var(--white);line-height:1.25;margin-bottom:3px}
.work .cap i{display:block;font-style:normal;font-size:var(--t-xs);font-weight:500;
  color:rgba(253,253,255,.8)}

.glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.glow-blue{background:radial-gradient(rgba(29,87,246,.55) 0%,rgba(0,0,0,0) 70%)}
.glow-blue-strong{background:radial-gradient(rgba(29,87,246,.65) 0%,rgba(0,0,0,0) 70%)}

.blue .shell,.cta .shell,.band .shell,footer.seitenfuss .shell,.glow~.shell{position:relative;z-index:1}

.cta{background:var(--blue);color:var(--white);text-align:center;position:relative;overflow:hidden}
.cta .eyebrow{color:rgba(253,253,255,.9)}
.cta h2{color:var(--white)}
.cta p{color:rgba(253,253,255,.9);font-size:var(--t-body);font-weight:500;
  max-width:52ch;margin:20px auto 34px}

footer.seitenfuss{background:var(--navy);color:var(--white);position:relative;overflow:hidden}

.partners{padding:30px 0 34px;background:var(--marine-3);position:relative;z-index:1}
.pwrap{display:flex;gap:30px 64px;justify-content:center;flex-wrap:wrap;align-items:flex-start}
.plabel{font-size:var(--t-xs);font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
  color:rgba(253,253,255,.5);margin:0 0 16px;text-align:center}

.prow{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;justify-content:center;
  list-style:none;margin:0;padding:0}
.plogo{display:flex;align-items:center;justify-content:center;height:58px;padding:7px 16px;
  background:rgba(253,253,255,.09);border-radius:10px;min-width:82px}
.plogo img{max-height:30px;max-width:132px;width:auto;height:auto;object-fit:contain}

.plogo.quadrat img{max-height:44px;max-width:44px}

.fmain{display:grid;grid-template-columns:1.7fr 1.1fr .9fr .9fr;gap:40px;padding:56px 0 46px}
.fmain .brand{margin-bottom:20px}
.fmain p{font-size:var(--t-s);font-weight:500;color:rgba(253,253,255,.7);
  line-height:1.75;margin:0 0 8px;max-width:38ch}
.fcol h2{font-size:var(--t-xs);font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(253,253,255,.5);margin:0 0 18px;font-family:var(--sans);line-height:1.4}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.fcol a{color:rgba(253,253,255,.8);text-decoration:none;font-size:var(--t-s);font-weight:500}
.fcol a:hover{color:var(--white)}

.fkontakt li{display:flex;gap:11px;align-items:flex-start;
  color:rgba(253,253,255,.8);font-size:var(--t-s);font-weight:500;line-height:1.55}
.fkontakt svg{width:14px;height:14px;flex:none;margin-top:3px;color:rgba(253,253,255,.5)}
.fkontakt a{font-size:inherit}

.fzitat{color:var(--w-meta);margin:18px 0 0}
.socials{display:flex;gap:9px;margin-top:22px}
.soc{width:32px;height:32px;border-radius:9px;background:rgba(253,253,255,.09);
  display:grid;place-items:center;color:rgba(253,253,255,.7);text-decoration:none;
  transition:background .18s,color .18s}
.soc svg{width:14px;height:14px}
.soc:hover{background:rgba(253,253,255,.16);color:var(--white)}
.fbot{border-top:1px solid rgba(253,253,255,.09);padding:22px 0;display:flex;gap:20px;
  flex-wrap:wrap;justify-content:space-between;font-size:var(--t-s);font-weight:500;
  color:rgba(253,253,255,.7)}
.fbot a{color:rgba(253,253,255,.7);text-decoration:none;font-size:var(--t-s);font-weight:500}
.fbot a:hover{color:var(--white)}
.fbot .rechts{display:flex;gap:22px}

@media (max-width:1000px){
  .g3,.refs{grid-template-columns:1fr}
  .nums{grid-template-columns:repeat(2,1fr)}
  .logos{grid-template-columns:repeat(4,1fr)}
  .num:nth-child(2n){border-right:0}
  .num:nth-child(-n+2){border-bottom:1px solid rgba(253,253,255,.09)}
  .sgrow{grid-template-columns:repeat(3,1fr)}
  .frei .split{grid-template-columns:1fr;gap:26px;align-items:start}
  .fmain{grid-template-columns:1fr 1fr}
}

@media (min-width:640px) and (max-width:999px){
  .g3,.refs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.brand,.brand img,.navcta,.navtoggle{flex:none}
@media (max-width:1149px){
  .navin{gap:12px;flex-wrap:wrap}
  .navtoggle{display:flex;order:3}
  .navcta{order:2}
  .navlinks{display:none;order:4;flex-basis:100%;flex-direction:column;gap:0;
    border-top:1px solid var(--hair);margin-top:12px;padding-top:6px}
  .navlinks[data-offen="ja"]{display:flex}
  .navlinks a{display:block;padding:13px 0;font-size:var(--t-body)}
  .navlinks li+li{border-top:1px solid var(--hair)}
}

@media (max-width:900px){
  .brand img{width:140px;height:28px}
  .navcta{padding:10px 16px;font-size:var(--t-s)}
}

.hero{overflow-x:clip}

.collage{--cs:1;transform:translateX(-50%) scale(var(--cs));transform-origin:100% 0}
@media (max-width:1340px){
  .collage{--cs:.78}

  .hero h1,.hero .sub,.haupt-hero h1{max-width:54%}
  .hero .stats{max-width:60%}
}

@media (max-width:1200px){

  .collage{position:static;transform:none;width:100%;height:auto;
    display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
    margin:0 auto 52px;max-width:1280px;padding:0 48px}
  .collage figure{position:static!important;width:auto!important;height:auto!important;
    aspect-ratio:4/3;transform:none!important;border-radius:14px}
  .collage img{width:100%;height:100%;object-fit:cover}
  .hero h1,.hero .sub,.haupt-hero h1{max-width:none}
  .hero .stats{max-width:none}

  .hero{display:flex;flex-direction:column}
  .hero .shell{order:1}
  .collage{order:2}
}
@media (max-width:760px){.collage{padding:0 22px}}
@media (max-width:560px){

  .collage{grid-template-columns:1fr}
  .collage figure:not(.cg-foto):not(.ug-team):not(.gn-b):not(.im-team){display:none}

}

@media (max-width:760px){
  .shell,.navin{padding-left:22px;padding-right:22px}
  .stats{gap:8px 20px}
  .stats .sep{display:none}
  .split,.band .split,.blue .split{grid-template-columns:1fr;gap:32px}
  .vals{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr}
  .logos{grid-template-columns:repeat(2,1fr);gap:8px}
  .num{border-right:0;border-bottom:1px solid rgba(253,253,255,.09);padding:22px 0}
  .num:last-child{border-bottom:0}
  .qcard{position:static;max-width:none;margin-top:16px}
  .sgrow{grid-template-columns:repeat(2,1fr)}
  .fmain{grid-template-columns:1fr}
  .pwrap{gap:28px}
  section{padding:64px 0}
}

.ub-hero{padding:174px 0 0}

.im-hero{padding:174px 0 0}
.im-c{width:160px;height:183px;right:-44.1px;top:167.3px;transform:rotate(12deg);z-index:1}
.im-team{width:305px;height:229px;right:-6px;top:251.6px;transform:rotate(-4deg);z-index:2}
.im-a{width:149px;height:172px;right:272.5px;top:401.5px;transform:rotate(-34deg);z-index:3}
.collage figure.im-c,.collage figure.im-team,.collage figure.im-a{position:absolute;margin:0;
  border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -28px var(--schatten)}
.ug-c{width:189px;height:216px;right:-91px;top:93px;transform:translateY(-65px) rotate(12deg);z-index:1}
.ug-team{width:360px;height:360px;right:-46px;top:156px;transform:translateY(-61px) rotate(-4deg);z-index:2}
.ug-a{width:176px;height:203px;right:179px;top:327px;transform:translate(-88px,-29px) rotate(-34deg);z-index:3}
.collage figure.ug-c,.collage figure.ug-team,.collage figure.ug-a{position:absolute;margin:0;
  border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(10,22,40,.5)}

.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:48px}
.g5 .card{padding:33px 29px}

.g5 .ico{width:44px;height:44px;border-radius:12px;background:var(--blau-flaeche-1);
  border:0;margin-bottom:18px}
.g5 .ico svg{width:20px;height:20px}

.g5 .card h3{font-size:var(--t-base);hyphens:manual}
.karte-link{text-decoration:none}
.karte-link:hover{color:var(--blue)}

.ublock{padding:88px 0 0}

.ugrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;
  max-width:1100px;margin-inline:auto}
.ublock.gedreht .utext{order:2}
.ublock.gedreht .umedia{order:1}
.utext h2{font-size:var(--t-l);margin-bottom:18px}
.ulead{font-size:var(--t-body);font-weight:800;line-height:1.45;color:var(--ink);margin:0 0 18px}
.utext .small{margin-bottom:14px;max-width:52ch}
.umedia{position:relative}

.ubild{border-radius:25px;overflow:hidden;aspect-ratio:510/394}
#strategieentwicklung .ubild{aspect-ratio:510/393.64}
#organisationsentwicklung .ubild{aspect-ratio:510/363.64}
#bau-und-konzeptberatung .ubild{aspect-ratio:510/372.64}
#betriebsanalysen .ubild{aspect-ratio:510/400}
#fach-und-teamberatung .ubild{aspect-ratio:510/400}

#betriebsanalysen .erarbeiten{margin-top:-101px}

@media (max-width:1200px){
  .erarbeiten,#betriebsanalysen .erarbeiten{margin-top:-72px}
}
.ubild img{width:100%;height:100%;object-fit:cover}

.erarbeiten{position:relative;z-index:2;margin-top:-119px;margin-left:-40px;
  width:max-content;max-width:calc(100% + 40px);border-radius:25px;padding:26px 30px}
.ublock.gedreht .erarbeiten{margin-left:auto;margin-right:-40px}
.erarbeiten.gelb{background:#FFFCEB;border:1px solid rgba(255,225,7,.6)}
.erarbeiten.blau{background:var(--blau-box);border:1px solid rgba(29,87,246,.16)}
.etitel{font-size:var(--t-xs);font-weight:800;letter-spacing:1.32px;text-transform:uppercase;
  color:var(--ink-80);margin:0 0 14px}
.eliste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.eliste li{position:relative;padding-left:19px;font-size:var(--t-s);font-weight:500;
  line-height:1.5;color:var(--ink-80)}
.eliste li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;
  border-radius:50%;background:var(--blue)}
.erarbeiten.gelb .eliste li::before{background:#C9A800}

.erstgespraech{background:linear-gradient(135deg,var(--blau-flaeche-1) 0%,var(--blau-flaeche-2) 50%,var(--blau-flaeche-3) 100%);
  padding:76px 0}
.eggrid{display:grid;grid-template-columns:1.35fr .65fr;gap:52px;align-items:center}
.erstgespraech h2{font-size:var(--t-l);margin-bottom:24px}
.erstgespraech .checks{margin-bottom:30px}
.person{margin:0;text-align:center;justify-self:center}
.person img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin:0 auto 14px;
  box-shadow:0 14px 34px rgba(10,22,40,.18)}
.person figcaption b{display:block;font-size:var(--t-base);font-weight:800}
.person figcaption span{display:block;font-size:var(--t-s);font-weight:500;color:var(--ink-59)}

.cta-tel{margin:20px 0 0}
.cta-tel a{color:rgba(253,253,255,.9);text-decoration:none;font-size:var(--t-base);font-weight:500}
.cta-tel a:hover{color:var(--white);text-decoration:underline}

@media (max-width:1100px){
  .g5{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1000px){
  .ugrid{grid-template-columns:1fr;gap:32px}
  .ublock.gedreht .utext,.ublock.gedreht .umedia{order:0}
  .erarbeiten,.ublock.gedreht .erarbeiten{margin-left:0;margin-right:0;width:100%;margin-top:-48px}
  .eggrid{grid-template-columns:1fr;gap:34px}
  .person{justify-self:start;text-align:left}
  .person img{margin-left:0}
}
@media (max-width:760px){
  .g5{grid-template-columns:1fr}
  .ublock{padding:56px 0}
  .erstgespraech{padding:56px 0}
  .erarbeiten,.ublock.gedreht .erarbeiten{margin-top:-32px;padding:22px 22px}
}

.prosa{max-width:68ch}
.prosa h2{font-size:var(--t-l);margin:52px 0 16px}
.prosa h2:first-child{margin-top:0}
.prosa h3{font-size:var(--t-body);margin:34px 0 10px}
.prosa p{font-size:var(--t-base);font-weight:500;line-height:1.75;color:var(--ink-80);margin:0 0 16px}
.prosa a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.prosa ul,.prosa ol{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.prosa li{font-size:var(--t-base);font-weight:500;line-height:1.7;color:var(--ink-80)}
.prosa ul{list-style:none;padding-left:0}
.prosa ul li{position:relative;padding-left:19px}
.prosa ul li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;
  border-radius:50%;background:var(--blue)}
.prosa dl{margin:0 0 18px}
.prosa dt{font-weight:800;font-size:var(--t-base);margin-top:14px}
.prosa dd{margin:0;font-size:var(--t-base);font-weight:500;color:var(--ink-80)}

.metaband{display:flex;flex-wrap:wrap;border:1px solid var(--card-line);border-radius:20px;
  overflow:hidden;margin:36px 0 0;list-style:none;padding:0;background:var(--tint)}
.metaband li{flex:1 1 170px;padding:20px 22px;border-right:1px solid var(--card-line)}
.metaband li:last-child{border-right:0}
.metaband b{display:block;font-size:var(--t-xs);font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-59);margin-bottom:6px}
.metaband span{display:block;font-size:var(--t-base);font-weight:500}

.zitat{border-left:2px solid var(--blue);padding:6px 0 6px 24px;margin:36px 0}
.zitat p{font-family:var(--serif);font-weight:400;font-size:var(--t-m);line-height:1.45;
  margin:0 0 12px;color:var(--ink)}
.zitat cite{font-style:normal;font-size:var(--t-s);font-weight:500;color:var(--ink-59)}
.zitat cite b{display:block;font-weight:800;color:var(--ink)}

.team{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:48px;
  list-style:none;padding:0;align-items:start}

details.person-karte{background:var(--white);border:1px solid var(--card-line);
  border-radius:20px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
details.person-karte[open]{border-color:rgba(29,87,246,.22);
  box-shadow:0 18px 40px -26px var(--schatten)}
details.person-karte>summary{list-style:none;cursor:pointer;display:block}
details.person-karte>summary::-webkit-details-marker{display:none}
details.person-karte>summary:hover .p-mehr{color:var(--blue-dk);text-decoration:underline}
details.person-karte .bild{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--hair)}
details.person-karte .bild img{width:100%;height:100%;object-fit:cover}
details.person-karte .text{display:block;padding:16px 16px 18px}
details.person-karte b{display:block;font-size:var(--t-base);font-weight:800;line-height:1.3}
.p-pos{display:block;font-size:var(--t-s);font-weight:500;color:var(--ink-59);margin-top:3px}
.p-slogan{display:block;font-family:var(--serif);font-weight:400;font-size:var(--t-s);
  line-height:1.4;color:var(--ink-80);margin-top:10px}
.p-mehr{display:block;font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue);margin-top:12px}
details.person-karte[open] .p-mehr{visibility:hidden;height:0;margin:0}
.p-inhalt{padding:0 16px 20px;border-top:1px solid var(--hair);margin:0 16px;
  padding-top:16px}
.p-titel{font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-59);margin:0 0 8px}
.p-inhalt .small{margin:0 0 16px}
.p-inhalt .chips{margin:0 0 16px}
.p-inhalt .small:last-child{margin-bottom:0}

.g3.mittig .card{text-align:center;align-items:center}
.g3.mittig .ico-val{width:40px;height:40px;color:var(--ink);margin:0 auto 16px}
.g3.mittig .ico-val svg{width:40px;height:40px}
.g3.mittig h3{font-family:var(--serif);font-weight:400;font-size:var(--t-m)}

.credo .split{grid-template-columns:1.02fr .98fr;gap:56px;align-items:start}
.credo-bild{aspect-ratio:4/3;margin:18px 0 26px}
.leitsaetze{display:flex;flex-direction:column;gap:18px;padding-top:34px}
.leitsatz{background:var(--blau-flaeche-1);border-radius:20px;padding:26px 28px}
.leitsatz h3{margin:0 0 10px;font-size:var(--t-body)}
.leitsatz .small{margin:0}
@media (max-width:1000px){.credo .split{grid-template-columns:1fr}.leitsaetze{padding-top:0}}
.person-karte{background:var(--white);border:1px solid var(--card-line);border-radius:20px;
  overflow:hidden;transition:transform .18s,border-color .18s}
.person-karte:hover{transform:translateY(-2px);border-color:rgba(29,87,246,.16)}
.person-karte .bild{aspect-ratio:1/1;overflow:hidden;background:var(--hair)}
.person-karte .bild img{width:100%;height:100%;object-fit:cover}
.person-karte .text{padding:16px 16px 20px}
.person-karte b{display:block;font-size:var(--t-base);font-weight:800;line-height:1.3;margin-bottom:5px}
.person-karte span{display:block;font-size:var(--t-s);font-weight:500;color:var(--ink-59);line-height:1.45}

.zeitleiste{list-style:none;margin:44px 0 0;padding:0 0 0 26px;position:relative}
.zeitleiste::before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:2px;
  background:var(--hair)}
.zeitleiste li{position:relative;padding-bottom:26px}
.zeitleiste li:last-child{padding-bottom:0}
.zeitleiste li::before{content:"";position:absolute;left:-26px;top:6px;width:10px;height:10px;
  border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px var(--white)}
.zeitleiste b{display:block;font-size:var(--t-s);font-weight:800;color:var(--blue);
  letter-spacing:.06em;margin-bottom:4px}
.zeitleiste span{display:block;font-size:var(--t-base);font-weight:500;line-height:1.65;color:var(--ink-80)}

.formular{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.feld-voll{grid-column:span 2}
.formular label{display:block;font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-59);margin-bottom:7px}
.formular input,.formular textarea,.formular select{width:100%;font:inherit;
  font-size:var(--t-base);font-weight:500;padding:12px 14px;border:1px solid var(--hair);
  border-radius:10px;background:var(--white);color:var(--ink)}
.formular input:focus,.formular textarea:focus,.formular select:focus{border-color:var(--blue);
  outline:0;box-shadow:0 0 0 3px var(--blue-07)}
.formular textarea{min-height:132px;resize:vertical}
.formular .pflicht{color:var(--blue)}
.kontrollkaestchen{display:flex;gap:11px;align-items:flex-start;font-size:var(--t-s);
  font-weight:500;color:var(--ink-80);line-height:1.55}
.kontrollkaestchen input{width:17px;height:17px;flex:none;margin-top:2px}
.formhinweis{font-size:var(--t-s);font-weight:500;color:var(--ink-59);margin:14px 0 0}

.honigtopf{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.formmeldung{margin:14px 0 0;font-size:var(--t-s);font-weight:800;line-height:1.5}
.formmeldung:empty{display:none}
.formmeldung.ok{color:var(--erfolg)}
.formmeldung.fehler{color:var(--fehler)}
.formular [aria-invalid="true"]{border-color:var(--fehler)}

@media (max-width:1000px){
  .team{grid-template-columns:repeat(3,1fr)}
  .metaband li{flex:1 1 50%;border-bottom:1px solid var(--card-line)}
}
@media (max-width:760px){
  .team{grid-template-columns:repeat(2,1fr)}
  .formular{grid-template-columns:1fr}
  .feld-voll{grid-column:span 1}
  .metaband li{flex:1 1 100%;border-right:0}
  .prosa h2{margin-top:40px}
}

.ref-hero{padding:120px 0 0}
.ref-hero .chips{margin:0 0 22px}

.ref-hero h1{font-size:var(--t-xl);max-width:20ch}

.haupt-hero h1{font-size:var(--t-display);max-width:690px;letter-spacing:-.0236em;line-height:1}

.ub-hero h1{max-width:690px}
.haupt-hero{padding:174px 0 0}
.ref-bild{padding:44px 0 0}
.ref-bild .ubild{aspect-ratio:16/7}
.referenzperson{margin:26px 0 0;padding-left:15px;border-left:2px solid var(--blue)}
.referenzperson b{display:block;font-size:var(--t-base);font-weight:800}
.referenzperson span{display:block;font-size:var(--t-s);font-weight:500;color:var(--ink-59)}
@media (max-width:760px){.ref-bild .ubild{aspect-ratio:4/3}}

.gn-hero{padding:91px 0 0}

.gn-a{width:189px;height:216px;right:-165.5px;top:24px;transform:rotate(26deg);z-index:1}
.gn-b{width:405px;height:315px;right:-91.5px;top:100px;transform:rotate(7deg);z-index:2}
.gn-c{width:176px;height:203px;right:212.25px;top:324.75px;transform:rotate(-37deg);z-index:3}
.collage figure.gn-a,.collage figure.gn-b,.collage figure.gn-c{position:absolute;margin:0;
  border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(10,22,40,.5)}

.zitat.kasten{background:var(--gelb-flaeche);border:1px solid rgba(255,225,7,.75);
  border-radius:14px;padding:25px 29px;margin:64px 0;max-width:none}
.zitat.kasten p{font-style:italic;margin:0}

.eyebrow.pille{display:inline-block;padding:8px 13px;border-radius:100px;
  background:var(--gelb-flaeche);color:var(--gelb-schrift);
  border:1px solid rgba(255,225,7,.75)}

.split.mit-linie{border-bottom:1px solid var(--hair);padding-bottom:48px;
  margin-bottom:64px}
.zitat.breit{max-width:none;margin:52px 0}
.zitat.breit p{font-size:var(--t-m)}

.listenpaar>.erarbeiten,.umedia>.erarbeiten:first-child{margin-top:0;margin-left:0;
  margin-right:0;width:100%}

.split .listenpaar{grid-template-columns:1fr;row-gap:0;margin-top:0}
.split .listenpaar>div+div{border-top:1px solid var(--hair);margin-top:36px;padding-top:36px}
.listenpaar{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px;align-items:start}
@media (max-width:900px){.listenpaar{grid-template-columns:1fr}}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}

.weitere{padding:80px 0}
.weitere .card h3{font-family:var(--serif);font-weight:400;font-size:24px;
  line-height:1.35;letter-spacing:-.01em}
.card .cat{font-size:var(--t-xs);font-weight:800;letter-spacing:.9px;text-transform:uppercase;
  color:var(--blue);margin:0 0 10px}
.card .loc{font-size:var(--t-s);font-weight:500;color:var(--ink-59);margin:0 0 12px}

.mandate .card .loc{font-size:var(--t-xs);font-weight:800;letter-spacing:.9px;
  text-transform:uppercase;color:var(--blue);margin:0 0 10px}
.mandate .card .funktion{font-size:var(--t-s);font-weight:500;color:var(--ink-59);
  margin:0 0 14px}
.card .small b{font-weight:800;color:var(--ink)}
.stimme{text-align:center;padding:80px 0}
.stimme .sterne{font-size:var(--t-body);letter-spacing:3px;color:var(--yellow);margin:0 0 22px}
.stimme blockquote{margin:0;border:0;padding:0;max-width:60ch;margin-inline:auto}
.stimme blockquote p{font-family:var(--serif);font-style:italic;font-size:var(--t-l);
  line-height:1.35;margin:0 0 18px}
@media (max-width:1000px){.g2{grid-template-columns:1fr}}

.recht-hero{padding:120px 0 0}
.recht-hero h1{font-size:var(--t-xl)}
.rechtskasten{background:var(--tint);border:1px solid var(--card-line);border-radius:20px;
  padding:28px 30px;margin:0 0 24px}
.rechtskasten h2{margin-top:0;font-size:var(--t-body)}
.rechtskasten p:last-child{margin-bottom:0}
.dse-inhalt{background:var(--tint);border:1px solid var(--card-line);border-radius:20px;
  padding:24px 28px;margin:0 0 40px}
.dse-inhalt ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.dse-inhalt a{color:var(--blue);text-decoration:none;font-size:var(--t-s);font-weight:500}
.dse-inhalt a:hover{text-decoration:underline}
.rechtsspiegel{margin-top:48px;padding-top:24px;border-top:1px solid var(--hair)}

.platzhalter{background:var(--yellow);border-left:4px solid #C9A800;border-radius:0 8px 8px 0;
  padding:14px 18px;margin:0 0 28px;font-size:var(--t-s);font-weight:500;color:var(--ink)}

.person-gross .bild{aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:var(--hair);
  margin:-4px 0 18px}
.person-gross .bild img{width:100%;height:100%;object-fit:cover}
.person-gross .motto{font-family:var(--serif);font-size:var(--t-m);line-height:1.35;
  color:var(--blue);margin:10px 0 14px}
.person-gross .chips{margin:14px 0 0}
.team-titel{margin:56px 0 0;font-size:var(--t-m)}
.person-karte .beschrieb{margin-top:10px;color:var(--ink-59);font-size:var(--t-s);line-height:1.55}
@media (max-width:1000px){.team{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.team{grid-template-columns:repeat(2,1fr);gap:12px}}

@media (max-width:380px){.team{grid-template-columns:1fr}}

.p-inhalt a{overflow-wrap:anywhere}
.team>li{min-width:0}

.werke{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 22px;list-style:none;
  margin:48px 0 0;padding:0}
.werk{min-width:0}
.wbild{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--hair);
  box-shadow:0 12px 30px -18px var(--schatten);margin-bottom:14px}
.wbild img{width:100%;height:100%;object-fit:cover}
.wjahr{font-size:var(--t-xs);font-weight:800;letter-spacing:.08em;color:var(--blue);margin:0 0 5px}
.werk h3{margin:0 0 6px;font-size:var(--t-m);line-height:1.25}
.wperson{margin:0;font-size:var(--t-s);font-weight:500;color:var(--ink-80)}
.wtechnik{margin:4px 0 0;font-size:var(--t-s);font-weight:500;color:var(--ink-59)}

.wweb{margin:8px 0 0;font-size:var(--t-s);overflow-wrap:anywhere}

.frei h1{color:var(--white)}
.frei h1 em{background-image:linear-gradient(96deg,var(--blau-hell-3),var(--blau-hell-3) 0%,var(--blau-hell-1))}

.frei p.sub{color:var(--w-text)}
.frei p.sub strong{color:var(--w-betont)}
@media (max-width:1000px){.werke{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.werke{grid-template-columns:repeat(2,1fr);gap:26px 14px}}

dialog.pop{border:0;padding:0;max-width:min(760px,92vw);width:100%;
  border-radius:24px;background:var(--white);color:var(--ink);
  box-shadow:0 40px 90px -40px rgba(10,22,40,.55)}
dialog.pop::backdrop{background:rgba(10,22,40,.55);backdrop-filter:blur(3px)}
.pop-kopf{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:center;
  padding:28px 30px 0}
.pop-bild{aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--hair)}
.pop-bild img{width:100%;height:100%;object-fit:cover}
.pop-kopf h3{margin:0 0 4px;font-size:var(--t-l)}
.pop-rolle{margin:0;font-size:var(--t-s);font-weight:500;color:var(--ink-59)}
.pop-slogan{margin:12px 0 0;font-family:var(--serif);font-weight:400;
  font-size:var(--t-m);line-height:1.35;color:var(--blue)}
.pop-koerper{padding:26px 30px 30px}
.pop-koerper .p-titel{margin-top:22px}
.pop-koerper .p-titel:first-child{margin-top:0}
.pop-zu{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;
  border:1px solid var(--hair);background:var(--white);color:var(--ink);
  display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1}
.pop-zu:hover{background:var(--tint)}

dialog.pop.werk{max-width:min(1040px,94vw)}
dialog.pop.werk img{width:100%;height:auto;display:block;border-radius:24px 24px 0 0}
dialog.pop.werk .pop-koerper{padding:22px 30px 28px}
@media (max-width:620px){
  .pop-kopf{grid-template-columns:1fr;gap:16px;padding:24px 22px 0}
  .pop-bild{max-width:132px}
  .pop-koerper{padding:22px 22px 26px}
}
.team-titel{margin:56px 0 0;font-size:var(--t-m)}
.team-titel:first-of-type{margin-top:48px}
.team.drei{grid-template-columns:repeat(3,1fr);max-width:760px}
@media (max-width:1000px){.team.drei{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.team.drei{grid-template-columns:repeat(2,1fr)}}
@media (max-width:380px){.team.drei{grid-template-columns:1fr}}
.karten-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:22px}
.formular button[disabled]{opacity:.45;cursor:not-allowed}
.formhinweis{margin:12px 0 0;font-size:var(--t-s);color:var(--ink-59)}
.formular input,.formular textarea{width:100%;border:1px solid var(--hair);border-radius:12px;
  padding:13px 15px;font:inherit;font-size:var(--t-base);color:var(--ink);background:var(--white)}
.formular input:focus,.formular textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent}
.formular textarea{resize:vertical;min-height:120px}
.kontrollkaestchen{display:flex;gap:12px;align-items:flex-start}
.kontrollkaestchen input{width:20px;height:20px;flex:none;margin-top:2px}
.kontrollkaestchen label{font-size:var(--t-s);font-weight:500;color:var(--ink-80);
  letter-spacing:0;text-transform:none}
@media (max-width:760px){.formular{grid-template-columns:1fr}.feld-voll{grid-column:span 1}}

.team-fuehrung{grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1000px){.team-fuehrung{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.team-fuehrung{grid-template-columns:repeat(2,1fr)}}
@media (max-width:380px){.team-fuehrung{grid-template-columns:1fr}}

.kartenlinks{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px}

.karte{position:relative;aspect-ratio:16/11;border-radius:25px;overflow:hidden;
  background:var(--tint);border:1px solid var(--card-line)}
.karte iframe{width:100%;height:100%;border:0;display:block}
.karte-vorschau{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:30px;gap:14px;
  background:
    linear-gradient(0deg,rgba(29,87,246,.05),rgba(29,87,246,.05)),
    repeating-linear-gradient(0deg,var(--tint),var(--tint) 38px,var(--hair) 38px,var(--hair) 39px),
    repeating-linear-gradient(90deg,transparent,transparent 54px,var(--hair) 54px,var(--hair) 55px)}
.karte-pin{width:52px;height:52px;border-radius:16px;background:var(--blue);color:var(--white);
  display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(29,87,246,.7)}
.karte-pin svg{width:26px;height:26px}
.karte-adresse{margin:0;font-size:var(--t-s);font-weight:500;color:var(--ink-80);line-height:1.5}

.karte-hinweis{margin:18px 0 0;max-width:38ch;font-size:13px;line-height:1.5;
  font-weight:500;color:var(--ink-59)}

.zeitleiste{max-width:640px;margin-inline:auto}

@media (max-width:760px){
  .hero h1,.haupt-hero h1{font-size:clamp(32px,8.6vw,50px);max-width:none}
  .hero .sub{font-size:var(--t-body);margin-top:20px}
  .hero .stats{margin-top:24px;padding-top:18px;gap:6px 18px}
  .hero .eyebrow{margin-bottom:12px}

  .collage{margin-top:28px;margin-bottom:28px}
  .collage figure{aspect-ratio:2/1}
  .hero .sub{line-height:1.5}
  .hero .btn{margin-top:24px}
}

@media (max-width:560px){
  .collage figure{aspect-ratio:auto;overflow:visible}
  .collage img{height:auto;object-fit:fill}
}

.mandate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px}

.mandat{background:var(--tint);border:1px solid var(--card-line);border-radius:20px;
  padding:32px 30px;display:flex;flex-direction:column}

.mandat h3{font-size:22px;line-height:1.3;margin:0 0 12px;letter-spacing:-.01em}
.mandat .txt{margin:0;color:var(--ink-70);font-size:var(--t-s);line-height:1.62}

.mandat .zitat{margin:22px 0 0;padding:6px 0 6px 20px}
.mandat .zitat:last-child{margin-top:auto;padding-top:22px}
.mandat .zitat p{font-size:var(--t-s);line-height:1.5}
.mandat .more{margin-top:22px}
@media (max-width:860px){.mandate{grid-template-columns:1fr}}

@media (max-width:340px){
  .navin{gap:8px}
  .brand img{width:118px;height:24px}
  .navcta{padding:10px 12px;font-size:12px}

  .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
  .stats>span{min-width:0}
  .stats .sep{display:none}
  .stats b{font-size:18px}
  .stats span span{display:block;margin-left:0;margin-top:3px;line-height:1.35;
    overflow-wrap:break-word;hyphens:auto}
}

@media (max-width:760px){

  .navin{padding-top:8px;padding-bottom:8px}
  .navcta{min-height:44px;display:inline-flex;align-items:center}

  .hero h1{line-height:1.08}

  .utext h2,.erstgespraech h2,.prosa h2{font-size:26px}

  .small,.ref .txt,.mandat .txt{font-size:15px;line-height:1.6}

  :root{--t-xs:12px}

  .mid .intro,.mid>p,.kopf-weit .intro{text-align:left}

  .link,.more{min-height:44px}
  .soc{position:relative}
  .soc::after{content:"";position:absolute;inset:-6px}
  .fcol ul{gap:2px}
  .fcol a{display:block;padding:10px 0}
  .fkontakt a{display:inline-block;padding:9px 0}
  .fbot a{display:inline-block;padding:9px 0}

  .logos.gekuerzt li:nth-child(n+9){display:none}
  .logos-mehr{display:inline-flex}
}

.logos-mehr{display:none;align-items:center;justify-content:center;gap:8px;
  margin:24px auto 0;min-height:44px;padding:11px 22px;background:transparent;
  color:var(--white);border:1px solid var(--w-rand);border-radius:100px;
  font-family:inherit;font-size:var(--t-s);font-weight:800;cursor:pointer;
  transition:background .18s}
.logos-mehr:hover{background:var(--w-flaeche)}

.hero-aktionen{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}
.hero-aktionen a{display:inline-flex;align-items:center;gap:9px;min-height:48px;
  padding:12px 24px;border-radius:100px;text-decoration:none;
  font-size:var(--t-base);font-weight:800}
.hero-aktionen svg{width:17px;height:17px;flex:none}
.hero-aktionen .anruf{background:var(--blue);color:var(--white)}
.hero-aktionen .anruf:hover{background:var(--blue-dk)}
.hero-aktionen .mail{background:transparent;color:var(--blue);
  box-shadow:inset 0 0 0 1px rgba(29,87,246,.25)}
.hero-aktionen .mail:hover{background:var(--blue-07)}

nav.krume-nav{position:static;z-index:auto;
  background:transparent;backdrop-filter:none}
.krume{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;
  padding:0;list-style:none;font-size:var(--t-s);font-weight:500;color:var(--ink-59)}
.krume a{color:var(--blue);text-decoration:none;font-weight:800;
  display:inline-flex;align-items:center;min-height:32px}
.krume a:hover{text-decoration:underline}
.krume .trenner{color:var(--grey)}
.krume li[aria-current="page"]{color:var(--ink-59)}
@media (max-width:760px){.krume a{min-height:44px}}

.fgruppe>summary{list-style:none;display:block}
.fgruppe>summary::-webkit-details-marker{display:none}
.fgruppe>summary::marker{content:""}
@media (min-width:761px){

  .fgruppe>summary{pointer-events:none}
}
@media (max-width:760px){
  .fgruppe{border-bottom:1px solid rgba(253,253,255,.09)}
  .fgruppe>summary{cursor:pointer;display:flex;align-items:center;
    justify-content:space-between;gap:12px;min-height:44px;padding:4px 0}
  .fgruppe>summary h2{margin:0}

  .fgruppe>summary::after{content:"";width:9px;height:9px;flex:none;
    border-right:1.6px solid var(--w-meta);border-bottom:1.6px solid var(--w-meta);
    transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s}
  .fgruppe[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
  .fgruppe>ul{padding-bottom:8px}

  .fcol a{padding:13px 0}
  .fkontakt a{padding:11px 0}
  .fbot a{padding:11px 0}
}

:root{--kopfhoehe:70px}
@media (max-width:760px){:root{--kopfhoehe:60px}}
[id]{scroll-margin-top:calc(var(--kopfhoehe) + 24px)}

.rechtslayout{display:grid;grid-template-columns:minmax(0,1fr)}
.dse-inhalt ol{counter-reset:dse}
.dse-inhalt li{counter-increment:dse}
.dse-inhalt a{display:flex;align-items:center;min-height:40px;gap:10px}

.dse-inhalt a[data-hier]{font-weight:800;color:var(--blue-dk)}
.dse-inhalt a[data-hier]::before{content:"";width:3px;align-self:stretch;margin:6px 0;
  background:var(--blue);border-radius:2px}
.dse-inhalt a:not([data-hier])::before{content:"";width:3px;align-self:stretch;margin:6px 0;
  background:transparent}
@media (max-width:760px){
  .dse-inhalt a{min-height:44px}
  .dse-inhalt{padding:20px 20px}
}

.nach-oben{margin:26px 0 0;text-align:right}
.nach-oben a{display:inline-flex;align-items:center;gap:7px;min-height:44px;
  color:var(--ink-59);text-decoration:none;font-size:var(--t-s);font-weight:800}
.nach-oben a:hover{color:var(--blue)}
.nach-oben svg{width:13px;height:13px}

.prosa p,.prosa li,.prosa dd,.prosa dt{font-size:16px}
.prosa p{line-height:1.75}
.prosa li{line-height:1.7}

.nur-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.navcta[aria-current="page"]{background:transparent;color:var(--blue);
  box-shadow:inset 0 0 0 1px rgba(29,87,246,.3)}
.navcta[aria-current="page"]:hover{background:var(--blue-07)}

.rollenhinweis{margin:26px 0 0;padding:14px 18px;border-radius:12px;
  background:var(--blau-flaeche-1);color:var(--ink);font-size:var(--t-base);
  font-weight:800;max-width:60ch}

.pool-hinweis{margin:40px 0 0;text-align:center;font-size:var(--t-base);
  font-weight:500;color:var(--ink-80)}
.pool-hinweis .link{margin-left:8px}
@media (max-width:760px){.pool-hinweis{text-align:left;margin-top:32px}}

.ref-aktion{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin:28px 0 0}
.ref-aktion .link{font-weight:800}

.ref-aktion .btn{margin-top:0}
@media (max-width:560px){
  .ref-aktion{gap:14px}
  .ref-aktion .btn{width:100%;text-align:center}
}

.chips .chip{border-color:transparent;cursor:default}
.ublock .chip,.blue .chip{border-color:transparent}

@media (max-width:1200px){
  .hero .stats{padding-bottom:22px;border-bottom:1px solid var(--grey)}
}

@media (max-width:760px){
  .partners{padding:22px 0 24px}
  .pwrap{gap:20px}
  .plabel{margin-bottom:10px}
  .prow{gap:8px}
  .plogo{height:46px;padding:6px 12px;min-width:70px}
  .plogo img{max-height:24px;max-width:104px}
  .plogo.quadrat img{max-height:34px;max-width:34px}
  .fbot{padding:18px 0;gap:6px 20px}
}

:root{--abschnittstrenner:clamp(48px,4vw,64px)}

@media (min-width:761px){
  .ublock + .erstgespraech,
  .ublock + .cta,
  .ublock + .blue,
  .ublock + .navyb,
  .ublock + .frei,
  .ublock + .band{margin-top:var(--abschnittstrenner)}
}

.team:has(details.person-karte[open]),
.team-fuehrung:has(details.person-karte[open]){margin-bottom:16px}

.hero p.sub,.hero .intro{overflow-wrap:break-word;hyphens:auto}

@media (max-width:1340px){
  .hero{padding-top:132px}
  .ub-hero,.im-hero{padding-top:144px}
  .haupt-hero{padding-top:120px}
  .gn-hero{padding-top:75px}
  .ref-hero,.recht-hero{padding-top:99px}
}
@media (max-width:1200px){
  .hero{padding-top:104px}
  .ub-hero,.im-hero{padding-top:113px}
  .haupt-hero{padding-top:104px}
  .gn-hero{padding-top:64px}
  .ref-hero,.recht-hero{padding-top:78px}
}
@media (max-width:760px){
  .hero,.ub-hero,.im-hero,.gn-hero,.haupt-hero,.ref-hero{padding-top:64px}
  .recht-hero{padding-top:48px}
}
