/* Startseite 2026 – aus dem Claude-Design-Export „Startseite C“ (18.10.2026), auf .fps begrenzt.
   Erzeugt von bauen.py – nicht von Hand ändern, sondern Generator anpassen. */
.fps.fps{
  --navy:#1b1b37; --gold:#eaa319; --gold2:#f7d374;
  --grad:linear-gradient(90deg,#eaa319 0%,#f7d374 100%);
  --white:#fff; --bg:#f4f4f8; --line:#dedee6; --muted:#55556a;
  --ease:cubic-bezier(.16,1,.3,1); --ease2:cubic-bezier(.77,0,.175,1);
  --hd:120px; --sec:clamp(104px,13vw,210px);
}
.fps.fps,.fps.fps *{box-sizing:border-box;margin:0;padding:0;border-radius:0}
.fps.fps{font-family:'Jost',Arial,sans-serif;color:var(--navy);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.fps.fps h1,.fps.fps h2,.fps.fps h3,.fps.fps h4,.fps.fps .hf{font-family:var(--hfont,'Jost'),Arial,sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.12}
.fps.fps img{max-width:100%;display:block}
.fps.fps a{color:inherit;text-decoration:none}
.fps.fps a:hover{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.fps.fps .dark a:not(.btn):hover{color:var(--gold2)}
.fps.fps p{text-wrap:pretty}
.fps.fps .wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.fps.fps .kick{display:block;font-family:'Jost',sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.fps.fps .dark .kick{color:rgba(255,255,255,.7)}
.fps.fps .bar{display:block;height:3px;width:96px;background:var(--grad);margin:clamp(22px,2.8vw,36px) 0}
.fps.fps .tf{display:inline;background:var(--gold2);color:var(--navy);font-size:.82em;font-weight:600;padding:2px 7px;line-height:1.9;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.fps.fps .vs{display:inline-block;margin-left:10px;padding:2px 8px;background:var(--gold2);color:var(--navy);font-family:'Jost',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}
.fps.fps #hd{position:fixed;top:0;left:0;right:0;z-index:220;display:flex;align-items:center;justify-content:space-between;height:var(--hd);padding:0 clamp(20px,5vw,72px);border-bottom:1px solid transparent;transition:height .45s var(--ease),background .35s,border-color .35s}
.fps.fps #hd.solid{height:96px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-color:var(--line)}
.fps.fps #hd .lg{height:88px;width:auto;transition:height .45s var(--ease)}
.fps.fps #hd.solid .lg{height:62px}
.fps.fps #hd .ld{display:none}
.fps.fps #hd.solid .ld{display:block}
.fps.fps #hd.solid .ll{display:none}
.fps.fps #hd:not(.solid),.fps.fps #hd.menu{color:var(--white)}
.fps.fps #hd.menu{background:transparent !important;border-color:transparent !important}
.fps.fps #hd.menu .ld{display:none !important}
.fps.fps #hd.menu .ll{display:block !important}
.fps.fps #hd a:hover{text-decoration:none}
.fps.fps .hic{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:inherit;transition:opacity .3s}
.fps.fps .hic:hover{opacity:.65}
.fps.fps #burger{display:flex;flex-direction:column;gap:6px;cursor:pointer;padding:8px 0;background:none;border:0;color:inherit}
.fps.fps #burger i{display:block;width:26px;height:2px;background:currentColor;transition:transform .45s var(--ease)}
.fps.fps #burger.on i:nth-child(1){transform:translateY(4px) rotate(45deg)}
.fps.fps #burger.on i:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.fps.fps #ov{position:fixed;inset:0;z-index:200;background:var(--navy);color:var(--white);clip-path:inset(100% 0 0 0);transition:clip-path .7s var(--ease2);pointer-events:none;overflow-y:auto;padding:calc(var(--hd) + 30px) 0 56px}
.fps.fps #ov.open{clip-path:inset(0);pointer-events:auto}
.fps.fps #ov .wrap>*{opacity:0;transform:translateY(48px);transition:opacity .5s var(--ease),transform .9s var(--ease)}
.fps.fps #ov.open .wrap>*{opacity:1;transform:none}
.fps.fps #ov.open .wrap>*:nth-child(1){transition-delay:.28s}
.fps.fps #ov.open .wrap>*:nth-child(2){transition-delay:.36s}
.fps.fps #ov.open .wrap>*:nth-child(3){transition-delay:.44s}
.fps.fps #ov.open .wrap>*:nth-child(4){transition-delay:.52s}
.fps.fps #ov .m-big{transform:translateY(22px);opacity:0;transition:opacity .5s var(--ease),transform .8s var(--ease)}
.fps.fps #ov.open .m-big{transform:none;opacity:1}
.fps.fps #ov.open .m-big:nth-child(1){transition-delay:0.30s}
.fps.fps #ov.open .m-big:nth-child(2){transition-delay:0.35s}
.fps.fps #ov.open .m-big:nth-child(3){transition-delay:0.40s}
.fps.fps #ov.open .m-big:nth-child(4){transition-delay:0.45s}
.fps.fps #ov.open .m-big:nth-child(5){transition-delay:0.50s}
.fps.fps #ov.open .m-big:nth-child(6){transition-delay:0.55s}
.fps.fps #ov.open .m-big:nth-child(7){transition-delay:0.60s}
.fps.fps #ov.open .m-big:nth-child(8){transition-delay:0.65s}
.fps.fps #ov.open .m-big:nth-child(9){transition-delay:0.70s}
.fps.fps #ov.open .m-big:nth-child(10){transition-delay:0.75s}
.fps.fps #ov a:hover{color:var(--gold2);text-decoration:none}
.fps.fps .m-big{display:flex;gap:14px;align-items:baseline;padding:5px 0;font-family:'Jost',sans-serif;font-weight:800;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.03em}
.fps.fps .m-soon{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.fps.fps .m-soon:empty{display:none}
.fps.fps .m-big i{font-style:normal;font-size:11px;font-weight:600;color:var(--gold2)}
.fps.fps .m-s{display:block;padding:8px 0;font-size:16.5px;color:rgba(255,255,255,.74);border-bottom:1px solid rgba(255,255,255,.12)}
.fps.fps .m-h{font-family:'Jost',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px}
.fps.fps .btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 25px;font-family:'Jost',sans-serif;font-size:15px;font-weight:700;overflow:hidden;isolation:isolate;border:1px solid transparent;white-space:nowrap;transition:color .35s var(--ease),border-color .35s}
.fps.fps .btn:hover{text-decoration:none}
.fps.fps .btn{border-radius:999px;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.fps.fps .btn svg{flex:none;transition:transform .25s ease}
.fps.fps .btn:hover svg{transform:translateX(4px)}
.fps.fps .b-navy{background:var(--navy);color:var(--white)}
.fps.fps .b-navy:hover{background:#2c2c55;color:var(--white)}
.fps.fps .b-gold{background:var(--gold2);color:#2E2E33;border-radius:999px;border-color:transparent}
.fps.fps .b-gold:hover{background:var(--gold);color:#2E2E33}
.fps.fps .tm{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,1.8vw,26px);align-items:stretch}
.fps.fps .tm-c{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,26px)}
.fps.fps .tm-c figure{display:flex;flex-direction:column}
.fps.fps .tm-f{flex:1}
.fps.fps .tm-f .zw{flex:1;min-height:0;aspect-ratio:auto!important}
@media (max-width:640px){.fps.fps .tm{grid-template-columns:repeat(2,minmax(0,1fr))}
.fps.fps .tm-c:first-child{grid-column:1/-1}
.fps.fps .tm-f .zw{flex:none;aspect-ratio:4/3!important}
}
.fps.fps .b-gd{background:var(--gold2);color:#2E2E33}
.fps.fps .bb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;max-width:1440px;margin:0 auto}
.fps.fps .bb-i{grid-column:1/span 8;grid-row:1;overflow:hidden;border-radius:0 6px 6px 0;aspect-ratio:4/3.1}
.fps.fps .bb-k{grid-column:7/span 5;grid-row:1;position:relative;z-index:2;background:var(--white);padding:clamp(28px,3.4vw,52px);border-radius:6px;box-shadow:0 30px 60px -28px rgba(27,27,55,.35),0 4px 14px rgba(27,27,55,.06)}
.fps.fps .bb-i{position:relative}
.fps.fps .bb-r .bb-i{grid-column:5/span 8;border-radius:6px 0 0 6px}
.fps.fps .bb-r .bb-k{grid-column:2/span 5}
@media (max-width:860px){.fps.fps .bb-i,.fps.fps .bb-k{grid-column:1/-1}
.fps.fps .bb-i{border-radius:0}
.fps.fps .bb-k{grid-row:2;margin:-48px 20px 0}
.fps.fps .bb-r .bb-i,.fps.fps .bb-r .bb-k{grid-column:1/-1}
}
.fps.fps .b-gd:hover{background:var(--gold);color:#2E2E33}
.fps.fps .b-line{border-color:rgba(27,27,55,.24);color:var(--navy)}
.fps.fps .b-line:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.fps.fps .b-ond{border-color:rgba(255,255,255,.34);color:var(--white)}
.fps.fps .b-ond:hover{background:var(--white);color:var(--navy)}
.fps.fps [data-rise]{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.fps.fps [data-rise].in{opacity:1;transform:none}
.fps.fps .zw{overflow:hidden}
.fps.fps .zw img{transition:transform 1.1s var(--ease)}
.fps.fps .lift:hover .zw img{transform:scale(1.045)}
.fps.fps .prf{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 24px 56px;background:var(--white);border-top:1px solid var(--line);transition:background-color .45s var(--ease),color .45s var(--ease),transform .6s var(--ease)}
.fps.fps .prf::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.fps.fps .prf[data-rise]{opacity:0;transform:translateY(36px);clip-path:inset(0 0 62% 0);transition:opacity .9s var(--ease),transform 1.1s var(--ease),clip-path 1.1s var(--ease),background-color .45s var(--ease),color .45s var(--ease)}
.fps.fps .prf[data-rise].in{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
.fps.fps .prf.in::before{transform:scaleX(.18)}
.fps.fps .prr>.prf:nth-child(2){transition-delay:.09s}
.fps.fps .prr>.prf:nth-child(2)::before{transition-delay:.39s}
.fps.fps .prr>.prf:nth-child(3){transition-delay:.18s}
.fps.fps .prr>.prf:nth-child(3)::before{transition-delay:.48s}
.fps.fps .prr>.prf:nth-child(4){transition-delay:.27s}
.fps.fps .prr>.prf:nth-child(4)::before{transition-delay:.57s}
.fps.fps .prr>.prf:first-child::before{transition-delay:.3s}
.fps.fps .prf .prf-n{font-family:'Jost',sans-serif;font-weight:200;font-size:34px;line-height:1;letter-spacing:-.03em;color:var(--navy);transition:color .45s var(--ease)}
.fps.fps .prf .prf-a{position:absolute;left:24px;bottom:22px;opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.fps.fps .prf.in:hover{background:var(--navy);color:var(--white);transform:translateY(-6px);text-decoration:none;transition-delay:0s}
.fps.fps .prf.in:hover::before{transform:scaleX(1);transition-delay:0s}
.fps.fps .prf:hover .prf-n{color:var(--gold2)}
.fps.fps .prf:hover .prf-d{color:rgba(255,255,255,.82)!important}
.fps.fps .prf:hover .prf-a{opacity:1;transform:none;color:var(--gold2)}
.fps.fps .prr{display:contents}
@media (max-width:700px){.fps.fps .prg{display:flex!important;flex-direction:column;gap:12px!important;margin:0 calc(-1 * clamp(20px,5vw,72px))}
.fps.fps .prr{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 clamp(20px,5vw,72px);padding:4px clamp(20px,5vw,72px) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fps.fps .prr::-webkit-scrollbar{display:none}
.fps.fps .prr.rev{flex-direction:row-reverse}
.fps.fps .prr>.prf{flex:0 0 74%;scroll-snap-align:start;opacity:1!important;transform:none!important;clip-path:none!important}
.fps.fps .prr.rev>.prf{scroll-snap-align:end}
.fps.fps .prr>.prf:hover{transform:none!important}

}
.fps.fps .sw-s{opacity:.22;transition:opacity .6s ease}
.fps.fps .sw-s.on{opacity:1}
@media (max-width:860px){.fps.fps .sw{grid-template-columns:1fr!important}
.fps.fps .sw-pin{position:static!important}
.fps.fps .sw-num{display:none}
.fps.fps .sw-s{opacity:1;min-height:0!important}
}
.fps.fps .az-i{clip-path:inset(calc(var(--az,1) * 18%) calc(var(--az,1) * 22%) calc(var(--az,1) * 18%) 0);will-change:clip-path}
.fps.fps .az-i img{transform:scale(calc(1 + var(--az,1) * .18))}
.fps.fps .az-p{clip-path:inset(0 0 0 calc(var(--az,1) * 100%));will-change:clip-path}
.fps.fps .az-p>*{opacity:calc(1 - var(--az,1) * 1.6);transform:translateX(calc(var(--az,1) * 40px))}
@media (prefers-reduced-motion:reduce){.fps.fps .az{--az:0!important}
}
.fps.fps .mq{overflow:hidden}
.fps.fps .mq-t{display:flex;width:max-content;gap:10px}
.fps.fps .mq-l .mq-t{animation:mqL 80s linear infinite}
.fps.fps .mq-r .mq-t{animation:mqR 64s linear infinite}

@keyframes mqL{to{transform:translateX(-50%)}}

@keyframes mqR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.fps.fps .mq:hover .mq-t{animation-play-state:paused}
.fps.fps .chip{display:flex;align-items:center;justify-content:center;width:230px;height:96px}
.fps.fps .chip span{display:block;width:190px;height:52px;background-size:contain;background-repeat:no-repeat;background-position:center}
.fps.fps .gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);align-items:start}
.fps.fps .gal-c{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,26px)}
.fps.fps .fq{border-bottom:1px solid var(--line)}
.fps.fps .fq summary{display:flex;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;list-style:none;font-family:'Jost',sans-serif;font-weight:700;font-size:clamp(17px,1.3vw,20px)}
.fps.fps .fq summary::-webkit-details-marker{display:none}
.fps.fps .fq-i{position:relative;flex:0 0 20px;height:20px;margin-top:3px}
.fps.fps .fq-i::before,.fps.fps .fq-i::after{content:"";position:absolute;background:currentColor;transition:transform .4s var(--ease)}
.fps.fps .fq-i::before{left:0;right:0;top:9px;height:2px}
.fps.fps .fq-i::after{top:0;bottom:0;left:9px;width:2px}
.fps.fps .fq.is-open .fq-i::after{transform:scaleY(0)}
.fps.fps .fq-a{padding:0 48px 24px 0;color:var(--muted);overflow:hidden}
.fps.fps .tl{display:flex;align-items:center;gap:10px;font-size:16.5px;color:var(--muted)}
.fps.fps .tl::before{content:"";width:18px;height:2px;background:var(--gold)}
@media(max-width:1000px){.fps.fps .split{grid-template-columns:1fr !important}
.fps.fps .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
.fps.fps .gal-c:nth-child(3){display:none}
.fps.fps #ov .wrap{grid-template-columns:1fr 1fr !important}

}
@media(max-width:760px){.fps.fps{--hd:92px}
.fps.fps #hd .lg{height:56px}
.fps.fps .hsoc,.fps.fps .htel{display:none !important}
.fps.fps #ov .wrap{grid-template-columns:1fr !important}

}
@media(prefers-reduced-motion:reduce){.fps.fps,.fps.fps *{transition:none !important;animation:none !important}
.fps.fps [data-rise]{opacity:1;transform:none}

}


/* ---- Ergänzungen für den Einsatz in WordPress ---- */
.fps{--hfont:'Plus Jakarta Sans'}
/* Elementor-Kit setzt Farbe, Schnitt und Schrift für Überschriften und Links global – im Baustein gilt der Entwurf */
.fps.fps :is(h1,h2,h3,h4,h5,h6){color:inherit}
.fps.fps a{color:inherit;font-weight:inherit;font-family:inherit}
.fps.fps a.btn{font-family:'Jost',sans-serif;font-weight:700}
/* Child-Theme: „b, strong { color: #1b1b37 !important }“ – im Baustein erben b/strong die Farbe (sonst unsichtbar auf Dunkel) */
.fps.fps :is(b,strong){color:inherit!important}
.fps.fps .dark a:not(.btn):hover{color:var(--gold2)}
/* Sichtbarkeit nie an JavaScript hängen: verborgen nur, wenn das Skript läuft */
html:not(.fps-js) .fps [data-rise]{opacity:1;transform:none;clip-path:none}
/* Elementor-Kopf/-Fuß ausblenden, wo der neue Kopf/Fuß läuft */
body.fps-rahmen .elementor-location-header,body.fps-rahmen .elementor-location-footer{display:none!important}
body.fps-rahmen{padding-top:0!important}
/* Unterseiten-Kopf (Elementor .fp-leistung-kopf): Wo der Text oben auf dem Bild steht, oben mindestens Kopfzeile (120 px) + 16 px frei,
   sonst laeuft das Logo in die H1 (Referenzen hatte 0 px, Leistungsseiten bei 1024 px nur 92 px). Gestapelt (Bild ueber Text) bleibt 0 px.
   Leistungsseiten: Text oben ab 1024 px; Referenzen 3459: erst ab 1440 px (darunter 16:9-Bild ueber dem Text, eigene Regel in post-3459.css).
   Dreifache Klasse = Spezifitaet (0,4,1) gegen „.elementor-3459 .fp-leistung-kopf:not(.fp-projekt-kopf){padding:0!important}“ */
@media(min-width:1024px){body.fps-rahmen:not(.page-id-3459) .fp-leistung-kopf.fp-leistung-kopf.fp-leistung-kopf{padding-top:max(9vw,136px)!important}}
@media(min-width:1440px){body.fps-rahmen.page-id-3459 .fp-leistung-kopf.fp-leistung-kopf.fp-leistung-kopf{padding-top:max(9vw,136px)!important}}
.fps .fps-ohne{cursor:default}
.fps .fps-ohne:hover{text-decoration:none;color:inherit}
/* Handy: oben kein Terminknopf – die feste Leiste unten reicht –, dafür das Logo größer (Christian 19.10.2026) */
@media(max-width:760px){
.fps.fps #hd .btn{display:none!important}
.fps.fps #hd .lg{height:72px}
.fps.fps #hd.solid .lg{height:64px}
}
/* Nach oben (19.10.2026): Navy-Kreis, goldener Pfeil, Ring = gelesener Anteil der Seite; Hallo-Theme-Reset für button überschreiben */
.fps.fps .fps-hoch{position:fixed;right:clamp(16px,2.2vw,32px);bottom:var(--fps-hoch-unten,24px);z-index:210;width:56px;height:56px;margin:0;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold2);cursor:pointer;box-shadow:0 14px 28px -12px rgba(27,27,55,.55),0 2px 6px rgba(27,27,55,.18);opacity:0;visibility:hidden;transform:translateY(14px) scale(.92);transition:opacity .45s var(--ease),transform .45s var(--ease),bottom .3s var(--ease),box-shadow .3s,visibility 0s linear .45s}
.fps.fps .fps-hoch.ist-da{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--ease),transform .45s var(--ease),bottom .3s var(--ease),box-shadow .3s,visibility 0s}
.fps.fps .fps-hoch:hover,.fps.fps .fps-hoch:focus{background:var(--navy);color:var(--gold2)}
.fps.fps .fps-hoch:hover{box-shadow:0 18px 34px -12px rgba(27,27,55,.62),0 2px 6px rgba(27,27,55,.2)}
.fps.fps .fps-hoch:focus{outline:none}
.fps.fps .fps-hoch:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.fps.fps .fps-hoch__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
.fps.fps .fps-hoch__ring circle{fill:none;stroke-width:2}
.fps.fps .fps-hoch__spur{stroke:rgba(255,255,255,.16)}
.fps.fps .fps-hoch__stand{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .2s linear}
.fps.fps .fps-hoch__pfeil{position:relative;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.fps.fps .fps-hoch:hover .fps-hoch__pfeil,.fps.fps .fps-hoch:focus-visible .fps-hoch__pfeil{transform:translateY(-3px)}
.fps.fps .fps-hoch.startet .fps-hoch__pfeil{animation:fps-hoch-start .65s var(--ease)}
@keyframes fps-hoch-start{0%{transform:translateY(0);opacity:1}38%{transform:translateY(-16px);opacity:0}39%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:1}}
/* Unterste Fußzeile rechts freihalten, damit der Knopf am Seitenende nicht auf „Barrierefreiheit“ liegt (gemessen 19.10.2026) */
.fps.fps footer>div.wrap:last-of-type{padding-right:88px}
@media(max-width:760px){.fps.fps .fps-hoch{width:48px;height:48px}.fps.fps .fps-hoch__pfeil{width:20px;height:20px}.fps.fps footer>div.wrap:last-of-type{padding-right:64px}}
/* Desktop: HubSpot-Chatkreis sitzt unten rechts (Mitte 46 px vom Rand) – Nach-oben-Knopf mittig darueber stapeln */
@media(min-width:761px){html.fps-chat .fps.fps .fps-hoch{right:18px;bottom:96px}}
@media(prefers-reduced-motion:reduce){.fps.fps .fps-hoch,.fps.fps .fps-hoch__pfeil,.fps.fps .fps-hoch__stand{transition:none}.fps.fps .fps-hoch.startet .fps-hoch__pfeil{animation:none}}
/* ---- Handy-Durchgang mit Christian, 19.10.2026 ---- */
/* „Warum Praxen…“: Überschrift klebt nur nebeneinander, untereinander lief sie über den Text */
@media(max-width:1000px){.fps.fps .split>div[style*="sticky"]{position:static!important}}
/* Hero-Knopf am Handy in einer Zeile (Christian: „mach den Text lieber kürzer, damit es nicht umbricht“) */
@media(max-width:600px){.fps.fps [data-screen-label="01 Hero"] .btn{white-space:nowrap!important;justify-content:center;gap:8px!important;font-size:clamp(13.5px,3.85vw,16px)!important;padding:15px 16px!important;min-height:52px!important;max-width:100%}}
@media(max-width:340px){.fps.fps [data-screen-label="01 Hero"] .btn{font-size:12.5px!important;padding:15px 12px!important}}
/* „Wer uns beauftragt“: am Handy Bildausschnitt auf Stephanie */
@media(max-width:760px){.fps.fps [data-screen-label="07 Wer uns beauftragt"] img{object-position:74% 35%!important}}
/* News: drei je Zeile, am Handy eine */
.fps.fps .fps-news-raster{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:760px){.fps.fps .fps-news-raster{grid-template-columns:1fr!important}}
/* „So arbeiten wir“ am Handy: Überschrift und Ziffern-Walze kleben oben, die Schritte laufen darunter durch */
@media (max-width:860px){
.fps.fps .sw{display:block!important}
.fps.fps .sw-l{position:sticky;top:var(--hd);z-index:3;background:#fff;padding:10px 0 12px;margin:0 calc(-1 * clamp(20px,5vw,72px));padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px);box-shadow:0 10px 18px -16px rgba(27,27,55,.35)}
.fps.fps .sw-pin{position:static!important}
.fps.fps .sw-l h2{font-size:24px!important}
.fps.fps .sw-num{display:block!important;height:84px!important;margin-top:6px!important}
.fps.fps .sw-roll .hf{height:84px!important;font-size:84px!important}
.fps.fps .sw-s{opacity:.22!important;min-height:52vh!important}
.fps.fps .sw-s.on{opacity:1!important}
}
/* Feste Schnellkontakt-Leiste und HubSpot-Chat am Handy erst nach dem ersten Bildschirm */
@media(max-width:760px){
.fp-leiste{transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)!important}
html.fps-js:not(.fps-unten) .fp-leiste{opacity:0!important;transform:translateY(110%)!important;pointer-events:none!important}
#hubspot-messages-iframe-container{transition:opacity .35s ease!important}
html.fps-js:not(.fps-unten) #hubspot-messages-iframe-container{opacity:0!important;visibility:hidden!important}
}
/* HubSpot-Chat sitzt rechts in der Leiste: Knopf endet davor (gemessen 19.10.2026: Chat-Kreis ab x = 322 bei 390 px) */
@media(max-width:760px){html.fps-chat .fp-leiste{padding-right:80px!important}}
/* Christian-Block: Zeilenabstand der Überschrift am Handy (Umlaut-Punkte stießen an die Zeile darüber) */
@media(max-width:760px){body .fp-bb-karte h2.elementor-heading-title{line-height:1.32!important}}
/* Logo am Handy noch größer (Christian 19.10.2026) */
@media(max-width:760px){.fps.fps #hd .lg{height:84px}.fps.fps #hd.solid .lg{height:68px}}
/* PRIME am Handy: Vergleichsfassung zweispaltig, nur mit ?prime=2sp (Christian: „lass die 4 Wischreihen, mach mir parallel das in 2 Spalten“) */
@media (max-width:700px){
html.fps-prime-2sp .fps.fps .prg{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin:0!important}
html.fps-prime-2sp .fps.fps .prr{display:contents!important}
html.fps-prime-2sp .fps.fps .prr>.prf{flex:none!important;min-height:0!important;padding:16px 14px 14px!important}
html.fps-prime-2sp .fps.fps .prf-d{display:none!important}
html.fps-prime-2sp .fps.fps .prf h3{font-size:15.5px!important;line-height:1.25!important;hyphens:auto;overflow-wrap:break-word}
}
/* Überschriften der übernommenen Elementor-Abschnitte an die Module angleichen (Christian 19.10.2026: „ich würd sagen okay“):
   Bewertungen und Netzwerk wie die Modul-H2 (bis 56 px, linksbündig); in den schmalen Karten bis 44 px, sonst sechs Zeilen */
body .elementor-element-c45f63c h2.elementor-heading-title,body .elementor-element-c22f0e7 h2.elementor-heading-title{font-family:'Plus Jakarta Sans',sans-serif!important;font-size:clamp(28px,3.6vw,56px)!important;line-height:1.08!important;letter-spacing:-.03em!important;text-align:left!important}
body .elementor-element-c22f0e7 .elementor-widget-text-editor{text-align:left!important}
body .elementor-element-c22f0e7 .elementor-widget-text-editor p{margin-left:0!important;margin-right:0!important;max-width:68ch}
body .elementor-element-181fe83 .fp-bb-karte h2.elementor-heading-title,body .elementor-element-0f461aa .fp-bb-karte h2.elementor-heading-title{font-family:'Plus Jakarta Sans',sans-serif!important;font-size:clamp(26px,2.9vw,44px)!important;line-height:1.12!important;letter-spacing:-.03em!important}
/* Große Bildschirme: „Fläche als Bühne“ (Christian 19.10.2026: „Ja, alles umsetzen“) – ein Raster für Kopf, Module, Elementor-Abschnitte, Fuß */
body{--fps-max:1440px;--fps-rand:clamp(20px,5vw,72px)}
@media(min-width:1800px){body{--fps-max:1680px}.fps.fps .wrap{max-width:1680px}}
.fps.fps #hd{padding-left:max(var(--fps-rand),calc((100% - var(--fps-max)) / 2 + var(--fps-rand)));padding-right:max(var(--fps-rand),calc((100% - var(--fps-max)) / 2 + var(--fps-rand)))}
body .elementor .fp-innen{max-width:var(--fps-max)!important;padding-left:var(--fps-rand)!important;padding-right:var(--fps-rand)!important;box-sizing:border-box}
@media(min-width:768px){
body .elementor .fp-bb{max-width:var(--fps-max)!important;padding-left:var(--fps-rand)!important;padding-right:var(--fps-rand)!important;box-sizing:border-box}
body .elementor .fp-bb>.fp-bb-bild{border-radius:var(--fp-r)!important}
body .elementor .fp-rechts>.fp-bb-karte{grid-column:1 / span 5!important}
}
@media(min-width:1001px){.fps.fps .prg{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:1800px){
.fps.fps{font-size:19px}
.fps.fps [data-screen-label="01 Hero"] h1{font-size:clamp(58px,3.6vw,96px)!important;max-width:18ch!important}
.fps.fps section:not(#kontakt) h2{font-size:clamp(56px,3.2vw,72px)!important}
.fps.fps .prf h3{font-size:20px!important}.fps.fps .prf-d{font-size:16.5px!important}
.fps.fps [style*="font-size: 18px"]{font-size:19.5px!important}
.fps.fps .kick{font-size:13px}
body .elementor-element-c45f63c h2.elementor-heading-title,body .elementor-element-c22f0e7 h2.elementor-heading-title{font-size:clamp(56px,3.2vw,72px)!important}
body .elementor .fp-bb-karte h2.elementor-heading-title{font-size:clamp(44px,2.4vw,52px)!important}
body .elementor .fp-bb-karte p,body .elementor-element-c22f0e7 .elementor-widget-text-editor p{font-size:19px!important}
}
/* Google-Abzeichen im Hero */
.fps.fps .fps-bew{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:rgba(255,255,255,.92);font-family:'Jost',sans-serif;font-size:15px;font-weight:500;text-decoration:none}
.fps.fps .fps-bew:hover{color:#fff;text-decoration:none}
.fps.fps .fps-bew__sterne{display:inline-flex;gap:2px;color:var(--gold2)}
.fps.fps .fps-bew__sterne svg{width:16px;height:16px;fill:currentColor}
.fps.fps .fps-bew__g{width:16px;height:16px;flex:none}
/* „Warum Praxen…“: Überschrift oben, Punkte zweispaltig mit ~60 Zeichen je Zeile (Christian: „mach das“) */
@media(min-width:1001px){
.fps.fps [data-screen-label="02d Warum Praxen mit uns arbeiten"] .split{grid-template-columns:1fr!important;gap:clamp(36px,4vw,64px)!important}
.fps.fps [data-screen-label="02d Warum Praxen mit uns arbeiten"] .split>div[style*="sticky"]{position:static!important}
.fps.fps [data-screen-label="02d Warum Praxen mit uns arbeiten"] .split h2{max-width:none!important}
.fps.fps [data-screen-label="02d Warum Praxen mit uns arbeiten"] .split>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.fps.fps [data-screen-label="02d Warum Praxen mit uns arbeiten"] p{max-width:62ch!important}
}
/* Elementor-Abschnitte an die Module angenähert (Christian: „gute Idee mach das“): gleicher Abschnittsabstand, Text wie im Modul */
body .elementor-element-181fe83,body .elementor-element-0f461aa,body .elementor-element-c22f0e7{padding-top:clamp(104px,13vw,210px)!important;padding-bottom:clamp(104px,13vw,210px)!important}
body .elementor .fp-bb-karte h2.elementor-heading-title,body .elementor-element-c45f63c h2.elementor-heading-title,body .elementor-element-c22f0e7 h2.elementor-heading-title{font-weight:600!important;color:#1b1b37!important}
body .elementor .fp-bb-karte .elementor-widget-text-editor,body .elementor-element-c22f0e7 .elementor-widget-text-editor{font-family:'Jost',Arial,sans-serif!important;font-size:18px!important;line-height:1.7!important;color:#55556a!important}
body .elementor .fp-bb-karte{border-radius:6px!important}
/* HubSpot-Chat am Handy 2 px tiefer (Christian 19.10.2026) */
@media(max-width:760px){#hubspot-messages-iframe-container{bottom:-2px!important}}
/* „So arbeiten wir“ am Desktop kürzer: Schritte 44 statt 62 Bildschirmhöhe (Christian: „das kann schmaler, soll aber nicht die Coolness verlieren“) */
@media (min-width:861px){.fps.fps .sw-s{min-height:44vh!important}}
/* Unterseiten-Köpfe: Umlaute über Großbuchstaben (Ä) stießen bei Zeilenhöhe 1,1 an die Zeile darüber (Christian 20.10.2026) */
body.fps-rahmen .fp-leistung-kopf h1.elementor-heading-title{line-height:1.2!important}
/* Unterseiten-FAQ wie auf der Startseite (Christian 20.10.2026: „FAQ ist auf Startseite schmaler, 2-spaltig, bitte überall wie auf Startseite“) */
body.fps-rahmen .fp-faq{border-top:1px solid #dedee6}
body.fps-rahmen .fp-faq .e-n-accordion{gap:0!important}
body.fps-rahmen .fp-faq .e-n-accordion-item{border:0!important;border-bottom:1px solid #dedee6!important;margin:0!important;background:none!important}
body.fps-rahmen .fp-faq .e-n-accordion-item-title{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:24px!important;padding:22px 0!important;border:0!important;background:none!important;font-family:'Jost',Arial,sans-serif!important;font-weight:700!important;font-size:clamp(17px,1.3vw,20px)!important;line-height:1.45!important;color:#1b1b37!important;cursor:pointer}
body.fps-rahmen .fp-faq .e-n-accordion-item-title-header,body.fps-rahmen .fp-faq .e-n-accordion-item-title-text{font:inherit!important;color:inherit!important}
body.fps-rahmen .fp-faq .e-n-accordion-item-title-icon{flex:0 0 18px;margin-top:4px}
body.fps-rahmen .fp-faq .e-n-accordion-item-title-icon svg{width:16px!important;height:16px!important;fill:#1b1b37!important}
body.fps-rahmen .fp-faq .e-n-accordion-item>[role=region]{padding:0 48px 24px 0!important;border:0!important;background:none!important}
body.fps-rahmen .fp-faq .e-n-accordion-item>[role=region] .elementor-widget-text-editor{color:#55556a!important;font-family:'Jost',Arial,sans-serif!important;font-size:18px!important;line-height:1.7!important}
body.fps-rahmen .fp-innen:has(>.fp-faq)>.elementor-widget-heading .elementor-widget-container::after{content:"";display:block;height:3px;width:96px;background:linear-gradient(90deg,#eaa319 0%,#f7d374 100%);margin-top:clamp(22px,2.8vw,36px)}
@media(min-width:1001px){
body.fps-rahmen .fp-innen:has(>.fp-faq){display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)!important;column-gap:clamp(40px,6vw,104px)!important;row-gap:0!important;align-items:start!important}
body.fps-rahmen .fp-innen:has(>.fp-faq)>.elementor-widget-heading{grid-column:1;grid-row:1;margin:0!important;max-width:14ch}
body.fps-rahmen .fp-innen:has(>.fp-faq)>.fp-faq{grid-column:2;grid-row:1;width:100%!important}
}
/* Unterseiten-Ablauf (fps.js baut die nummerierte Liste zu .fp-sw um): 1-2-3-Sticky-Scroll wie „So arbeiten wir mit Ihnen“ auf der Startseite
   (Christian 20.10.2026: „Sollten wir die Abfolge machen wie auf der Startseite mit dem Effekt? Wenn ja, überall.“) */
body.fps-rahmen .fp-innen.fp-hat-ablauf{display:block!important}
body.fps-rahmen .fp-hat-ablauf>.fp-text-spalte{display:none!important}
.fp-sw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,104px);width:100%}
.fp-sw .sw-pin{position:sticky;top:140px}
.fp-sw .sw-pin>.elementor-widget-heading{margin:0!important}
.fp-sw .sw-num{position:relative;height:clamp(150px,17vw,270px);overflow:hidden;margin-top:clamp(20px,2.4vw,36px)}
.fp-sw .sw-roll{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.fp-sw .sw-roll span{display:block;height:clamp(150px,17vw,270px);font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:200;font-size:clamp(150px,17vw,270px);line-height:1;letter-spacing:-.06em;color:#1b1b37}
.fp-sw .sw-spur{height:2px;background:#dedee6;margin-top:clamp(14px,1.6vw,24px);max-width:320px}
.fp-sw .sw-bar{height:100%;background:#eaa319;transition:width .6s cubic-bezier(.16,1,.3,1)}
.fp-sw .sw-pin>.fp-aktionen{margin-top:clamp(28px,3vw,44px)!important}
.fp-sw .sw-s{min-height:44vh;display:flex;flex-direction:column;justify-content:center;gap:16px;border-top:1px solid #dedee6;padding:clamp(28px,3vw,44px) 0;opacity:.22;transition:opacity .6s ease}
.fp-sw .sw-s.on{opacity:1}
.fp-sw .sw-sn{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:14px;font-weight:600;color:#55556a}
.fp-sw .sw-s h3{margin:0;font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:700;font-size:clamp(24px,2.2vw,34px);line-height:1.18;letter-spacing:-.025em;max-width:18ch;color:#1b1b37}
.fp-sw .sw-s p{margin:0;font-family:'Jost',Arial,sans-serif;color:#55556a;font-size:18px;line-height:1.65;max-width:44ch}
@media (max-width:860px){.fp-sw{grid-template-columns:1fr;gap:8px}.fp-sw .sw-pin{position:static}.fp-sw .sw-num,.fp-sw .sw-spur{display:none}.fp-sw .sw-s{min-height:0;opacity:1}.fp-sw .sw-pin>.fp-aktionen{display:none!important}.fp-sw .sw-r>.fp-aktionen{display:flex!important;margin-top:28px!important}}
@media (min-width:861px){.fp-sw .sw-r>.fp-aktionen{display:none!important}}
/* Zweitknopf „Unsere Referenzen“ neben dem Termin-Knopf (Christian 20.10.2026): Umriss statt Gold, Telefonzeile darunter */
body.fps-rahmen .fp-knopf-zweit .elementor-button{background:transparent!important;color:#1b1b37!important;box-shadow:inset 0 0 0 2px #1b1b37!important}
body.fps-rahmen .fp-knopf-zweit .elementor-button:hover,body.fps-rahmen .fp-knopf-zweit .elementor-button:focus-visible{background:#1b1b37!important;color:#fff!important}
body.fps-rahmen .fp-knopf-zweit .elementor-button *{color:inherit!important;fill:currentColor}
body.fps-rahmen .fp-aktionen:has(>.fp-knopf-zweit)>.fp-anruf-w{flex-basis:100%}
/* Fuß: WhatsApp, Instagram, LinkedIn unter der Telefonnummer */
.fps.fps .fps-sozial{display:flex;gap:8px}
.fps.fps .fps-sozial a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:rgba(255,255,255,.82);transition:color .3s,border-color .3s}
.fps.fps .fps-sozial a:hover,.fps.fps .fps-sozial a:focus-visible{color:var(--gold2);border-color:var(--gold2);text-decoration:none}
/* Listen auf Existenzgründung und Praxisentwicklung wie auf den übrigen Leistungsseiten (Christian 20.10.2026: „Das sieht anders aus als auf anderen Seiten“):
   die Kasten-Optik mit Pfeil aus dem Seiten-CSS (post-2288/2468) neutralisieren – goldener Strich, Link im Text unterstrichen. Doppelte Klasse = Spezifität über dem Seiten-CSS. */
body.fps-rahmen.fps-rahmen .fp-text li.fp-li-ziel,body.fps-rahmen.fps-rahmen .fp-text ul:has(>li.fp-li-ziel)>li:not(.fp-li-ziel){padding:0 0 0 26px!important;margin:0 0 .6em!important;border:0!important;border-radius:0!important;background:none!important}
body.fps-rahmen.fps-rahmen .fp-text li.fp-li-ziel::before,body.fps-rahmen.fps-rahmen .fp-text ul:has(>li.fp-li-ziel)>li:not(.fp-li-ziel)::before{left:0!important;top:.8em!important}
body.fps-rahmen.fps-rahmen .fp-text li.fp-li-ziel::after{content:none!important}
body.fps-rahmen.fps-rahmen .fp-text li.fp-li-ziel:hover{background:none!important}
body.fps-rahmen.fps-rahmen .fp-text a.fp-li-link{position:static!important;color:#1b1b37!important;text-decoration:underline!important;text-decoration-color:#eaa319!important;text-decoration-thickness:2px!important;text-underline-offset:4px}
body.fps-rahmen.fps-rahmen .fp-text a.fp-li-link::after{content:none!important}
body.fps-rahmen.fps-rahmen .fp-text li.fp-li-ziel ul{margin:.6em 0 0!important}
/* Karriere: Zitat im dunklen Band ist jetzt <p> statt <h2> (Qualitätsstandard 4) – Optik wie bisher (Seiten-CSS post-1696 zielt auf h2) */
body.elementor-page-1696 .fp-zitat-band p.elementor-heading-title{color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.6rem,1.1rem + 1.8vw,2.6rem);line-height:1.25;font-weight:700;max-width:900px;letter-spacing:-.01em;margin:0}
body.elementor-page-1696 .fp-zitat-band p.elementor-heading-title::before{content:"„";display:block;color:#eaa319;font-size:1.8em;line-height:.6;margin-bottom:12px}/* News-Übersicht (news-archiv.php, Christian 20.10.2026: „News ja, bau die so“) */
.fps.fps.fpn{display:block;background:#fff}
.fps.fps .fpn-kopf{background:var(--navy);color:var(--white);padding:clamp(150px,14vw,210px) 0 clamp(64px,7vw,110px)}
.fps.fps .fpn-kopf .kick{color:rgba(255,255,255,.7)}
.fps.fps .fpn-kopf h1{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(38px,1rem + 3.6vw,76px);line-height:1.12;letter-spacing:-.035em;max-width:14ch;color:var(--white)}
.fps.fps .fpn-kopf .bar{margin-bottom:0}
.fps.fps.fpn a{text-decoration:none}
.fps.fps .fpn-bild{overflow:hidden;border-radius:6px;background:var(--bg)}
.fps.fps .fpn-bild img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.fps.fps.fpn a:hover .fpn-bild img{transform:scale(1.04)}
.fps.fps.fpn time{display:block;font-family:'Jost',sans-serif;font-weight:600;font-size:13px;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.fps.fps .fpn-mehr{display:inline-flex;align-items:center;gap:8px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;line-height:1.4;border-bottom:2px solid var(--gold);padding-bottom:3px;color:var(--navy)}
.fps.fps .fpn-mehr svg{transition:transform .4s var(--ease)}
.fps.fps.fpn a:hover .fpn-mehr svg{transform:translateX(4px)}
.fps.fps .fpn-top{padding:clamp(64px,7vw,110px) 0 0}
.fps.fps .fpn-top>a{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;color:var(--navy)}
.fps.fps .fpn-top .fpn-bild{aspect-ratio:16/10}
.fps.fps .fpn-top h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(28px,1rem + 1.6vw,44px);line-height:1.14;letter-spacing:-.03em;margin-bottom:18px;overflow-wrap:break-word;hyphens:manual}
.fps.fps .fpn-top p{color:var(--muted);max-width:52ch;margin-bottom:24px}
.fps.fps .fpn-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.6vw,40px);padding:clamp(64px,7vw,110px) 0}
.fps.fps .fpn-karte{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:24px;color:var(--navy)}
.fps.fps .fpn-karte .fpn-bild{aspect-ratio:3/2;margin-bottom:22px}
.fps.fps .fpn-karte h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:clamp(19px,1.35vw,22px);line-height:1.3;letter-spacing:-.02em;margin-bottom:12px;overflow-wrap:break-word;hyphens:manual}
.fps.fps .fpn-karte p{color:var(--muted);font-size:16px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px}
.fps.fps .fpn-karte .fpn-mehr{margin-top:auto;align-self:flex-start}
.fps.fps .fpn-seiten{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0 0 clamp(64px,7vw,110px)}
.fps.fps .fpn-seiten>*{min-width:46px;height:46px;padding:0 12px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1.5px solid var(--line);font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;color:var(--navy)}
.fps.fps .fpn-seiten .current{background:var(--navy);border-color:var(--navy);color:var(--white)}
.fps.fps .fpn-seiten .dots{border-color:transparent}
.fps.fps .fpn-seiten a:hover,.fps.fps .fpn-seiten a:focus-visible{border-color:var(--navy);text-decoration:none}
.fps.fps.fpn .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fps.fps .fpn-schluss{background:var(--bg);padding:56px 0}
.fps.fps .fpn-schluss .wrap{display:flex;gap:24px 36px;align-items:center;justify-content:center;flex-wrap:wrap}
.fps.fps .fpn-tel{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:17px;color:var(--navy)}
.fps.fps .fpn-tel u{text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
@media(max-width:1000px){.fps.fps .fpn-raster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.fps.fps .fpn-top>a{grid-template-columns:1fr;gap:22px}.fps.fps .fpn-raster{grid-template-columns:1fr;gap:0}.fps.fps .fpn-karte{padding:28px 0}.fps.fps .fpn-karte h3{font-size:20px}.fps.fps .fpn-seiten>*{min-width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.fps.fps.fpn *{transition:none!important}}
/* News-Beitrag: Kopf links Titel, rechts Bild ohne Abdunklung, Fläche dunkelblau wie die Übersicht (Christian 21.10.2026) */
.fps.fps.fpb-kopf{display:block;background:var(--navy);color:var(--white);padding:clamp(140px,12vw,190px) 0 clamp(56px,6vw,96px)}
.fps.fps.fpb-kopf .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.fps.fps.fpb-ohne-bild .wrap{grid-template-columns:minmax(0,1fr)}
.fps.fps .fpb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 22px}
.fps.fps .fpb-meta .kick{display:inline-block;margin:0;color:rgba(255,255,255,.7);text-decoration:none}
.fps.fps .fpb-meta .kick:hover,.fps.fps .fpb-meta .kick:focus-visible{color:var(--white);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.fps.fps .fpb-meta time{font-family:'Jost',sans-serif;font-weight:700;font-size:13px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.fps.fps .fpb-meta time::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin:0 14px 0 0;vertical-align:middle;position:relative;top:-1px}
.fps.fps.fpb-kopf h1{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(32px,1rem + 2.3vw,58px);line-height:1.14;letter-spacing:-.03em;color:var(--white);margin:0;overflow-wrap:break-word;hyphens:manual;text-wrap:balance}
.fps.fps.fpb-kopf .bar{margin-bottom:0}
.fps.fps .fpb-bild{border-radius:6px;overflow:hidden;aspect-ratio:3/2;background:rgba(255,255,255,.06);box-shadow:0 0 0 1px rgba(255,255,255,.14)}
body.single-post.fps-rahmen .elementor-location-single{padding-top:clamp(48px,5vw,80px)}
.fps.fps .fpb-bild img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@media(max-width:900px){.fps.fps.fpb-kopf .wrap{grid-template-columns:minmax(0,1fr);gap:32px}}
/* Textseite (textseite.php, z. B. Barrierefreiheit): Kopf wie News, Textspalte mit ruhiger Typografie (Christian 21.10.2026) */
.fps.fps.fpt{display:block;background:#fff}
.fps.fps .fpt-kopf{background:var(--navy);color:var(--white);padding:clamp(150px,14vw,210px) 0 clamp(56px,6vw,96px)}
.fps.fps .fpt-kopf h1{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(34px,1rem + 2.8vw,64px);line-height:1.12;letter-spacing:-.035em;max-width:18ch;color:var(--white);margin:0;overflow-wrap:break-word;hyphens:manual}
.fps.fps .fpt-kopf .bar{margin-bottom:0}
.fps.fps .fpt-text{max-width:760px;padding:clamp(48px,6vw,96px) 0 clamp(64px,7vw,110px);color:var(--navy);font-size:17px;line-height:1.7}
.fps.fps .fpt-text h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:clamp(22px,1rem + .8vw,28px);line-height:1.25;letter-spacing:-.02em;margin:2.2em 0 .6em;color:var(--navy)}
.fps.fps .fpt-text h2:first-child{margin-top:0}
.fps.fps .fpt-text p{margin:0 0 1em}
.fps.fps .fpt-text ul{margin:0 0 1.2em;padding-left:1.2em}
.fps.fps .fpt-text li{margin:0 0 .5em;padding-left:.2em}
.fps.fps .fpt-text li::marker{color:var(--gold)}
.fps.fps .fpt-text a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px;overflow-wrap:anywhere}
.fps.fps .fpt-text strong{font-weight:700}
.fps.fps .fpt-text .fpt-kontakt{background:var(--bg);border-radius:6px;padding:22px 26px;margin:0 0 1.2em}
/* Mail-Knopf aus den Firmendaten ([finke_firma feld="email" … klasse="fp-mailknopf"], Karriere „Initiativ bewerben“) – Optik wie .fp-knopf */
body.fps-rahmen a.fp-mailknopf{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;background:#f7d374;color:#1b1b37!important;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16px;line-height:1.3;text-decoration:none!important;transition:background-color .25s ease}
body.fps-rahmen a.fp-mailknopf:hover,body.fps-rahmen a.fp-mailknopf:focus-visible{background:#eaa319}
body.fps-rahmen a.fp-mailknopf:focus-visible{outline:2px solid #1b1b37;outline-offset:3px}
body.fps-rahmen .fp-mailknopf-w p{margin:0}
body.fps-rahmen .fp-text a[href^="mailto:"]{white-space:nowrap} /* Mailadresse nicht am Bindestrich umbrechen *//* Sprungziel des Bewertungs-Abzeichens im Hero: unter der festen Kopfzeile landen */
#bewertungen{scroll-margin-top:110px}
/* Barrierefreiheit (Christian 22.10.2026: „ja“ auf „Soll ich die vier Punkte beheben?“) */
/* Anhalten-Knöpfe für Video und Logo-Laufband (fps.js, WCAG 2.2.2). Außerhalb von .fps gibt es --navy nicht: Farben aus dem Elementor-Kit
   (--e-global-color-primary = Navy, -secondary = Gold hell, -9d8135c = Weiß) */
.fp-film button.fps-pause,.fp-logos button.fps-pause{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:50%;background:var(--e-global-color-primary);color:var(--e-global-color-9d8135c);cursor:pointer;line-height:1;box-shadow:none;transition:background-color .2s ease,color .2s ease}
.fp-film button.fps-pause:hover,.fp-logos button.fps-pause:hover{background:var(--e-global-color-secondary);color:var(--e-global-color-primary)}
.fp-film button.fps-pause:focus,.fp-logos button.fps-pause:focus{outline:none}
.fp-film button.fps-pause:focus-visible{outline:3px solid var(--e-global-color-secondary);outline-offset:3px}
.fp-logos button.fps-pause:focus-visible{outline:3px solid var(--e-global-color-primary);outline-offset:3px}
.fp-film button.fps-pause{position:absolute;right:12px;top:12px;z-index:3} /* oben rechts: unten links liegt im Abschnitt der Textkasten über dem Video, unten rechts das KI-Zeichen */
.fp-logos button.fps-pause{margin:16px auto 0} /* mittig: .fp-logos blendet die äußeren 12 % per mask-image aus */
.fp-logos.fps-angehalten .fp-laufband{animation-play-state:paused!important}
/* Überschriften nie unsichtbar: die Einblendung bleibt als Bewegung, ohne Blende – auch wenn sie nicht läuft
   (Skript aus, Hintergrund-Tab). [data-rise] mit Überschrift hier, Elementor-Einblendungen an Überschriften (Podcasts, Karriere) darunter */
.fps.fps [data-rise]:is(h1,h2,h3,h4,h5,h6),.fps.fps [data-rise]:has(h1,h2,h3,h4,h5,h6){opacity:1}
.fps.fps .prf[data-rise]:has(h3){opacity:1;clip-path:none}
@keyframes fps-steigen{from{transform:translateY(24px)}to{transform:none}}
.elementor .elementor-widget-heading.elementor-invisible{visibility:visible}
.elementor .elementor-widget-heading.animated{animation-name:fps-steigen}
@media (prefers-reduced-motion:reduce){.elementor .elementor-widget-heading.animated{animation:none}}
/* Dasselbe für die Einblendungen aus dem Seiten-CSS der Elementor-Seiten (.fp-reveal/.fp-kind, z. B. Startseite und Karriere,
   und .fp-rv in den Stellenanzeigen): Abschnitt bzw. Baustein mit Überschrift bleibt deckend, nur die Bewegung bleibt */
.fp-reveal:not(.is-in):has(h1,h2,h3,h4,h5,h6),.fp-kind:has(h1,h2,h3,h4,h5,h6),.fp-kind:is(h1,h2,h3,h4,h5,h6){opacity:1!important}
.fp-rv:has(h1,h2,h3,h4,h5,h6),.fp-rv:is(h1,h2,h3,h4,h5,h6){opacity:1!important;filter:none!important}
