/* ManjaPartners, Website. Basis aus tokens.css, Maße und Farben der Sektionen nach Figma „AKTUELLES FILE“ (Seitenbreite 1440). */

:root{
  --ink:#0F294C;            /* Headlines */
  --ink-2:#0E284C;          /* kleine Headlines, Labels */
  --text:rgba(0,0,0,.8);    /* Fließtext */
  --meta:#46546D;
  --rule:rgba(62,83,112,.5);
  --band:#FBFBFB;           /* Nebel-Band */
  --navy-a:#071C37; --navy-b:#0D3163;
  --navy-v:linear-gradient(180deg,var(--navy-a),var(--navy-b));
  --navy-h:linear-gradient(90deg,var(--navy-a),var(--navy-b));
  --btn-navy:linear-gradient(90deg,#002F5A,#013163);
  --edge:linear-gradient(118deg,#fff,rgba(255,255,255,.3));
  --sh-soft:0 4px 80px 23px rgba(0,0,0,.1);
  --sh-card:0 3px 60px 17px rgba(0,0,0,.1);
  --sh-tight:0 4px 24px rgba(0,0,0,.2);
  --header-h:72px;
  --g:20px;
  --fs-h2:clamp(30px,1.69vw + 23.7px,48px);
  --fs-lead:clamp(21px,1.11vw + 16.85px,32.8px);
  --fs-h3:clamp(22px,.55vw + 19.9px,27.85px);
  --fs-body:clamp(16px,.17vw + 15.4px,17.85px);
}
@media(min-width:800px){:root{--g:40px}}
@media(min-width:1000px){:root{--header-h:106px}}
@media(min-width:1100px){:root{--g:56px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}
body{margin:0;background:var(--mp-white);color:#000;font:300 var(--fs-body)/1.664 var(--mp-font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","liga";overflow-x:clip}
body.menu-open{overflow:hidden}
h1,h2,h3,h4{margin:0;font-family:var(--mp-font-display);font-weight:300;text-wrap:balance}
p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
sup{font-size:.45em;vertical-align:top;position:relative;top:.3em;margin-left:1px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--mp-blue);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--mp-navy);color:#fff;padding:10px 14px;border-radius:8px}
.skip:focus{top:12px}

/* ---------- Raster: breit 1240, schmal 1020 ---------- */
.wrap,.wrap-n,.wrap-v,.wrap-f{width:100%;margin-inline:auto;padding-left:max(var(--g),env(safe-area-inset-left,0px));padding-right:max(var(--g),env(safe-area-inset-right,0px))}
.wrap{max-width:calc(1240px + 2*var(--g))}
.wrap-n,.wrap-f{max-width:calc(1020px + 2*var(--g))}
.wrap-v{max-width:calc(969px + 2*var(--g))}
.band{background:var(--band)}
.h2{font:300 var(--fs-h2)/1.354 var(--mp-font-display);letter-spacing:-.005em;color:var(--ink);text-wrap:wrap}
.center{text-align:center}
.lead{font-size:var(--fs-lead);line-height:1.363;font-weight:300}

/* Wasserzeichen: das M aus der Wortmarke, kaum sichtbar */
.wz{position:absolute;z-index:0;pointer-events:none;max-width:none;height:auto}

/* ---------- Buttons: nur die Ecke unten rechts rund, Pfeil als Zeichen ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45em;height:53px;padding:0 48px;font:400 var(--fs-body)/1 var(--mp-font-text);color:#fff;white-space:nowrap;isolation:isolate;border-radius:0 0 7px 0;transition:filter var(--mp-dur-2) var(--mp-ease),background-color var(--mp-dur-2) var(--mp-ease),transform var(--mp-dur-1) var(--mp-ease)}
.btn b{font-weight:400;transition:transform var(--mp-dur-3) var(--mp-ease)}
.btn:hover b{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn-navy{background:var(--btn-navy)}
.btn-navy:hover{filter:brightness(1.25)}
.btn-glass{height:59px;padding:0 33px;background:rgba(255,255,255,.3);border-radius:0 0 14px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--edge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.btn-glass:hover{background-color:rgba(255,255,255,.4)}
.btn-glass.lg{height:70px;padding:0 54px;font-size:clamp(18px,.3vw + 17px,21.4px);border-radius:0 0 17px 0}
.btn.sm{height:41px;padding:0 14px;font-size:12.4px;border-radius:0 0 7px 0}
.btn-glass.sm{padding:0 32px;border-radius:0 0 10px 0}

/* ---------- Kopfzeile: Band in Nachtblau, Wortmarke in der Mitte ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:40;color:#fff;padding-top:env(safe-area-inset-top,0px);background:linear-gradient(90deg,#020F20 0%,#0C2E5B 47%,#011021 100%);transition:box-shadow var(--mp-dur-3) var(--mp-ease)}
.site-header.is-solid{box-shadow:0 18px 50px -30px rgba(2,8,28,.7)}
.site-header .nav{height:var(--header-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;transition:height var(--mp-dur-3) var(--mp-ease)}
.site-header .brand{color:#fff;width:176px}
.site-header .brand svg{width:100%;height:auto;aspect-ratio:1135.5/134}
.site-header .links{display:none;gap:clamp(18px,2.1vw,30px);font-size:clamp(14.5px,1.15vw,16.5px);font-weight:300;line-height:1.66;white-space:nowrap}
.site-header .links a{opacity:.92;transition:opacity var(--mp-dur-2) var(--mp-ease)}
.site-header .links a:hover{opacity:1}
.site-header .menu-btn{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 4px;font:var(--mp-ui)}
.site-header .menu-btn i{display:block;width:22px;height:12px;position:relative}
.site-header .menu-btn i::before,.site-header .menu-btn i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;top:0;transition:transform var(--mp-dur-3) var(--mp-ease),top var(--mp-dur-3) var(--mp-ease),bottom var(--mp-dur-3) var(--mp-ease)}
.site-header .menu-btn i::after{top:auto;bottom:0}
.site-header .menu-btn.is-open i::before{top:5px;transform:rotate(45deg)}
.site-header .menu-btn.is-open i::after{bottom:5px;transform:rotate(-45deg)}
@media(min-width:1000px){
  .site-header .nav{grid-template-columns:1fr auto 1fr;gap:24px}
  .site-header.is-solid .nav{height:84px}
  .site-header .brand{width:clamp(220px,22.4vw,322px);justify-self:center}
  .site-header .links{display:flex}
  .site-header .links.right{justify-content:flex-end}
  .site-header .menu-btn{display:none}
}
.menu{position:fixed;inset:0;z-index:35;background:radial-gradient(120% 60% at 100% 0%,rgba(31,79,203,.38),rgba(31,79,203,0) 62%),linear-gradient(180deg,var(--navy-a),#0A2647);color:#fff;display:none;flex-direction:column;justify-content:center;gap:8px;padding:100px max(24px,env(safe-area-inset-left,0px)) 48px}
.menu.is-open{display:flex}
.menu a{font:300 clamp(30px,8vw,40px)/1.2 var(--mp-font-display);letter-spacing:-.02em;padding:6px 0}
.menu.is-open>*{animation:einblenden .5s var(--mp-ease) both}
.menu.is-open>:nth-child(2){animation-delay:40ms}.menu.is-open>:nth-child(3){animation-delay:80ms}.menu.is-open>:nth-child(4){animation-delay:120ms}.menu.is-open>:nth-child(5){animation-delay:160ms}.menu.is-open>:nth-child(6){animation-delay:200ms}.menu.is-open>:nth-child(n+7){animation-delay:240ms}
@keyframes einblenden{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.menu .menu-cta{align-self:flex-start;margin-top:28px;font:400 16px/1 var(--mp-font-text);letter-spacing:0;padding:0 28px}
.menu .meta{margin-top:auto;font:var(--mp-body-sm);color:var(--mp-on-dark-2)}

/* ---------- Hero: Film, Glas, Kennzahlen, sieben Balken ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-a);color:#fff;min-height:max(640px,100svh);display:flex;flex-direction:column;justify-content:flex-end}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1200ms var(--mp-ease-std)}
.hero-video.is-ready{opacity:1}
/* Nachtblauer Schleier über dem Film, oben dichter, damit Kopfzeile und Glas auch vor der hellen Hotelfassade stehen */
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,28,55,.45) 0%,rgba(7,28,55,.22) 50%,rgba(7,28,55,.12) 100%);pointer-events:none}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 900ms var(--mp-ease-std);pointer-events:none}
.hero-video video.is-on{opacity:1;z-index:2}
.hero-video video.is-prev{opacity:1;z-index:1;transition:none}
.hero-shade{position:absolute;left:0;right:0;bottom:0;height:81.5%;z-index:1;background:linear-gradient(180deg,rgba(23,93,183,0) 0%,var(--navy-a) 67.6%);opacity:.7;pointer-events:none}
.hero-in{position:relative;z-index:2;padding-top:calc(var(--header-h) + 48px);padding-bottom:48px}
/* Glasbox: der Container hält Platz für die höchste Headline frei. Das Glas sitzt auf der aktiven Headline und steht
   unten bündig, so ist die Box bei einer zweizeiligen Headline kleiner und die Kennzahlen darunter bleiben stehen.
   Der Button liegt unten im Glas unter der Unterzeile, die Headline lässt ihm unten Platz. */
.hero-glass{position:relative;max-width:782px}
.hero-slides{display:grid}
.hero-slide{grid-area:1/1;align-self:end;position:relative;isolation:isolate;display:flex;flex-direction:column;padding:32px 24px 111px;background:rgba(1,16,35,.16);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0 0 20px 0;opacity:0;visibility:hidden;transition:opacity .8s ease-in-out,visibility 0s .8s}
.hero-slide.is-on{opacity:1;visibility:visible;transition:opacity .8s ease-in-out,visibility 0s}
.hero-slide::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--edge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero-slide::after{content:"";position:absolute;left:7%;top:13%;width:86%;height:67%;z-index:-1;border-radius:50%;background:#fff;opacity:.06;filter:blur(90px);pointer-events:none}
.hero-btn{position:absolute;left:24px;bottom:28px;z-index:2;transition:opacity .8s ease-in-out,filter var(--mp-dur-2) var(--mp-ease),background-color var(--mp-dur-2) var(--mp-ease)}
/* Einblenden: beim Laden kommt die Glasbox nach 0,7 s, Kennzahlen und Balken nach 1 s (is-intro nimmt manja.js beim
   ersten Szenenwechsel weg). Beim Wechsel blendet die Box in 0,5 s aus und kommt mit der neuen Headline nach 1,15 s in
   0,8 s zurück (Klasse is-out). */
@keyframes hero-in{from{opacity:0}to{opacity:1}}
.hero-glass.is-intro .hero-slide.is-on,.hero-glass.is-intro .hero-btn{animation:hero-in .5s ease-in-out .7s backwards}
.hero-glass.is-out .hero-slide,.hero-glass.is-out .hero-btn{opacity:0;transition-duration:.5s}
.hero-title{font:300 clamp(32px,1.49vw + 26.4px,47.85px)/1.248 var(--mp-font-display);color:rgba(255,255,255,.8);max-width:520px;letter-spacing:-.005em;text-wrap:wrap}
.hero-title span{display:block;font-weight:400;color:#fff}
.hero-title span.inl{display:inline}
.br-d{display:none}
.hero-sub{max-width:460px;padding-top:20px;line-height:1.7}
.hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin-top:44px;animation:hero-in .5s ease-in-out 1s backwards}
.hero-kpis b{display:block;font:300 clamp(34px,.83vw + 30.9px,42.85px)/1 var(--mp-font-display);letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:lining-nums}
.hero-kpis li>span{display:block;margin-top:8px;font-size:15px;line-height:1.325;hyphens:auto;-webkit-hyphens:auto}
.hero-bars{display:flex;gap:6px;margin-top:40px;animation:hero-in .5s ease-in-out 1s backwards}
.hero-bars button{flex:1 1 0;max-width:61px;padding:12px 0;margin:-12px 0}
.hero-bars i{position:relative;display:block;height:4px;background:rgba(255,255,255,.5);overflow:hidden;transition:background-color var(--mp-dur-2) var(--mp-ease)}
.hero-bars button:hover i{background:rgba(255,255,255,.7)}
.hero-bars i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(var(--p,0));transform-origin:left}
.hero.no-film .hero-bars{visibility:hidden}
@media(min-width:800px){
  /* Abstände wie im Figma (bei 952 px Höhe: 135 über der Box, 75 bis zu den Kennzahlen, 86 bis zu den Balken,
     85 unten), mit der Bildschirmhöhe skaliert. Ist der Bildschirm höher, steht der ganze Block mittig. */
  .hero-in{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--header-h) + clamp(32px,13vh,135px));padding-bottom:clamp(28px,8vh,85px)}
  .hero-slide{padding:51px 56px 137px 61px}
  .hero-btn{left:61px;bottom:46px}
  .hero-kpis{margin-top:clamp(32px,7.5vh,75px)}
  .hero-bars{margin-top:clamp(28px,8.5vh,86px)}
}
/* Ab 1000 px: die Glasbox endet spätestens am dritten Trennstrich der Kennzahlen (zwischen 10+ und 1000+), der Button
   steht unter der Unterzeile. Die Breite setzt manja.js als --glass-max, bis dahin gilt der Näherungswert. */
@media(min-width:1000px){
  .hero-glass{max-width:min(var(--glass-max,700px),700px)}
  .hero-slide{padding:44px 46px 128px 50px}
  .hero-title{font-size:clamp(34px,1.1vw + 27px,43px)}
  .br-d{display:inline}
  .hero-sub{max-width:520px;padding-top:18px;font-size:16.5px;line-height:1.6}
  .hero-btn{left:50px;bottom:44px}
}
@media(min-width:900px){
  .hero-kpis{display:flex;gap:0}
  .hero-kpis li{padding:0 clamp(28px,3vw,41px);border-left:1px solid rgba(255,255,255,.45)}
  .hero-kpis li:first-child{padding-left:0;border:0}
  .hero-kpis li>span{font-size:16px;hyphens:manual;-webkit-hyphens:manual}
}

/* Mobil wie bei hl.com: der Film läuft oben ganz in 16:9, darunter stehen Headline, Unterzeile und Button auf Weiß,
   dann Kennzahlen und Balken auf Nachtblau. Der Text hat hier seinen eigenen Platz, die Headline wechselt im selben
   Moment wie der Clip, nur mit einem kurzen Einblenden. */
@media(max-width:799px){
  .hero{display:block;min-height:0;background:var(--navy-h)}
  .hero-media{position:relative;inset:auto;margin-top:var(--header-h);aspect-ratio:16/9}
  .hero-media::after{background:linear-gradient(180deg,rgba(7,28,55,.18),rgba(7,28,55,0) 45%)}
  .hero-shade{display:none}
  .hero-in{padding-top:0;padding-bottom:30px}
  .hero-glass{max-width:none;margin:0 calc(-1*var(--g));padding:28px var(--g) 30px;background:#fff}
  .hero-slide{align-self:start;padding:0 0 76px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;transition:none}
  .hero-slide::before,.hero-slide::after{display:none}
  .hero-title{font-size:clamp(27px,7.2vw,34px);line-height:1.2;color:rgba(15,41,76,.78)}
  .hero-title span{color:var(--ink)}
  .hero-sub{padding-top:14px;font-size:16px;line-height:1.6;color:var(--text)}
  .hero-btn{left:var(--g);bottom:30px;height:50px;padding:0 26px;background:var(--btn-navy);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0 0 12px 0}
  .hero-btn::before{display:none}
  .hero-kpis{gap:18px 16px;margin-top:28px;padding-top:0;border-top:0}
  .hero-kpis b{font-size:clamp(26px,7vw,30px)}
  .hero-kpis li>span{margin-top:6px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.8)}
  .hero-bars{margin-top:26px}
  .hero-slide.is-on,.hero-glass.is-intro .hero-slide.is-on{animation:hero-in .4s ease-out}
  .hero-glass.is-intro .hero-btn,.hero-kpis,.hero-bars{animation:none}
}

/* ---------- Referenzen: zwei Logo-Reihen auf Nebel, gegenläufig ---------- */
.logos{background:var(--band);padding:clamp(64px,8.4vw,121px) 0}
.logo-row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-row+.logo-row{margin-top:10px}
.logo-track{display:flex;width:max-content;animation:lauf 80s linear infinite}
.logo-row.is-reverse .logo-track{animation-direction:reverse;animation-duration:90s}
.logo-row:hover .logo-track{animation-play-state:paused}
.logo-track ul{display:flex;align-items:center;gap:51px;padding-right:51px}
.logo-track li{flex:none}
@media(max-width:799px){.logo-row{zoom:.62}}
@keyframes lauf{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Drei Faktoren: Formel als Karte ---------- */
.faktoren{padding-top:clamp(72px,8.1vw,117px)}
.faktoren-h{max-width:863px;margin-bottom:clamp(36px,4.3vw,61px)}
.formel{position:relative;display:grid;gap:32px;padding:40px 28px 44px 36px;background:#fff;border-radius:0 0 20px 0;box-shadow:0 4px 48px rgba(0,0,0,.1)}
/* Jede Spalte reserviert rechts eine Gasse; darin steht mittig der Operator, Text und Pill bleiben in ihrer Spalte */
.f-col{position:relative;isolation:isolate;padding-right:44px}
.f-col:last-child{padding-right:0}
.f-col>*{transition:opacity var(--mp-dur-4) var(--mp-ease),color var(--mp-dur-4) var(--mp-ease)}
.f-label{font:300 clamp(19px,1.62vw,23.23px)/32.3px var(--mp-font-display);color:var(--ink)}
.f-label button{position:relative;padding:9px 0;text-align:left;color:inherit}
.f-label button::before{content:"";position:absolute;inset:0 -14px;z-index:-1;border-radius:0 0 7px 0;background:linear-gradient(90deg,#012C53,#003162);opacity:0;transition:opacity var(--mp-dur-4) var(--mp-ease)}
.f-col p{margin-top:16px;max-width:30ch;color:#474747}
.f-op{position:absolute;top:21px;right:17px;width:10px;height:auto}
.f-eq{width:14px;height:5px;top:23px;right:15px;border-block:1.1px solid #60748D}
.f-col::before{content:"";position:absolute;inset:-14px -14px -22px -16px;z-index:-1;border-radius:0 0 14px 0;background:linear-gradient(90deg,#012C53,#003162);opacity:0;transition:opacity var(--mp-dur-4) var(--mp-ease)}
/* Zustände, gesetzt von manja.js */
.formel.is-live .f-col:not(.is-on)>:not(.f-op),.formel.is-live .f-op:not(.is-on){opacity:.3}
.formel.is-live .f-col.is-current .f-label{color:#fff}
.formel.is-live .f-col.is-current .f-label button::before{opacity:1}
.formel.is-live .f-col.is-result::before{opacity:1}
.formel.is-live .f-col.is-result .f-label,.formel.is-live .f-col.is-result p{color:#fff}
/* Mobil steht die Formel untereinander wie eine Rechnung: zwischen den Faktoren das Rechenzeichen im Kreis (ohne
   Linie, die wirkte wie ein Schieberegler), × nach den Zahlen und dem Multiplikator, = vor dem Verkaufserlös. */
@media(max-width:699px){
  .formel{gap:88px;padding:36px 24px 40px}
  .f-col{padding-right:0}
  .f-op,.f-eq{top:auto;right:auto;left:0;bottom:-62px;z-index:1;box-sizing:content-box;width:12px;height:12px;margin-left:0;padding:12px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px rgba(7,28,55,.4),0 4px 14px rgba(7,28,55,.1)}
  .f-eq{width:36px;height:36px;padding:0;background:linear-gradient(#0F294C,#0F294C) 50% 14px/14px 1.3px no-repeat,linear-gradient(#0F294C,#0F294C) 50% 20px/14px 1.3px no-repeat,#fff}
}
@media(min-width:700px){
  .formel{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 0;padding:44px 40px 48px}
  .f-col{padding-right:56px}
  .f-col:nth-child(even){padding-left:16px}
  .f-col:last-child{padding-right:0}
  .f-op{right:23px}
  .f-eq{right:21px}
}
@media(min-width:1100px){
  .formel{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:56px 44px 64px 49px}
  .f-col,.f-col:nth-child(even){padding:0 64px 0 0}
  .f-col:last-child{padding:0}
  .f-op{right:27px}
  .f-eq{right:25px}
  .f-col p{max-width:none}
}

/* ---------- Wo Potenzial verloren geht: überlappende Karten, Linie läuft mit ---------- */
/* Die Headline bleibt oben stehen, die Karten halten direkt darunter an. Das Skript misst --head (Headline plus
   Abstand) und --tail: um so viel reicht die Headline unsichtbar nach unten, bis zum Ende des Stapels. So lösen sich
   Headline und Karten im selben Moment und die Karten rutschen nie unter die Headline. */
.verlust{--h2-top:calc(var(--header-h) + 20px);padding:clamp(80px,9.8vw,141px) 0 4vh}
.verlust .h2{position:sticky;top:var(--h2-top);z-index:2;max-width:863px;padding-bottom:var(--tail,0px);pointer-events:none}
.deck{--stick:calc(var(--h2-top) + var(--head,0px));--step:14px;position:relative;margin-top:calc(clamp(32px,4vw,57px) - var(--tail,0px))}
.deck-card{position:sticky;top:calc(var(--stick) + var(--i,0)*var(--step));padding:40px 24px 44px;background:#fff;border-radius:0 0 20px 0;box-shadow:var(--sh-soft);transform-origin:50% 0}
.deck-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--navy-a);opacity:var(--dim,0);pointer-events:none}
.deck-card:nth-of-type(2){--i:1}
.deck-card:nth-of-type(3){--i:2}
.deck-card+.deck-card{margin-top:10vh}
.deck-num{display:block;font:400 clamp(36px,.83vw + 33px,47.85px)/1 var(--mp-font-display);color:#013262}
.deck-card h3{margin-top:12px;font-size:var(--fs-h3);line-height:1.39}
.deck-card p{margin-top:14px;max-width:795px}
.deck-line{display:none}
@media(min-width:900px){
  .verlust{--h2-top:calc(var(--header-h) + 36px)}
  .deck{--step:24px}
  .deck-card{min-height:344px;padding:72px 61px 64px 60px}
  .deck-card+.deck-card{margin-top:14vh}
}
@media(min-width:1100px){
  /* Die Karten fluchten mit der Formel darüber, die Linie steht links davon im Seitenrand */
  .deck{--off:min(61px,calc(max(var(--g),(100vw - 1240px)/2) - 16px));display:grid;grid-template-columns:1px minmax(0,1fr);column-gap:calc(var(--off) - 1px);row-gap:14vh;margin-left:calc(-1*var(--off))}
  .deck-card{grid-column:2;align-self:start}
  .deck-card+.deck-card{margin-top:0}
  .deck-line{display:block;grid-column:1;grid-row:1/span 3}
  .deck-track{position:sticky;top:calc(var(--stick) + 8px);display:block;width:1px;height:var(--track,392px);background:rgba(0,0,0,.2)}
  .deck-track i{position:absolute;left:0;top:0;width:1px;height:34%;background:rgba(0,0,0,.6);transform:translateY(var(--y,0px))}
}

/* ---------- Überleitung ---------- */
.ueberleitung{margin-top:clamp(80px,10.3vw,149px);padding:clamp(64px,7.2vw,104px) 0 clamp(60px,6.7vw,97px);text-align:center}
.ueberleitung .h2{max-width:640px;margin-inline:auto}
.ueberleitung p{max-width:592px;margin:25px auto 0;line-height:2.05;color:var(--text)}

/* ---------- Leistungen ---------- */
.leistungen{padding:clamp(72px,9.3vw,134px) 0 clamp(80px,10.5vw,151px)}
.leistungen>.wrap>.h2{margin-bottom:clamp(40px,6vw,87px)}
.svc-exit{margin-top:24.5%}
.svc-grid{display:grid;gap:50px 44px}
.svc{display:flex;flex-direction:column;box-shadow:var(--sh-card);border-radius:0 0 15px 0;background:#fff}
.svc-media{position:relative;aspect-ratio:597/349}
.svc-media>img{width:100%;height:100%;object-fit:cover}
.svc-exit .svc-media{background:linear-gradient(200deg,#0A2A56 0%,#05152A 45%,#051F3D 100%)}
.svc-exit .svc-media>img{position:absolute;left:0;bottom:0;width:93.8%;height:auto;object-fit:fill;-webkit-mask:url(../img/leistung-exit-ready-maske.png) 0 0/100% 100% no-repeat;mask:url(../img/leistung-exit-ready-maske.png) 0 0/100% 100% no-repeat}
.svc-body{flex:1;display:flex;flex-direction:column;padding:32px 24px 32px}
.svc h3{font:500 clamp(28px,.84vw + 24.9px,36.9px)/1.667 var(--mp-font-display);color:#000}
.svc-sub{margin-top:6px;font-size:var(--fs-h3);line-height:1.35;max-width:340px}
.svc-body>p:not(.svc-sub){margin-top:24px;line-height:2.05;color:var(--text);max-width:470px}
.svc .btn{align-self:flex-end;margin-top:auto}
.svc-body .btn{margin-top:36px}
@media(min-width:600px) and (max-width:799px){
  .svc{flex-direction:row}
  .svc-exit{margin-top:0}
  .svc-media{flex:0 0 42%;aspect-ratio:auto}
  .svc-exit .svc-media{overflow:hidden}
  .svc-exit .svc-media>img{width:auto;height:74%;max-width:none;left:-30%}
  .svc-body{padding:32px 28px 30px}
}
@media(min-width:800px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-exit{margin-top:0}
  .svc-body{padding:42px 47px 40px 53px}
  .svc-body .btn{margin-top:auto;padding-top:0}
  .svc-body>p:not(.svc-sub){margin-top:27px;margin-bottom:36px}
  .svc-wide{grid-column:1/-1;flex-direction:row}
  .svc-wide .svc-media{flex:0 0 52%;aspect-ratio:auto;min-height:100%}
  .svc-wide .svc-body{padding:45px 45px 54px 49px}
}

/* ---------- Stimmen: Slider und Fälle auf Nebel ---------- */
.stimmen{position:relative;overflow:hidden;padding:clamp(72px,7.2vw,104px) 0 clamp(90px,10.7vw,154px)}
.stimmen>.wrap,.stimmen>.slider{position:relative;z-index:1}
.wz-stimmen{left:-139px;top:0;width:697px}
.stimmen-h{max-width:691px;margin-bottom:clamp(40px,8.1vw,117px)}
.slider{--side:max(var(--g),calc((100vw - 1240px)/2))}
.slider-track{display:flex;align-items:stretch;gap:clamp(20px,4.3vw,62px);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:24px var(--side) 40px;margin:-24px 0 -40px;scroll-padding-inline:var(--side);scrollbar-width:none}
.slider-track::-webkit-scrollbar{display:none}
.slider-track:focus-visible{outline-offset:-4px}
.quote-card{flex:0 0 min(1004px,calc(100vw - 2*var(--g) - 36px));scroll-snap-align:start;display:grid;grid-template-rows:auto auto 1fr;gap:22px;padding:26px 22px 30px;background:#fff;box-shadow:var(--sh-tight)}
.qc-quote{font:300 clamp(23px,.9vw + 19.6px,33px)/1.3 var(--mp-font-display);color:var(--ink-2);max-width:470px}
.qc-main{display:flex;flex-direction:column}
.qc-person{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:22px}
.qc-name{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 16px;box-shadow:inset 0 0 0 .5px #E3E3E3;font-size:14.9px;line-height:1.3;color:var(--ink-2)}
.qc-name b{font-weight:300;display:block}
.qc-name span{display:block;opacity:.6}
.qc-avatar{width:42px;height:52px;object-fit:cover;flex:none;margin-left:-16px}
.qc-logo{display:grid;place-items:center;width:120px;height:52px;box-shadow:inset 0 0 0 .5px #E3E3E3}
.qc-logo img{max-width:92px;max-height:34px;width:auto;height:auto}
.qc-media{position:relative;display:block;width:100%;aspect-ratio:486/275.5;overflow:hidden;background:var(--navy-a);cursor:pointer}
.qc-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--mp-dur-4) var(--mp-ease),filter var(--mp-dur-3) var(--mp-ease)}
.qc-media:hover img{transform:scale(1.03);filter:brightness(1.06)}
.qc-media:focus-visible{outline-offset:4px}
.qc-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.qc-media.is-playing{cursor:default}
.qc-result h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:var(--fs-body);line-height:1.324;color:var(--ink-2);padding-bottom:13px;border-bottom:.5px solid var(--rule)}
.qc-tag{padding:3px 10px;border-radius:0 0 6px 0;background:var(--navy-h);color:#fff;font-size:12.5px;line-height:1.4;letter-spacing:.02em}
.qc-result p{margin-top:16px;line-height:1.45;color:var(--ink-2);opacity:.8;max-width:880px}
.qc-result{display:flex;flex-direction:column}
.qc-checks{display:grid;gap:12px;margin-top:auto;padding-top:20px}
.qc-checks li{position:relative;padding-left:40px;line-height:1.324;color:var(--ink-2);opacity:.8;max-width:330px}
.qc-checks li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;background:url(../img/icons/check.svg) center/contain no-repeat}
.qc-checks.is-quotes li{padding-left:28px;font-style:italic}
.qc-checks.is-quotes li::before{content:"„";top:-.18em;width:auto;height:auto;background:none;font:400 30px/1 var(--mp-font-display);font-style:normal;color:#013262}
/* Mobil: das Video steht oben über die volle Kartenbreite, darunter Zitat, Person und Ergebnisse. Die Häkchen
   stehen bündig unten, damit alle Karten gleich hoch und ruhig wirken. */
@media(max-width:699px){
  .quote-card{grid-template-rows:auto auto 1fr;gap:0;padding:0 0 28px;overflow:hidden}
  .qc-media{order:-1;aspect-ratio:16/9}
  .qc-main{padding:24px 22px 0}
  .qc-quote{font-size:23px;line-height:1.34}
  .qc-person{flex-wrap:nowrap;gap:8px;padding-top:20px}
  .qc-name{flex:1;min-width:0;min-height:48px;padding:0 12px;font-size:14px}
  .qc-name span{display:none}
  .qc-avatar{width:38px;height:48px;margin-left:-12px}
  .qc-logo{flex:none;width:92px;height:48px}
  .qc-logo img{max-width:72px;max-height:28px}
  .qc-result{padding:26px 22px 0}
  .qc-result p{margin-top:14px;font-size:15.5px}
}
.slider-nav{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}
.slider-btn{display:grid;place-items:center;width:46px;height:46px;border-radius:0 0 10px 0;box-shadow:inset 0 0 0 1px #DFDFDF;background:#fff;color:var(--ink);font-size:18px;transition:box-shadow var(--mp-dur-2) var(--mp-ease),opacity var(--mp-dur-2) var(--mp-ease)}
.slider-btn b{font-weight:300}
.slider-btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.slider-btn:disabled{opacity:.35;cursor:default;box-shadow:inset 0 0 0 1px #DFDFDF}
@media(min-width:700px){
  .quote-card{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;gap:0 28px;padding:32px 32px 36px}
  .qc-quote{font-size:clamp(23px,2.6vw,29px)}
  .qc-person{padding-top:24px}
  .qc-result{grid-column:1/-1;margin-top:28px}
  .qc-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;padding-top:20px}
}
@media(min-width:1100px){
  .quote-card{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:0 44px;padding:42px 46px 42px 44px}
  .qc-quote{font-size:clamp(29px,.6vw + 23px,33px)}
  .qc-person{padding-top:28px}
  .qc-result{margin-top:32px}
  .qc-checks{gap:14px 64px}
}
.cases{display:flex;flex-wrap:wrap;gap:30px;margin-top:clamp(56px,5.3vw,76px)}
.case{position:relative;flex:1 1 100%;display:flex;flex-direction:column;min-height:420px;padding:48px 28px 44px;background:#fff;border-radius:0 0 15px 0;box-shadow:var(--sh-card);color:var(--ink-2)}
.case.is-plain{background:#FDFDFD}
.case.is-dark{background:var(--navy-v);color:#fff}
.case-quote{font:300 clamp(26px,.6vw + 24px,32.8px)/1.363 var(--mp-font-display);max-width:373px}
.case-meta{max-width:421px;margin-top:25px;padding-top:29px;border-top:.5px solid var(--rule);font:400 15px/1.5 var(--mp-font-text);color:var(--meta)}
.case.is-dark .case-meta{border-color:rgba(255,255,255,.5)}
.case.is-dark .case-meta{color:#fff}
.case>p:last-child{margin-top:22px;line-height:1.324;opacity:.8;max-width:395px}
.case-tag{position:absolute;top:23px;right:16px;padding:9px 17px;background:rgba(255,255,255,.4);border-radius:0 0 7px 0;font:300 clamp(18px,.4vw + 16px,23.2px)/1.39 var(--mp-font-display);color:#fff}
.case-tag+.case-quote{margin-top:48px}
@media(min-width:800px){
  .case{flex:0 0 calc((100% - 30px)*.439);min-height:503px;padding:62px 49px 50px}
  .case.is-wide{flex-basis:calc((100% - 30px)*.561);padding-left:59px}
  .case-tag+.case-quote{margin-top:0}
}

/* ---------- Der Partner an Ihrer Seite ---------- */
.partner{padding:clamp(80px,10.9vw,157px) 0 clamp(64px,6.3vw,90px)}
.partner .h2{margin-bottom:clamp(36px,4.9vw,70px)}
.partner-grid{display:grid;gap:40px}
.partner-col{display:flex;flex-direction:column;gap:40px}
.steven{background:var(--navy-a);color:#fff;border-radius:0 0 10px 0;box-shadow:var(--sh-soft);overflow:hidden}
.steven-foto{width:100%;height:auto;aspect-ratio:590/382.5;object-fit:cover}
.steven-body{position:relative;isolation:isolate;padding:44px 28px 56px;background:linear-gradient(170deg,var(--navy-a) 30%,var(--navy-b))}
.steven-body::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/buergenstock-luft.jpg) center/cover no-repeat;opacity:.2}
.steven-body h3{font:300 clamp(34px,1.3vw + 29px,47.8px)/1.25 var(--mp-font-display)}
.steven-rolle{font:300 clamp(22px,.55vw + 20px,27.9px)/1.25 var(--mp-font-display)}
.steven-body p:not(.steven-rolle){max-width:447px;margin-top:29.7px}
.steven-body .steven-rolle+p{margin-top:36px}
.zahlen{position:relative;container:zahlen/inline-size;display:grid;grid-template-columns:43fr 57fr;align-items:start;padding:18.2% 7.6% 16.6% 8.5%;background:#fff;border-radius:0 0 10px 0;box-shadow:0 3px 36px rgba(0,0,0,.2);overflow:hidden}
.zahlen::after{content:"";position:absolute;left:0;right:0;bottom:0;height:17px;background:linear-gradient(90deg,#092448,#fff);border-radius:0 0 10px 0}
.zahlen .z{min-height:min(15.3cqw,90px)}
.zahlen .z:nth-child(2),.zahlen .z:nth-child(5){padding-left:min(11.2cqw,66px);border-left:.5px solid #000}
.zahlen .z b{display:block;font:300 min(45.1px,7.2cqw)/1 var(--mp-font-display);letter-spacing:-.01em;white-space:nowrap}
.zahlen .z>span{display:block;margin-top:2.4cqw;font-size:max(13px,min(16.8px,3cqw));line-height:1.33;hyphens:auto;-webkit-hyphens:auto}
/* Das M sitzt genau auf der Achse der beiden senkrechten Linien (--split = Breite der ersten Spalte), die waagrechten
   Linien laufen links und rechts mit gleichem Abstand heran. Oben und unten gleich viel Luft. */
.zahlen{--split:43%}
.z-m{--mw:min(14.7cqw,87px);--mg:min(5.6cqw,34px);grid-column:1/-1;position:relative;margin:min(10.2cqw,60px) 0}
.z-m img{position:relative;left:calc(var(--split) - var(--mw)/2);width:var(--mw);height:auto}
.z-m::before,.z-m::after{content:"";position:absolute;top:50%;height:.5px;background:#000}
.z-m::before{left:0;width:calc(var(--split) - var(--mw)/2 - var(--mg))}
.z-m::after{left:calc(var(--split) + var(--mw)/2 + var(--mg));right:0}
@container zahlen (max-width:480px){
  .zahlen .z:nth-child(2),.zahlen .z:nth-child(5){padding-left:5cqw}
  .zahlen .z b{font-size:8.4cqw}
  .z-m{--mw:18cqw;--mg:6cqw}
}
@media(max-width:639px){.zahlen{--split:50%;grid-template-columns:1fr 1fr;padding:13% 6% 15%}}
.expertise{padding:44px 28px 56px;background:#fff;border-radius:0 0 10px 0;box-shadow:0 3px 36px rgba(0,0,0,.2)}
.expertise h3{font:300 clamp(30px,1.4vw + 25px,47.8px)/1.255 var(--mp-font-display);color:#0D274B;max-width:505px}
.expertise>p{margin-top:30px;max-width:448px;color:var(--text)}
.expertise-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 24px;max-width:473px;margin-top:40px;padding-top:43px;border-top:.5px solid #000}
.expertise-logos img{height:auto}
.vorteil{background:var(--navy-v);color:#fff;border-radius:0 0 10px 0;box-shadow:var(--sh-soft);overflow:hidden}
.vorteil-body{padding:56px 28px 60px}
.vorteil h3{font:300 clamp(30px,1.4vw + 25px,47.8px)/1.255 var(--mp-font-display);max-width:530px}
.vorteil-body p{max-width:446px;margin-top:29.7px}
.vorteil-body h3+p{margin-top:44px}
.vorteil>img{width:100%;height:auto;aspect-ratio:592.5/344;object-fit:cover}
@media(min-width:640px) and (max-width:1099px){
  .steven{display:grid;grid-template-columns:42% minmax(0,1fr)}
  .steven-foto{height:100%;aspect-ratio:auto;object-position:58% 50%}
  .steven-body{padding:40px 32px 44px}
  .vorteil{display:grid;grid-template-columns:minmax(0,1fr) 40%}
  .vorteil-body{padding:44px 32px 48px}
  .vorteil>img{height:100%;aspect-ratio:auto}
}
@media(min-width:640px) and (max-width:959px){
  .zahlen{padding:64px 8% 76px}
}
@media(min-width:960px) and (max-width:1099px){
  .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .partner-col{display:contents}
  .steven,.vorteil{grid-column:1/-1}
  .zahlen{align-content:center}
  .expertise{padding:40px 32px 44px}
  .expertise h3{font-size:clamp(26px,3.1vw,34px)}
  .expertise-logos{display:grid;grid-template-columns:repeat(2,max-content);justify-content:space-between;gap:22px 24px;margin-top:32px;padding-top:32px}
}
@media(min-width:1100px){
  .partner-grid{grid-template-columns:590fr 592.5fr;gap:0 57px}
  .partner-col{gap:61px}
  .partner-col+.partner-col{padding-top:80px;gap:60px}
  .steven-body{padding:47px 92px 91px 49px}
  .expertise{padding:51px 59px 70px}
  .vorteil-body{padding:74px 59px 76px}
}

/* ---------- Ihr Weg zum Wunschexit ---------- */
.weg{position:relative;overflow-x:clip;padding:clamp(72px,8.4vw,121px) 0 clamp(90px,12.8vw,185px)}
.weg>.wrap-n{position:relative;z-index:1}
.wz-weg{left:-40px;top:-400px;width:1521px}
.weg .lead{margin-top:20px;color:var(--text);max-width:874px}
.weg-grid{display:grid;gap:30px;margin-top:clamp(40px,4.7vw,68px)}
.etappe{position:relative;display:flex;flex-direction:column;min-height:407px;padding:48px 28px 64px;background:#fff;border-radius:0 0 20px 0;box-shadow:var(--sh-soft);overflow:hidden}
.etappe:not(.etappe-cta)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22.6px;background:linear-gradient(90deg,#092448,#fff);border-radius:0 0 20px 0}
.etappe .ico{display:grid;place-items:center;width:46px;height:46px;border-radius:0 0 7px 0;box-shadow:inset 0 0 0 1px #DFDFDF}
.etappe h3{margin-top:17px;font:400 var(--fs-h3)/1.39 var(--mp-font-display);color:#000}
.etappe p{margin-top:15px;max-width:412px}
.etappe.etappe-cta{justify-content:center;align-items:flex-start;gap:36px;padding:56px 40px;text-align:left;background:linear-gradient(162deg,var(--navy-a) 10%,var(--navy-b) 90%);color:#fff;box-shadow:var(--sh-soft)}
.etappe .etappe-cta-text{margin:0;font:400 var(--fs-h3)/1.39 var(--mp-font-display);max-width:340px}
.etappe-cta .btn{align-self:flex-start}
/* Einblenden der Reihe nach: links oben, rechts oben, links Mitte, rechts Mitte, links unten, zuletzt die CTA-Kachel.
   Jede Kachel blendet weich auf, danach läuft ihr Verlauf von links nach rechts ein. */
.weg-grid.is-anim .etappe{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1)}
.weg-grid.is-anim .etappe.is-in{opacity:1;transform:none}
.weg-grid.is-anim .etappe:not(.etappe-cta)::after{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.22,.61,.36,1) 350ms}
.weg-grid.is-anim .etappe.is-in::after{clip-path:inset(0 0 0 0)}
@media(min-width:640px){
  .weg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .etappe{min-height:380px;padding:40px 28px 60px}
}
@media(min-width:1000px){
  .weg-grid{gap:40px 36.5px}
  .etappe{min-height:407px;padding:54px 50px 52px 38px}
}
@media(max-width:999px){.etappe.etappe-cta{padding:44px 28px}}
@media(min-width:1000px){.etappe.etappe-cta{padding:54px 50px 52px 38px}}

/* ---------- Aufruf ---------- */
.cta-band{background:var(--navy-h);color:#fff;padding:clamp(80px,10.3vw,148px) 0 clamp(80px,10.2vw,147px)}
.cta-band .h2{color:#fff;max-width:908px}
.cta-band .btn{margin-top:49px}

/* ---------- Standorte ---------- */
.standorte{position:relative;overflow:hidden;padding:clamp(80px,12.4vw,178px) 0 clamp(80px,12.4vw,179px)}
.standorte>.wrap-n{position:relative;z-index:1}
.wz-standorte{left:-214px;top:-54px;width:697px}
.standorte-head{display:grid;gap:24px;margin-bottom:clamp(48px,6.4vw,92px)}
.standorte-head .h2{font-size:clamp(30px,1.67vw + 23.7px,47.8px);line-height:1.255;color:var(--ink-2)}
.standorte-head p{max-width:424px;color:var(--text)}
.ort-grid{display:grid;gap:36px}
.ort{display:flex;flex-direction:column;background:#FEFEFE;box-shadow:0 4px 24px rgba(0,0,0,.1);border-radius:10px 0 0 0;overflow:hidden}
.ort>img{width:100%;height:auto;aspect-ratio:485/387;object-fit:cover}
.ort-body{flex:1;padding:44px 34px 46px;color:var(--ink-2)}
.ort h3{font:300 var(--fs-h3)/1.1 var(--mp-font-display)}
.ort-body>p{margin-top:17px;line-height:1.324;opacity:.8;max-width:414px}
.ort dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:37px;padding-top:40px;border-top:.5px solid var(--rule);opacity:.8}
.ort dt{font:300 var(--fs-h3)/1 var(--mp-font-display)}
.ort dd{margin-top:11px;line-height:1.324}
@media(min-width:640px){
  .standorte-head,.ort-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .ort-body{padding:36px 26px 36px}
}
@media(min-width:1000px){
  .standorte-head,.ort-grid{gap:35.6px}
  .ort-body{padding:52px 38px 46px 34px}
}

/* ---------- Fotoreihen ---------- */
.fotos{padding-bottom:clamp(80px,11.1vw,160px)}
.foto-row{overflow:hidden}
.foto-row+.foto-row{margin-top:32px}
.foto-track{display:flex;width:max-content;animation:lauf 110s linear infinite}
.foto-row.is-reverse .foto-track{animation-direction:reverse;animation-duration:120s}
.foto-row:hover .foto-track{animation-play-state:paused}
.foto-track ul{display:flex;gap:35px;padding-right:35px}
.foto-track img{width:clamp(240px,26.7vw,384px);height:auto;aspect-ratio:384/264;object-fit:cover;border-radius:0 0 10px 0}

/* ---------- Digitale Ressourcen ---------- */
.ressourcen .h2{font-size:clamp(30px,1.67vw + 23.7px,47.8px);line-height:1.255;color:var(--ink-2);margin-bottom:clamp(40px,5.6vw,80px)}
.ressourcen{padding-bottom:clamp(90px,13.5vw,195px)}
.res-grid{display:grid;gap:24px}
.res{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:0 0 10px 0;box-shadow:var(--sh-tight);color:var(--ink-2);line-height:1.324;overflow:hidden}
.res-kind{display:flex;align-items:center;gap:13px;opacity:.7;padding-bottom:16px;border-bottom:.5px solid var(--rule)}
.res-kind img{flex:none}
.res h3{margin-top:17px;font:300 var(--fs-body)/1.324 var(--mp-font-text)}
.res .btn{align-self:flex-end;margin-top:auto}
.res-report{padding:24px 32px 26px}
.rc-mock{position:relative;isolation:isolate;container-type:inline-size;display:grid;place-items:center;aspect-ratio:256/349}
.rc-mock::before{content:"";position:absolute;z-index:-1;width:74%;aspect-ratio:1/1.414;background:linear-gradient(90deg,#D5D7DA 0%,#F4F5F6 6%,#FFF 40%,#ECEEF0 100%);transform:translate(4.5%,1.4%) rotate(-1.5deg);box-shadow:0 2.4cqw 5cqw rgba(0,10,20,.16)}
.rc{position:relative;width:74%;aspect-ratio:1/1.414;container-type:inline-size;overflow:hidden;padding:8.5cqw 8.5cqw 0;background:#001C25;color:#fff;transform:rotate(-4deg);box-shadow:0 3.2cqw 7cqw -1cqw rgba(0,12,20,.5),0 .6cqw 1.2cqw rgba(0,12,20,.22);transition:transform var(--mp-dur-4) var(--mp-ease),box-shadow var(--mp-dur-4) var(--mp-ease)}
.rc::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,0) 3.5%),linear-gradient(118deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,0) 42%)}
.rc-logo{display:block;width:31cqw;height:auto;aspect-ratio:1135.5/134;color:#fff}
.rc-eyebrow{margin-top:8cqw;font:500 1.9cqw/1.3 var(--mp-font-text);letter-spacing:.24em;text-transform:uppercase;color:#DEBC8B}
.rc-title{margin-top:2.8cqw;font:500 7cqw/1.14 var(--mp-font-display);letter-spacing:-.012em;text-wrap:balance}
.rc-title em{font-style:normal;color:#DEBC8B}
.rc-sub{margin-top:1.8cqw;font:300 3.3cqw/1.3 var(--mp-font-display);color:rgba(255,255,255,.78)}
.rc-small{margin-top:6.5cqw;font-size:1.75cqw}
.rc-list{display:grid;gap:1.9cqw;margin-top:2.8cqw;font:400 2.45cqw/1.45 var(--mp-font-text);color:rgba(255,255,255,.84)}
.rc-list li{position:relative;padding-left:3.4cqw}
.rc-list li::before{content:"";position:absolute;left:.3cqw;top:.72em;width:1.1cqw;height:1.1cqw;background:#DEBC8B;transform:translateY(-50%) rotate(45deg)}
.rc-photo{position:absolute;left:0;right:0;bottom:15cqw;z-index:1;width:100%;height:52cqw;object-fit:cover;-webkit-mask-image:linear-gradient(transparent,#000 42%);mask-image:linear-gradient(transparent,#000 42%)}
.rc-foot{position:absolute;left:0;right:0;bottom:0;z-index:2;height:19cqw;padding:3.4cqw 8.5cqw 0;background:linear-gradient(180deg,rgba(0,28,37,0),#001C25 26%)}
.rc-foot>span{display:block;font:500 1.55cqw/1 var(--mp-font-text);letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.rc-foot dl{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;margin-top:2.6cqw}
.rc-foot dt{font:300 3.9cqw/1 var(--mp-font-display);color:#DEBC8B;white-space:nowrap}
.rc-foot dd{margin-top:1.2cqw;font:500 1.25cqw/1.2 var(--mp-font-text);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.res-report:hover .rc{transform:rotate(-2.2deg) translateY(-1.2cqw);box-shadow:0 4.5cqw 9cqw -1cqw rgba(0,12,20,.5),0 .6cqw 1.2cqw rgba(0,12,20,.22)}
.res-report .res-kind{margin-top:20px}
.res-report h3{margin-bottom:40px}
.res-video{padding:22px 32px 26px}
.res-video h3{margin-bottom:40px}
.res-box{width:187px;height:auto;margin:0 auto 25px}
.res-podcast{flex-direction:row}
.res-podcast-body{flex:1;display:flex;flex-direction:column;padding:30px 24px 22px 32px;min-width:0}
.res-podcast-body h3{margin-bottom:24px}
.res-podcast-foto{flex:0 0 48%;width:48%;height:auto;object-fit:cover}
.res-termin{padding:30px 28px 21px 32px;background:var(--navy-h);color:#fff}
.res-termin .res-kind{opacity:1;border-color:rgba(255,255,255,.5)}
.res-termin h3{margin-bottom:28px}
@media(max-width:639px){
  .res-report{display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:18px;padding:18px 18px 20px 6px}
  .res-report .rc-mock{grid-row:1/4}
  .res-report .res-kind{margin-top:6px;font-size:14px;gap:9px}
  .res-report h3{margin:12px 0 18px;font-size:16px}
  .res-report .btn{align-self:end;justify-self:start}
  .res-video{display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:18px;padding:18px 18px 20px 14px}
  .res-video .res-box{grid-row:1/4;align-self:center;width:100%;margin:0}
  .res-video .res-kind{margin-top:6px;font-size:14px;gap:9px}
  .res-video h3{margin:12px 0 18px;font-size:16px}
  .res-video .btn{align-self:end;justify-self:start}
  .res-podcast{flex-direction:column-reverse}
  .res-podcast-foto{width:100%;flex-basis:auto;aspect-ratio:16/9}
}
@media(min-width:700px){
  .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .res-podcast,.res-termin{grid-column:1/-1}
}
@media(min-width:1000px){
  .res-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 23px}
  .res-video{grid-row:span 2}
  .res-podcast,.res-termin{grid-column:2/4}
  .res-podcast-body{padding:30px 58px 22px 32px}
  .res-termin .res-kind{max-width:605px}
}

/* ---------- Report anfordern: Popup ---------- */
/* Links das Cover des gewählten Reports auf Nachtblau, rechts das Formular. Auf dem Handy nur das Formular. */
body.has-dialog{overflow:hidden}
.rd{width:min(940px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}
.rd::backdrop{background:rgba(4,14,30,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rd[open]{animation:rd-in 420ms var(--mp-ease) both}
.rd[open]::backdrop{animation:rd-fade 420ms var(--mp-ease) both}
@keyframes rd-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes rd-fade{from{opacity:0}to{opacity:1}}
.rd-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border-radius:0 0 30px 0;box-shadow:0 40px 120px -30px rgba(2,8,28,.7)}
.rd-close{position:absolute;right:12px;top:12px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 0 .5px rgba(7,28,55,.15);transition:background-color var(--mp-dur-2) var(--mp-ease)}
.rd-close:hover{background:var(--mp-ice)}
.rd-close i{position:relative;width:16px;height:16px}
.rd-close i::before,.rd-close i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transform:rotate(45deg)}
.rd-close i::after{transform:rotate(-45deg)}
.rd-cover{display:none}
.rd-body{padding:40px 22px 30px}
.rd-form{display:grid;gap:16px}
.rd-kind{font-size:14px;color:var(--meta)}
.rd-title{margin-top:-8px;padding-right:40px;overflow-wrap:break-word;font:300 clamp(26px,1.2vw + 21px,36px)/1.15 var(--mp-font-display);letter-spacing:-.015em;color:var(--ink)}
.rd-lead{color:var(--text);margin-bottom:6px}
.tel-row{display:flex;gap:8px}
.tel-code{position:relative;flex:none;display:flex;align-items:center;min-height:50px;padding:0 34px 0 14px;border:1px solid var(--mp-line);border-radius:10px;background:#fff;font:400 16px/1 var(--mp-font-text);color:var(--mp-navy);white-space:nowrap;transition:border-color var(--mp-dur-2) var(--mp-ease),box-shadow var(--mp-dur-2) var(--mp-ease)}
.tel-code::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:1.5px solid var(--meta);border-bottom:1.5px solid var(--meta);transform:rotate(45deg);pointer-events:none}
.tel-code select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer;font-size:16px}
.tel-code:focus-within{border-color:var(--mp-blue);box-shadow:0 0 0 3px var(--mp-ice)}
.tel-row input{flex:1;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--mp-line);border-radius:10px;font:400 16px/1.4 var(--mp-font-text);color:var(--mp-navy);transition:border-color var(--mp-dur-2) var(--mp-ease),box-shadow var(--mp-dur-2) var(--mp-ease)}
.tel-row input:focus{outline:none;border-color:var(--mp-blue);box-shadow:0 0 0 3px var(--mp-ice)}
.field.is-bad .tel-row input{border-color:#B3261E}
.rd-submit{justify-self:start;margin-top:4px}
.rd-submit[aria-busy="true"]{opacity:.65;pointer-events:none}
.rd-done{display:grid;justify-items:start;gap:14px;padding:20px 0 10px;outline:none}
.rd-done h2{margin-top:8px;font:300 clamp(28px,1vw + 24px,38px)/1.15 var(--mp-font-display);color:var(--ink)}
.rd-done p{max-width:440px;color:var(--text)}
.rd-done .btn{margin-top:10px}
@media(min-width:800px){
  .rd-card{grid-template-columns:minmax(0,.82fr) minmax(0,1fr)}
  .rd-cover{display:grid;place-items:center;padding:44px 34px;background:radial-gradient(90% 70% at 30% 20%,rgba(31,79,203,.35),rgba(31,79,203,0) 70%),var(--navy-v)}
  .rd-cover .rc-mock{width:100%;max-width:330px}
  .rd-body{padding:52px 48px 44px 44px}
}
@media(prefers-reduced-motion:reduce){.rd[open],.rd[open]::backdrop{animation:none}}

/* ---------- Abschluss ---------- */
.abschluss{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-h);color:#fff;padding:clamp(80px,7.6vw,109px) 0 clamp(80px,8.3vw,120px)}
.abschluss>.wrap-n{position:relative;z-index:1}
.wz-mp{left:-365px;top:-76px;width:1237px;filter:drop-shadow(0 4px 76px rgba(0,0,0,.6))}
.abschluss .h2{color:#fff}
/* Der Textblock ist so breit wie die Headline: die Absätze tragen mit contain nichts zur Breite bei und brechen an
   der Kante der Headline um. */
.abschluss-text{display:grid;width:max-content;max-width:100%}
.abschluss .lead{contain:inline-size;margin-top:18px;font-size:clamp(19px,.55vw + 16.5px,24px);line-height:1.5;color:rgba(255,255,255,.86)}
.abschluss .h2+.lead{margin-top:30px}
.abschluss .btn{margin-top:45px}

/* ---------- FAQ ---------- */
.faq{padding:clamp(80px,14.3vw,206px) 0 clamp(80px,14.4vw,207px)}
.faq .h2{font-size:clamp(30px,1.67vw + 23.7px,47.8px);line-height:1.255;color:var(--ink-2);margin-bottom:clamp(40px,6.2vw,89px)}
.faq-list{max-width:918px;color:var(--ink-2);line-height:1.324}
.faq-list details{border-bottom:.5px solid var(--rule)}
.faq-list summary{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:33px 0;cursor:pointer;list-style:none;transition:font-weight var(--mp-dur-2)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;margin-right:12px;opacity:.8;font-size:1.1em;transition:transform var(--mp-dur-3) var(--mp-ease)}
.faq-list details:first-child summary{padding-top:0}
.faq-list details[open] summary{font-weight:400;padding-bottom:13px}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding-bottom:40px;opacity:.7;max-width:918px}
.faq-list summary:hover{color:#000}

/* ---------- Fußzeile ---------- */
.site-footer{background:linear-gradient(90deg,var(--navy-a) 15%,var(--navy-b) 85%);color:#fff;padding:clamp(64px,6.6vw,95px) 0 56px;line-height:1.324}
.foot-top{display:grid;gap:36px}
.site-footer .brand{display:block;width:clamp(240px,23.3vw,335px)}
.site-footer .brand svg{width:100%;height:auto;aspect-ratio:1135.5/134}
.foot-brand p{margin-top:14px}
.foot-links{display:flex;flex-direction:column;gap:7px;font-weight:400}
.foot-links a:hover,.foot-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:56px;padding-top:23px;border-top:.5px solid rgba(228,228,228,.5)}
.foot-bottom p{display:flex;flex-wrap:wrap;gap:8px 30px;opacity:.7}
.foot-social{display:flex;align-items:center;gap:11px}
@media(min-width:800px){
  .foot-top{grid-template-columns:1fr 272px}
  .foot-links{padding-top:52px}
  .foot-bottom{display:grid;grid-template-columns:1fr 272px;margin-top:69px}
}

/* ---------- Unterseiten: Foto-Kopf ---------- */
/* Foto über die ganze Breite mit nachtblauem Schleier, Titel groß und leicht in der Mitte */
.page-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(440px,62vh,640px);padding:calc(var(--header-h) + 56px) 0 72px;background:var(--navy-a);color:#fff;text-align:center}
.page-hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,28,55,.66) 0%,rgba(7,28,55,.36) 48%,rgba(7,28,55,.74) 100%)}
.page-hero h1{font:300 clamp(44px,3.6vw + 30px,84px)/1.04 var(--mp-font-display);letter-spacing:-.022em}
.page-hero .lead{margin:22px auto 0;max-width:700px;font-size:clamp(18px,.5vw + 16px,22px);line-height:1.5;color:rgba(255,255,255,.86);text-wrap:pretty}
.page-hero .stand{margin-top:18px;font-size:14px;color:var(--mp-on-dark-2)}

/* ---------- Impressum: Unternehmenssitz ---------- */
.sitz{padding:clamp(72px,8vw,128px) 0}
.sitz-grid{display:grid;gap:40px;align-items:center}
.sitz-foto{width:100%;height:auto;aspect-ratio:970/774;object-fit:cover;border-radius:0 0 28px 0;box-shadow:var(--sh-card)}
.sitz .h2{font-size:clamp(30px,1.1vw + 22px,40px)}
.sitz address{margin-top:24px;font-style:normal;font-size:clamp(18px,.3vw + 17px,20px);line-height:1.55;color:var(--ink)}
.sitz .register{margin-top:28px}
.sitz .register a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--mp-dur-3) var(--mp-ease)}
.sitz .register a:hover{background-size:100% 1px}
@media(min-width:900px){.sitz-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(48px,6vw,96px)}}

/* ---------- Rechtstexte: links Kacheln, rechts der Text ---------- */
/* Die Kachel des Abschnitts, der gerade gelesen wird, steht in Nachtblau. Auf schmalen Schirmen laufen die Kacheln
   als Reihe quer. */
.legal{padding:clamp(72px,8vw,128px) 0}
.legal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px}
.legal-nav{min-width:0}
.legal-nav ol{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1*var(--g));padding:6px var(--g) 18px;scroll-padding-inline:var(--g)}
.legal-nav ol::-webkit-scrollbar{display:none}
.legal-nav a{display:flex;align-items:center;gap:14px;flex:none;min-height:56px;padding:14px 20px;background:#fff;color:var(--ink);font-size:15px;line-height:1.35;border-radius:0 0 12px 0;box-shadow:0 2px 18px rgba(7,28,55,.07),inset 0 0 0 .5px rgba(7,28,55,.1);transition:background-color var(--mp-dur-3) var(--mp-ease),color var(--mp-dur-3) var(--mp-ease),box-shadow var(--mp-dur-3) var(--mp-ease)}
.legal-nav a span{min-width:20px;font-size:12.5px;color:var(--meta);font-variant-numeric:tabular-nums;transition:color var(--mp-dur-3) var(--mp-ease)}
.legal-nav a:hover{box-shadow:0 8px 28px rgba(7,28,55,.12),inset 0 0 0 .5px rgba(7,28,55,.16)}
.legal-nav a.is-on{background:var(--navy-h);color:#fff;box-shadow:0 12px 32px -12px rgba(2,8,28,.55)}
.legal-nav a.is-on span{color:var(--mp-on-dark-2)}
.legal-text{min-width:0;max-width:780px}
.legal-part{scroll-margin-top:calc(var(--header-h) + 32px)}
.legal-part+.legal-part{margin-top:clamp(60px,6vw,96px);padding-top:clamp(60px,6vw,96px);border-top:.5px solid var(--rule)}
.legal-part>h2{font:300 clamp(28px,1vw + 24px,40px)/1.16 var(--mp-font-display);letter-spacing:-.015em;color:var(--ink)}
.legal-text h3{margin-top:48px;font:400 clamp(19px,.3vw + 18px,22px)/1.3 var(--mp-font-display);color:var(--ink);scroll-margin-top:calc(var(--header-h) + 32px)}
.legal-part>h2+h3,.legal-part>h2+p+h3{margin-top:30px}
.legal-text h4{margin-top:26px;font:500 16px/1.4 var(--mp-font-text);color:var(--ink)}
.legal-text p{margin-top:14px;max-width:68ch;color:var(--text)}
.legal-part>h2+p{margin-top:22px}
.legal-text a{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}
.legal-text a:hover{color:var(--ink)}
.dash{display:grid;gap:8px;margin-top:14px}
.dash li{position:relative;padding-left:24px;color:var(--text)}
.dash li::before{content:"";position:absolute;left:0;top:.85em;width:11px;height:.5px;background:var(--ink)}
.legal-text address{margin-top:16px;font-style:normal;color:var(--ink);line-height:1.6}
.register{margin-top:28px;border-top:.5px solid var(--rule)}
.register>div{display:grid;gap:2px;padding:16px 0;border-bottom:.5px solid var(--rule)}
.register dt{font-size:15px;color:var(--meta)}
.register dd{margin:0;color:var(--ink);font-weight:400;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(min-width:600px){.register>div{grid-template-columns:170px minmax(0,1fr);gap:24px;align-items:baseline}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips li{padding:9px 16px;background:var(--mp-ice);color:var(--ink);font-size:15px;line-height:1.2;border-radius:0 0 10px 0}
/* Ein Dienst als ruhige Karte auf Nebel: Name, Anbieter, Ort, Daten, Beschreibung, Links */
.dienst{margin-top:16px;padding:22px 24px 24px;background:var(--mp-mist);border-radius:0 0 14px 0}
.dienst h4{margin:0;font:400 19px/1.3 var(--mp-font-display);color:var(--ink)}
.dienst dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 18px;margin-top:12px;font-size:14.5px;line-height:1.45}
.dienst dl>div{display:contents}
.dienst dt{color:var(--meta)}
.dienst dd{margin:0;color:var(--ink)}
.legal-text .dienst p{margin-top:12px;font-size:15.5px;line-height:1.6}
.dienst .links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:14.5px}
.begriffe{margin-top:22px;border-top:.5px solid var(--rule)}
.begriffe>div{padding:18px 0;border-bottom:.5px solid var(--rule)}
.begriffe dt{font:400 18px/1.35 var(--mp-font-display);color:var(--ink)}
.begriffe dd{margin:6px 0 0;color:var(--text);max-width:68ch}
@media(min-width:1000px){
  .legal-grid{grid-template-columns:290px minmax(0,1fr);gap:clamp(56px,6vw,96px)}
  .legal-nav{position:sticky;top:calc(var(--header-h) + 40px);align-self:start}
  .legal-nav ol{flex-direction:column;overflow:visible;margin:0;padding:0;gap:12px}
  .legal-nav a{min-height:62px;padding:18px 22px}
}

/* ---------- Kontakt: Terminbuchung ---------- */
/* Die Karte liegt halb über dem Foto-Kopf. Links Steven und was Sie erwartet (Nachtblau), rechts Kalender und Zeiten,
   danach das Formular und die Bestätigung. termin.js holt die freien Zeiten über /api/termin aus Calendly. */
.page-hero.is-kontakt{min-height:clamp(460px,64vh,640px);padding-bottom:170px}
.termin-sec{position:relative;z-index:2;margin-top:-130px;padding-bottom:clamp(72px,8vw,120px)}
.termin{display:grid;max-width:1180px;margin:0 auto;background:#fff;border-radius:0 0 30px 0;box-shadow:0 40px 100px -30px rgba(2,8,28,.45),0 0 0 .5px rgba(7,28,55,.08);overflow:hidden}
.termin-info{padding:32px 26px 34px;background:var(--navy-v);color:#fff}
.termin-person{display:flex;align-items:center;gap:14px}
.termin-person img{width:58px;height:58px;flex:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.termin-person b{display:block;font-weight:400}
.termin-person span{display:block;font-size:14px;color:var(--mp-on-dark-2)}
.termin-info h2{margin-top:28px;font:300 clamp(26px,1vw + 22px,34px)/1.18 var(--mp-font-display);letter-spacing:-.01em}
.termin-info>p{margin-top:14px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.84)}
.termin-facts{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:.5px solid rgba(255,255,255,.25)}
.termin-facts li{position:relative;padding-left:30px;font-size:15px}
.termin-facts li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}
.termin-main{position:relative;min-width:0;padding:28px 20px 32px;min-height:440px}
.termin-step[data-step="1"]{display:grid;gap:30px}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cal-month{font:400 20px/1.3 var(--mp-font-display);color:var(--ink)}
.cal-nav{display:flex;gap:8px}
.cal-nav button{display:grid;place-items:center;width:40px;height:40px;border-radius:0 0 9px 0;box-shadow:inset 0 0 0 1px #DFDFDF;color:var(--ink);transition:box-shadow var(--mp-dur-2) var(--mp-ease),opacity var(--mp-dur-2) var(--mp-ease)}
.cal-nav button b{font-weight:300}
.cal-nav button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.cal-nav button:disabled{opacity:.3;cursor:default;box-shadow:inset 0 0 0 1px #DFDFDF}
.cal-week,.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-week{margin-top:20px;font-size:12.5px;color:var(--meta);text-align:center}
.cal-days{margin-top:8px}
.cal-days button,.cal-days span{position:relative;display:grid;place-items:center;aspect-ratio:1;max-height:52px;border-radius:50%;font-size:15px;color:#A2ABBA;font-variant-numeric:tabular-nums}
.cal-days button{cursor:default}
.cal-days button.has{color:var(--ink);font-weight:500;background:var(--mp-ice);cursor:pointer;transition:background-color var(--mp-dur-2) var(--mp-ease),color var(--mp-dur-2) var(--mp-ease)}
.cal-days button.has:hover{background:#D5E0F5}
.cal-days button.is-sel{background:var(--navy-a);color:#fff}
.cal-days button.is-today::after{content:"";position:absolute;bottom:14%;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.termin-tz{margin-top:18px;font-size:13px;color:var(--meta)}
.slots-day{font:400 18px/1.3 var(--mp-font-display);color:var(--ink)}
.slots-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:16px}
.slots-list button{height:46px;border-radius:0 0 10px 0;box-shadow:inset 0 0 0 1px rgba(7,28,55,.2);color:var(--ink);font:500 15px/1 var(--mp-font-text);font-variant-numeric:tabular-nums;transition:box-shadow var(--mp-dur-2) var(--mp-ease),background-color var(--mp-dur-2) var(--mp-ease),color var(--mp-dur-2) var(--mp-ease)}
.slots-list button:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.slots-list button:focus-visible{outline-offset:2px}
.slots-empty{font-size:15px;color:var(--meta)}
.termin.is-loading .cal-days,.termin.is-loading .slots-list{opacity:.35;transition:opacity var(--mp-dur-3) var(--mp-ease)}
.termin-form{display:grid;gap:16px;max-width:640px}
.termin-back{justify-self:start;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--meta);transition:color var(--mp-dur-2) var(--mp-ease)}
.termin-back:hover{color:var(--ink)}
.termin-back b{font-weight:300}
.termin-when{font:300 clamp(22px,.8vw + 19px,28px)/1.3 var(--mp-font-display);color:var(--ink);margin-bottom:6px}
.field-row{display:grid;gap:16px}
.field{display:grid;gap:7px}
.field>span{font-size:14px;font-weight:400;color:var(--ink)}
.field i{margin-left:4px;font-style:normal;font-weight:300;color:var(--meta)}
.field input,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--mp-line);border-radius:10px;background:#fff;font:400 16px/1.4 var(--mp-font-text);color:var(--mp-navy);transition:border-color var(--mp-dur-2) var(--mp-ease),box-shadow var(--mp-dur-2) var(--mp-ease)}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--mp-blue);box-shadow:0 0 0 3px var(--mp-ice)}
.field.is-bad input{border-color:#B3261E}
.termin-consent{font-size:13.5px;line-height:1.5;color:var(--meta)}
.termin-consent a,.termin-off a,.done-links a,.stellen-hinweis a{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}
.termin-error{font-size:14.5px;color:#B3261E}
.termin-submit{justify-self:start;margin-top:4px}
.termin-submit[aria-busy="true"]{opacity:.65;pointer-events:none}
.termin-done{display:grid;justify-items:start;gap:12px;max-width:560px;padding-top:8px;outline:none}
.done-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--navy-h)}
.done-mark::after{content:"";width:20px;height:11px;margin-top:-5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.termin-done h3{margin-top:10px;font:300 clamp(28px,1vw + 24px,38px)/1.15 var(--mp-font-display);color:var(--ink)}
.done-when{font-size:18px;color:var(--ink)}
.termin-done p:not(.done-when){color:var(--text)}
.done-links{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px}
.termin-off h3{font:300 clamp(24px,.8vw + 21px,30px)/1.2 var(--mp-font-display);color:var(--ink)}
.termin-off p{margin-top:14px;max-width:520px;color:var(--text)}
.termin-demo{margin-top:16px;font-size:13px;color:var(--meta);text-align:center}
@media(min-width:600px){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:760px){
  .termin-step[data-step="1"]{grid-template-columns:minmax(0,1fr) 210px;gap:36px}
  .slots-list{grid-template-columns:1fr;max-height:400px;overflow:auto;padding:2px}
}
@media(min-width:1000px){
  .termin{grid-template-columns:330px minmax(0,1fr)}
  .termin-info{padding:44px 38px 46px}
  .termin-main{padding:42px 46px 46px}
  .termin-step[data-step="1"]{grid-template-columns:minmax(0,1fr) 220px;gap:46px}
}

/* ---------- Kontakt: direkter Weg ---------- */
.direkt{padding:clamp(24px,4vw,56px) 0 clamp(80px,9vw,140px)}
.direkt-grid{display:grid;gap:28px;margin-top:clamp(32px,4vw,52px)}
.direkt-item{position:relative;display:block;padding-top:24px}
.direkt-item::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#092448,rgba(9,36,72,.06))}
.direkt-item span{display:block;font-size:15px;color:var(--meta)}
.direkt-item b{display:block;margin-top:8px;font:300 clamp(20px,.6vw + 17.5px,26px)/1.35 var(--mp-font-display);color:var(--ink);overflow-wrap:anywhere}
a.direkt-item b{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--mp-dur-3) var(--mp-ease)}
a.direkt-item:hover b{background-size:100% 1px}
@media(min-width:800px){.direkt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}
.faq-list .faq-steps{display:grid;gap:8px;padding:0 0 40px 22px;list-style:decimal;opacity:.7}

/* ---------- Karriere ---------- */
.warum{padding:clamp(72px,8vw,128px) 0}
.warum .h2{max-width:760px}
.warum-grid{display:grid;gap:36px;margin-top:clamp(36px,4.5vw,64px)}
.warum-grid article{position:relative;padding-top:26px}
.warum-grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#092448,rgba(9,36,72,.06))}
.warum h3{font:400 var(--fs-h3)/1.3 var(--mp-font-display);color:var(--ink)}
.warum p{margin-top:12px;color:var(--text)}
@media(min-width:800px){.warum-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}}
.fotos.is-single{padding-bottom:clamp(72px,8vw,128px)}
.stellen{padding:clamp(72px,8vw,128px) 0}
.stellen-list{display:grid;gap:24px;margin-top:clamp(32px,4vw,56px)}
.stelle{background:#fff;border-radius:0 0 20px 0;box-shadow:var(--sh-card)}
.stelle>summary{position:relative;display:grid;gap:8px;padding:30px 70px 30px 26px;list-style:none;cursor:pointer}
.stelle>summary::-webkit-details-marker{display:none}
.stelle>summary::after{content:"+";position:absolute;right:26px;top:50%;font:300 30px/1 var(--mp-font-display);color:var(--ink);transform:translateY(-50%);transition:transform var(--mp-dur-3) var(--mp-ease)}
.stelle[open]>summary::after{transform:translateY(-50%) rotate(45deg)}
.stelle-titel{font:300 clamp(24px,.9vw + 20.5px,32px)/1.2 var(--mp-font-display);color:var(--ink)}
.stelle-meta{font-size:15px;color:var(--meta)}
.stelle-body{margin:0 26px;padding:28px 0 36px;border-top:.5px solid var(--rule)}
.stelle-body>p{max-width:68ch;color:var(--text)}
.stelle-body h3{margin-top:30px;font:400 19px/1.3 var(--mp-font-display);color:var(--ink)}
.stelle-cols{display:grid;gap:4px}
.stelle-body .btn{margin-top:34px}
.stelle-initiativ{display:grid;gap:26px;align-items:center;padding:34px 26px;background:linear-gradient(162deg,var(--navy-a) 10%,var(--navy-b) 90%);color:#fff}
.stelle-initiativ .stelle-titel{color:#fff}
.stelle-initiativ p{margin-top:10px;max-width:560px;color:rgba(255,255,255,.84)}
.stelle-initiativ .btn{justify-self:start}
.stellen-hinweis{margin-top:28px;font-size:15px;color:var(--meta)}
@media(min-width:800px){
  .stelle>summary{padding:38px 100px 38px 44px}
  .stelle>summary::after{right:44px}
  .stelle-body{margin:0 44px;padding-bottom:44px}
  .stelle-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
  .stelle-initiativ{grid-template-columns:minmax(0,1fr) auto;padding:40px 44px}
}

/* ---------- Bewegung reduziert ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0ms!important;animation:none!important}
  .logo-row,.foto-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* ---------- Feedback 04.11.: Feinschliff ---------- */
/* Expertise-Logos auf dem Handy: zwei Spalten, links bündig, ohne Lücke zur rechten Kante */
@media(max-width:639px){
  .expertise-logos{display:grid;grid-template-columns:repeat(2,max-content);justify-content:start;gap:22px 48px}
}
/* Externer CFO mobil: das Bild von Steven ganz zeigen, ohne Kopf oder Hände anzuschneiden */
@media(max-width:799px){
  .svc-wide .svc-media{aspect-ratio:1284/1232}
}
/* Mobil: weniger Luft zwischen „Der Partner an Ihrer Seite“ und „Ihr Weg“, die CTA-Kachel nur so hoch wie nötig */
@media(max-width:639px){
  .partner{padding-bottom:32px}
  .weg{padding-top:36px}
  .etappe.etappe-cta{min-height:0;gap:28px;padding:38px 28px}
}
/* Mehrere Absätze in einer FAQ-Antwort */
.faq-list details p:not(:last-child){padding-bottom:12px}
/* Standorte: das M ist größer, beginnt oben an der Sektion und läuft hinter Headline und Bildern durch */
.wz-standorte{left:max(-80px,calc((100vw - 1240px)/2 - 120px));top:0;width:clamp(560px,62vw,980px)}
/* Kundenstimmen: das Vorschaubild bleibt stehen, bis der Vimeo-Film wirklich läuft */
.qc-media.is-playing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qc-media.is-playing iframe{opacity:0;transition:opacity .4s var(--mp-ease)}
.qc-media.is-playing.is-live iframe{opacity:1}
.qc-media.is-playing:not(.is-live)::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:qc-spin .8s linear infinite}
@keyframes qc-spin{to{transform:rotate(360deg)}}
/* Logos mobil: die Reihen lassen sich mit dem Finger schieben, das Skript lässt sie weiterlaufen */
.logo-row.is-drag{overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.logo-row.is-drag::-webkit-scrollbar{display:none}
.logo-row.is-drag .logo-track{animation:none}
@media(max-width:799px){.logo-row.is-drag{zoom:1}.logo-row.is-drag .logo-track{zoom:.62}}
/* Karriere: Fettdruck in den Stichpunkten, Schlusssatz vor dem Button, halber Abstand bis zu den Standorten */
.dash li b{font-weight:500;color:var(--ink)}
.stelle-body>p.stelle-schluss{margin-top:30px;color:var(--ink)}
.stellen{padding-bottom:clamp(36px,4vw,64px)}
.stellen+.standorte{padding-top:clamp(40px,6.2vw,89px)}
.stelle-body .dash{gap:12px}

/* ---------- Feedback 05.11. ---------- */
/* Fotoreihen: Videos stehen wie Fotos in der Reihe; Hochformat-Clips zeigen den Ausschnitt mit den Personen */
.foto-track video{display:block;width:clamp(240px,26.7vw,384px);height:auto;aspect-ratio:384/264;object-fit:cover;border-radius:0 0 10px 0;background:var(--navy-a)}
.foto-track video.is-hoch{object-position:50% 64%}
/* Kundenstimmen: Vorschau ohne Ton über dem Vorschaubild, unten links der Hinweis auf den Ton */
.qc-media .qc-prev{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;opacity:0;transition:opacity .5s var(--mp-ease)}
.qc-media .qc-prev.is-live{opacity:1}
.qc-sound{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:9px 14px 9px 12px;border-radius:0 0 9px 0;background:rgba(7,28,55,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:400 14px/1 var(--mp-font-text);transition:background-color var(--mp-dur-2) var(--mp-ease)}
.qc-sound i{width:16px;height:14px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14' fill='none' stroke='%23fff' stroke-width='1.3' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M1 5h3l4-3.5v11L4 9H1z'/%3E%3Cpath d='M11 4.5a3.5 3.5 0 0 1 0 5M13 2.5a6 6 0 0 1 0 9'/%3E%3C/svg%3E") center/contain no-repeat}
.qc-media:hover .qc-sound{background:rgba(7,28,55,.9)}
.qc-media.has-prev img{transform:none!important}
/* Ihr Weg: das große M läuft beim Scrollen mit und bleibt im Hintergrund stehen, bis die Sektion endet */
.wz-weg{will-change:transform}
/* Mobil: Pfeile der Kundenstimmen rechts über den Karten, CTA-Kachel bei „Ihr Weg“ und „Termin buchen“ bei den
   Ressourcen entfallen, weil direkt darunter ein Aufruf folgt */
@media(max-width:799px){
  .slider{display:flex;flex-direction:column}
  .slider-nav{order:-1;margin:0 0 16px}
  .etappe.etappe-cta,.res-termin{display:none}
}
/* Footer: Aufruf im Glas unter dem Logo, daneben zwei Linkblöcke */
.foot-cta{margin-top:28px}
.foot-h{margin-bottom:6px;font-size:14px;letter-spacing:.02em;opacity:.6}
.foot-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
@media(min-width:800px){
  .foot-top{grid-template-columns:minmax(0,1fr) 220px 240px;column-gap:48px}
  .foot-links{padding-top:8px}
  .foot-bottom{grid-template-columns:minmax(0,1fr) 508px}
}
/* Impressum und Datenschutz: der letzte Aufruf vor dem Footer steht auf Weiß, damit nicht Nachtblau auf Nachtblau trifft */
.cta-band.is-light{background:#fff;color:var(--ink);border-top:.5px solid var(--rule)}
.cta-band.is-light .h2{color:var(--ink)}
.cta-band.is-light .btn-glass{background:var(--btn-navy);color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.cta-band.is-light .btn-glass::before{display:none}
.cta-band.is-light .btn-glass:hover{background:var(--btn-navy);filter:brightness(1.15)}
/* Datenschutz als schlichter Fließtext: keine Kacheln, keine Kästen, Abschnitte nur durch Überschriften getrennt */
.legal-grid.is-plain .legal-part+.legal-part{border-top:0;padding-top:0}
.dienst.is-plain{margin-top:0;padding:0;background:none;border-radius:0}
.dienst.is-plain h4{margin-top:22px;font:500 16px/1.4 var(--mp-font-text)}
.legal-text .dienst.is-plain p{font-size:inherit;line-height:inherit;margin-top:8px}
.dienst.is-plain .links{display:block;margin-top:6px;font-size:inherit}
.dienst.is-plain .links a+a{margin-left:16px}
.legal-grid.is-plain{grid-template-columns:minmax(0,1fr)!important}
.legal-grid.is-plain .legal-text{max-width:820px}
/* Leistungen: das Foto füllt die Bildbox, die Box bestimmt die Höhe (sonst drückt ein Foto mit anderem Seitenverhältnis
   die Karte höher als die Nachbarkarte) */
.svc:not(.svc-exit) .svc-media{overflow:hidden}
.svc:not(.svc-exit) .svc-media>img{position:absolute;inset:0}
/* Karriere: die beiden stehen in der Bildmitte, deshalb sitzen Titel und Unterzeile unten über dem Schreibtisch */
.page-hero.is-karriere{place-items:end center;min-height:clamp(560px,86vh,820px);padding-bottom:52px}
.page-hero.is-karriere::before{background:linear-gradient(180deg,rgba(7,28,55,.55) 0%,rgba(7,28,55,.1) 38%,rgba(7,28,55,.35) 62%,rgba(7,28,55,.86) 100%)}
/* Karriere ab 1000 px: das Foto ist fast hochkant, über die ganze Breite würde es stark gezoomt. Deshalb steht es rechts
   in voller Höhe und läuft nach links in Nachtblau aus, Titel und Unterzeile stehen links daneben. */
@media(min-width:1000px){
  .page-hero.is-karriere{place-items:center start;min-height:clamp(560px,80vh,780px);padding-bottom:64px;text-align:left}
  .page-hero.is-karriere .page-hero-img{left:auto;right:0;width:min(62%,1100px);object-position:50% 12%!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
  .page-hero.is-karriere::before{background:linear-gradient(180deg,rgba(2,15,32,.3) 0%,rgba(2,15,32,0) 18%)}
  .page-hero.is-karriere .wrap-n{width:100%}
  .page-hero.is-karriere h1,.page-hero.is-karriere .lead{max-width:min(520px,38vw)}
  .page-hero.is-karriere .lead{margin-left:0}
}
/* Karriere: dieselbe Nachtblau-Verlaufsfläche wie die Kopfzeile, sie läuft dort nahtlos weiter, rechts kommt das Foto */
.page-hero.is-karriere{background:linear-gradient(90deg,#020F20 0%,#0C2E5B 47%,#011021 100%)}
