/* ============================================================
   ElbConcept — Designsystem, Fassung 6.2
   Ziel: Elementor → Site Settings → Custom CSS
   Stand 24.09.2026 · 6.2: Abschnitt 5b Bildöffnung mit Kleber,
   Rotation über Animated Headline, Striche füllen sich
   ------------------------------------------------------------
   Änderungen gegenüber Fassung 6.0:
   1. Elementor-Wrapper-Regel ergänzt. Elementor hängt CSS-Klassen
      an den Widget-Wrapper, nicht an das <h2> darin — ohne diese
      Regel bleiben alle ec-Stufen an Widgets wirkungslos.
   2. Eckmarken auf vier Ecken (ein Element, vier Hintergrundbilder).
   3. Breakpoints auf Elementors Standardwerte vereinheitlicht:
      Tablet 1024, Mobil 767. Kein dritter Breakpoint mehr.
      Tabletwerte sind interpoliert und NICHT Teil der freigegebenen
      Skala — bei der nächsten Freigabe bestätigen lassen.
   4. Trägheitsscroll im JavaScript über einen Schalter abschaltbar.

   Schriftwechsel: ausschließlich über die vier Variablen unter
   SCHRIFTUMSCHALTER. Typografie NIE im Widget einstellen.
   ============================================================ */

:root{

  /* ==========================================================
     SCHRIFTUMSCHALTER — hier und nur hier
     Geist    x-Höhe 0,530 · Versalhöhe 0,710
     Familjen x-Höhe 0,500 · Versalhöhe 0,650
     ========================================================== */

  /* --- Geist (aktiv) --- */
  --ec-schrift:"Geist",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  --ec-f-display:1;
  --ec-f-text:1;
  --ec-lw-plus:0em;

  /* --- Familjen Grotesk (Ersatz) ---
  --ec-schrift:"Familjen Grotesk",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  --ec-f-display:1.092;
  --ec-f-text:1.06;
  --ec-lw-plus:.008em;
  */

  /* --- Marke --- */
  --ec-navy:#22264c;
  --ec-navy-tief:#171a35;
  --ec-navy-hover:#2b3160;
  --ec-gold:#baa366;
  --ec-gold-hover:#a7935c;
  /* --- Neutral hell --- */
  --ec-weiss:#ffffff;
  --ec-sand:#f7f6f3;
  --ec-linie:#e3e0d9;
  --ec-grau-ui:#8a8a94;
  --ec-grau-text:#5a5d6b;
  /* --- Neutral dunkel --- */
  --ec-hell:#d3d6e4;
  --ec-grau-dunkel:#8b8fa6;   /* nur auf Navy Tief */
  --ec-grau-navy:#a2a6ba;     /* auf Navy */
  /* --- Semantik --- */
  --ec-erfolg:#146c43;
  --ec-fehler:#a01b12;
  --ec-hinweis:#8a5a00;
  /* --- Abstandsraster, Basis 4 --- */
  --r1:4px;  --r2:8px;  --r3:12px; --r4:16px; --r5:24px;
  --r6:32px; --r7:48px; --r8:64px; --r9:96px; --r10:128px;
}

/* ============================================================
   1 · Typo-Skala — Desktop
   Alle Displaystufen laufen auf Gewicht 400. 700 kommt nicht vor.
   ============================================================ */

.ec-d1,.ec-d2,.ec-d3,.ec-z1,.ec-h1,.ec-h2,.ec-h3,.ec-h4,
.ec-l,.ec-t,.ec-k,.ec-m,.ec-z2,.ec-b,
.ec-la1,.ec-la2,.ec-la3,.ec-mo1,.ec-mo2,.ec-mo3{
  font-family:var(--ec-schrift);
  font-feature-settings:"kern" 1,"liga" 1;
}

.ec-d1{font-size:calc(88px * var(--ec-f-display));line-height:1.04;letter-spacing:calc(-.038em + var(--ec-lw-plus));font-weight:400}
.ec-d2{font-size:calc(52px * var(--ec-f-display));line-height:1.06;letter-spacing:calc(-.032em + var(--ec-lw-plus));font-weight:400}
.ec-d3{font-size:calc(66px * var(--ec-f-display));line-height:1.20;letter-spacing:calc(-.035em + var(--ec-lw-plus));font-weight:400}
.ec-z1{font-size:calc(250px * var(--ec-f-display));line-height:.84;letter-spacing:calc(-.050em + var(--ec-lw-plus));font-weight:400;font-variant-numeric:tabular-nums}
.ec-h1{font-size:calc(46px * var(--ec-f-display));line-height:1.06;letter-spacing:calc(-.030em + var(--ec-lw-plus));font-weight:400}
.ec-h2{font-size:calc(36px * var(--ec-f-display));line-height:1.12;letter-spacing:calc(-.028em + var(--ec-lw-plus));font-weight:400}
.ec-h3{font-size:calc(31px * var(--ec-f-display));line-height:1.20;letter-spacing:calc(-.025em + var(--ec-lw-plus));font-weight:500}
.ec-h4{font-size:calc(20px * var(--ec-f-display));line-height:1.34;letter-spacing:calc(-.010em + var(--ec-lw-plus));font-weight:500}
.ec-z2{font-size:calc(38px * var(--ec-f-display));line-height:1.00;letter-spacing:calc(-.030em + var(--ec-lw-plus));font-weight:500;font-variant-numeric:tabular-nums}

.ec-l {font-size:calc(21px * var(--ec-f-text));line-height:1.55;letter-spacing:0;font-weight:400}
.ec-t {font-size:calc(18px * var(--ec-f-text));line-height:1.60;letter-spacing:0;font-weight:400}
.ec-k {font-size:calc(15px * var(--ec-f-text));line-height:1.55;letter-spacing:0;font-weight:400}
.ec-m {font-size:calc(14px * var(--ec-f-text));line-height:1.52;letter-spacing:0;font-weight:400}
.ec-b {font-size:calc(15px * var(--ec-f-text));line-height:1.20;letter-spacing:-.010em;font-weight:500}

/* --- Label-Ebene: ersetzt die gestrichene Monospace ---------
   Vorher 10–11 px Monospace. Der Einwand der Geschäftsführung
   ("zu klein") lag an dieser Zahl, nicht an der Schrift. */
.ec-la1,.ec-mo1{font-size:calc(13px * var(--ec-f-display));line-height:1.20;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.ec-la2,.ec-mo2{font-size:calc(13px * var(--ec-f-display));line-height:1.20;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.ec-la3,.ec-mo3{font-size:calc(12px * var(--ec-f-display));line-height:1.25;letter-spacing:.14em;text-transform:uppercase;font-weight:500}

/* --- Zeilenlänge Fließtext: höchstens 68 Zeichen ----------- */
.ec-t,.ec-l{max-width:68ch}

/* ============================================================
   1b · ELEMENTOR-WRAPPER-REGEL — ohne sie wirkt nichts
   ------------------------------------------------------------
   Elementor hängt CSS-Klassen an den Widget-Wrapper:
     <div class="elementor-widget ec-d2"> <h2>Text</h2> </div>
   Die Stufe muss deshalb nach innen durchgereicht werden.
   ============================================================ */

.elementor-widget.ec-d1 *,.elementor-widget.ec-d2 *,.elementor-widget.ec-d3 *,
.elementor-widget.ec-z1 *,.elementor-widget.ec-h1 *,.elementor-widget.ec-h2 *,
.elementor-widget.ec-h3 *,.elementor-widget.ec-h4 *,.elementor-widget.ec-z2 *,
.elementor-widget.ec-l  *,.elementor-widget.ec-t  *,.elementor-widget.ec-k  *,
.elementor-widget.ec-m  *,.elementor-widget.ec-b  *,
.elementor-widget.ec-la1 *,.elementor-widget.ec-la2 *,.elementor-widget.ec-la3 *,
.elementor-widget.ec-mo1 *,.elementor-widget.ec-mo2 *,.elementor-widget.ec-mo3 *{
  font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;
}

/* ============================================================
   1c · Typo-Skala — Tablet (≤1024) und Mobil (≤767)
   Tabletwerte sind interpoliert, nicht freigegeben.
   ============================================================ */

@media(max-width:1024px){
  .ec-d1{font-size:calc(60px * var(--ec-f-display))}
  .ec-d2{font-size:calc(38px * var(--ec-f-display))}
  .ec-d3{font-size:calc(46px * var(--ec-f-display))}
  .ec-z1{font-size:calc(160px * var(--ec-f-display))}
  .ec-h1{font-size:calc(38px * var(--ec-f-display))}
  .ec-h2{font-size:calc(30px * var(--ec-f-display))}
  .ec-h3{font-size:calc(26px * var(--ec-f-display))}
  .ec-h4{font-size:calc(19px * var(--ec-f-display))}
  .ec-z2{font-size:calc(32px * var(--ec-f-display))}
  .ec-l {font-size:calc(20px * var(--ec-f-text))}
}

@media(max-width:767px){
  .ec-d1{font-size:calc(34px * var(--ec-f-display));letter-spacing:calc(-.030em + var(--ec-lw-plus))}
  .ec-d2{font-size:calc(24px * var(--ec-f-display))}
  .ec-d3{font-size:calc(28px * var(--ec-f-display));line-height:1.16}
  .ec-z1{font-size:calc(84px * var(--ec-f-display))}
  .ec-h1{font-size:calc(30px * var(--ec-f-display))}
  .ec-h2{font-size:calc(25px * var(--ec-f-display))}
  .ec-h3{font-size:calc(21px * var(--ec-f-display))}
  .ec-h4{font-size:calc(18px * var(--ec-f-display))}
  .ec-z2{font-size:calc(26px * var(--ec-f-display))}
  .ec-l {font-size:calc(19px * var(--ec-f-text))}
  .ec-t {font-size:calc(17px * var(--ec-f-text))}
  .ec-m {font-size:calc(13px * var(--ec-f-text))}
  .ec-la1,.ec-mo1{font-size:calc(12px * var(--ec-f-display))}
  .ec-la2,.ec-mo2{font-size:calc(13px * var(--ec-f-display))}
  .ec-la3,.ec-mo3{font-size:calc(11px * var(--ec-f-display))}
}

/* ============================================================
   2 · Farbregeln als Hilfsklassen
   Gold ist auf hellem Grund NIE Text. Auf dunklem Grund immer.
   ============================================================ */

.ec-auf-dunkel{background:var(--ec-navy-tief);color:var(--ec-weiss)}
.ec-auf-navy{background:var(--ec-navy);color:var(--ec-weiss)}
.ec-auf-sand{background:var(--ec-sand);color:var(--ec-navy)}
.ec-gold-text{color:var(--ec-gold)}            /* nur in .ec-auf-dunkel / .ec-auf-navy */
.ec-gold-flaeche{background:var(--ec-gold);color:var(--ec-navy)}
.ec-auf-dunkel .ec-t,.ec-auf-dunkel .ec-l{color:var(--ec-hell)}
.ec-auf-dunkel .ec-la1,.ec-auf-dunkel .ec-la3{color:var(--ec-grau-dunkel)}
.ec-auf-navy  .ec-la1,.ec-auf-navy  .ec-la3{color:var(--ec-grau-navy)}

/* Links sind immer unterstrichen, Linkfarbe = Textfarbe */
.ec-inhalt a{color:inherit;text-decoration:underline;text-underline-offset:.18em}
.ec-inhalt a:hover{text-decoration-thickness:2px}

/* Fokusring: Navy auf Hell, Gold auf Dunkel — immer sichtbar */
:focus-visible{outline:2px solid var(--ec-navy);outline-offset:3px}
.ec-auf-dunkel :focus-visible,.ec-auf-navy :focus-visible{outline-color:var(--ec-gold)}

/* Regel 6: Goldfläche berührt keine Bildkante, an der Haut liegt */
.ec-gold-flaeche + img,img + .ec-gold-flaeche{margin-top:var(--r6)}

/* Eckenradius überall 0 */
.ec-inhalt *,.ec-karte,.ec-btn,.ec-btn-2,.ec-gold-flaeche{border-radius:0}

/* ============================================================
   3 · Musterebene — Korn, Goldschein, vier Eckmarken
   Zusammen unter 2 KB, keine Bilddatei.
   ============================================================ */

.ec-korn::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.045;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
}

/* Goldschein bleibt im Container — kein Überstand, keine Seitenbreite */
.ec-schein{position:relative;isolation:isolate}
.ec-schein::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 50% at 70% 40%,rgba(186,163,102,.17),transparent 70%);
}

/* Vier Passerkreuze, ein Element, vier Hintergrundbilder */
.ec-marken::before{
  content:"";position:fixed;inset:24px;pointer-events:none;z-index:9997;
  opacity:.26;mix-blend-mode:difference;
  background-repeat:no-repeat;
  background-position:left top,right top,left bottom,right bottom;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><circle cx='8' cy='8' r='5.5' fill='none' stroke='white'/><path d='M8 0v16M0 8h16' stroke='white'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><circle cx='8' cy='8' r='5.5' fill='none' stroke='white'/><path d='M8 0v16M0 8h16' stroke='white'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><circle cx='8' cy='8' r='5.5' fill='none' stroke='white'/><path d='M8 0v16M0 8h16' stroke='white'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><circle cx='8' cy='8' r='5.5' fill='none' stroke='white'/><path d='M8 0v16M0 8h16' stroke='white'/></svg>");
}

/* Kopfleiste: lesbar auf hellen und dunklen Sektionen */
.ec-kopf{mix-blend-mode:difference;opacity:0;transition:opacity .5s ease}
body.ec-ready .ec-kopf{opacity:1;transition-delay:1.3s}

/* ============================================================
   4 · Bühne und Rotation
   ============================================================ */

.ec-buehne{
  min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:var(--r9) 0 var(--r8);position:relative;
}
/* Das JavaScript misst die längste Zeile und senkt die
   Schriftgröße, bis sie in eine Zeile passt. */
.ec-rotation{display:block;min-height:1.04em}
@media(max-width:767px){.ec-rotation{min-height:3.2em}}  /* Platz für drei Zeilen, damit nichts springt */
.ec-rotation .ec-fest{color:var(--ec-weiss)}
.ec-rotation .ec-wechsel{color:var(--ec-gold)}

/* Fortschrittsstriche: zeigen, dass es genau fünf Bereiche sind.
   6.2 wie Prototyp v3: der aktive Strich füllt sich im Takt der Rotation. */
.ec-striche{display:flex;gap:7px;margin-top:var(--r6);list-style:none;padding:0}
.ec-striche i{display:block;width:26px;height:2px;background:rgba(255,255,255,.18);position:relative;overflow:hidden}
.ec-striche i b{position:absolute;inset:0;background:var(--ec-gold);transform:scaleX(0);transform-origin:left}
.ec-striche i.ec-aktiv b{animation:ec-fuell var(--ec-takt,2600ms) linear forwards}
@keyframes ec-fuell{to{transform:scaleX(1)}}

/* Rotation mit Elementor „Animated Headline“ (6.2):
   „Wir“ Weiß, rotierender Teil Gold, Zeile läuft nicht um */
.elementor-widget-animated-headline.ec-rotation .elementor-headline{margin:0;white-space:nowrap}
@media(max-width:767px){.elementor-widget-animated-headline.ec-rotation .elementor-headline{white-space:normal}}

/* Haarlinie */
.ec-haarlinie{height:1px;background:var(--ec-grau-dunkel);width:100%;margin:var(--r7) 0 0;
  transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,1,.36,1)}
body.ec-ready .ec-haarlinie{transform:scaleX(1);transition-delay:.9s}

/* Beweiszeile: drei Werte, kein Fließtext */
.ec-beweis{display:grid;gap:var(--r5);grid-template-columns:1fr;margin-top:var(--r6)}
@media(min-width:768px){.ec-beweis{grid-template-columns:repeat(3,1fr)}}

/* ============================================================
   5 · Bewegung — Eintritt, Wortmasken, Bildöffnung
   ============================================================ */

[data-ec-reveal]{opacity:0;transform:translateY(24px);
  transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
[data-ec-reveal].ec-an{opacity:1;transform:none}

.ec-satz .ec-zeile-maske{display:block;overflow:hidden;padding-bottom:.08em}
.ec-satz .ec-w{display:inline-block;transform:translateY(105%);opacity:0;
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .6s ease}
.ec-satz.ec-an .ec-w,.ec-satz.ec-an .ec-w{transform:translateY(0);opacity:1}

/* Bildöffnung: Foto wächst beim Scrollen aus einem senkrechten Spalt */
.ec-oeffnung{position:relative;overflow:hidden}
.ec-oeffnung>img,.ec-oeffnung>.ec-bild,.ec-oeffnung>.elementor-widget-image{
  display:block;width:100%;height:auto;
  clip-path:inset(0 var(--ec-o,48%) 0 var(--ec-o,48%));
  transition:clip-path .08s linear}

/* ============================================================
   5b · Bildöffnung mit Kleber — Fassung 6.3
   Abschnitt 185 svh (mobil 150 svh). Das Foto ist sofort als Fenster
   sichtbar, sobald der Abschnitt ins Bild kommt, und ist voll offen,
   wenn der Kleber unter der Kopfleiste andockt. Danach Text auf dem Bild.
   Bildausschnitt oben mittig (object-position 50% 0%).
   Ausnahme von „kein Text auf Foto mit Gesichtern“, freigegeben
   durch die Geschäftsführung am 24.09.2026.
   Aufbau (nur native Elementor-Elemente):
   .ec-oe            äußerer Container
     .ec-oe-kleber   innerer Container (klebt)
       .ec-oe-foto   Bild-Widget
       .ec-oe-schleier  leerer Container
       .ec-oe-worte  Container mit Überschrift, Text, Buttons
   ============================================================ */

.ec-oe{height:185svh;position:relative}
@media(max-width:767px){.ec-oe{height:150svh}}
.ec-oe-kleber{position:sticky;top:0;height:100svh;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.ec-oe-foto{position:absolute!important;inset:0;width:100%!important;max-width:none!important;margin:0!important;will-change:clip-path}
.ec-oe-foto .elementor-widget-container,.ec-oe-foto img{width:100%;height:100%;max-width:none}
.ec-oe-foto img{object-fit:cover;object-position:50% 0%;display:block}
.ec-oe-schleier{position:absolute!important;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,26,53,.74) 0%,rgba(23,26,53,.26) 44%,rgba(23,26,53,.88) 100%)}
.ec-oe-worte{position:relative;z-index:3;text-align:center;align-items:center;padding:0 28px;max-width:1000px}
.ec-oe-worte .ec-l{margin-inline:auto;max-width:46ch}
@media (prefers-reduced-motion: reduce){
  .ec-oe{height:auto}
  .ec-oe-kleber{position:relative}
  .ec-oe-foto{clip-path:none!important}
  .ec-oe-schleier,.ec-oe-worte{opacity:1!important;transform:none!important}
}

/* ============================================================
   6 · Leistungskarten — Fassung 7: kein Stapeln mehr
   Entscheidung GF 01.10.2026: Übersicht schlägt Effekt.
   Die Karten stehen fest untereinander und treten gestaffelt ein.
   ============================================================ */

.ec-stapel{position:relative}
.ec-karte{
  position:static;background:var(--ec-weiss);border-top:1px solid var(--ec-linie);
  padding:var(--r7);margin-bottom:var(--r5);box-shadow:none}
.ec-karte:last-of-type{margin-bottom:0}
@media(max-width:767px){.ec-karte{padding:var(--r5)}}
/* Kartennummer: große, ruhige Ziffer (6.3) */
.ec-karte-nr{font-variant-numeric:tabular-nums;min-width:1.4em}

/* ============================================================
   7 · Klebezone und Überkleber
   Der Überkleber verhindert, dass die große Zahl beim Scrollen
   in den nächsten Abschnitt hineinragt. Gehört an den FOLGENDEN
   Container, nicht an den Kleber.
   ============================================================ */

.ec-kleber{position:sticky;top:0;z-index:1;padding:190px 0;text-align:center}
.ec-ueberkleber{position:relative;z-index:2;background:var(--ec-weiss)}
.ec-auf-dunkel.ec-ueberkleber,.ec-auf-navy.ec-ueberkleber{background:var(--ec-navy-tief)}
.ec-auf-sand.ec-ueberkleber{background:var(--ec-sand)}

/* ============================================================
   8 · Zitat — goldene Kante
   Kursivsatz über vier Zeilen wird anstrengend zu lesen, deshalb
   die Kante. Synthetisch geneigte Schrift bleibt verboten.
   ============================================================ */

.ec-zitat{border-left:3px solid var(--ec-gold);padding-left:26px;margin:var(--r7) 0;max-width:62ch;
  font-style:normal}
.ec-zitat p{font-size:calc(30px * var(--ec-f-display));line-height:1.35;font-weight:400;
  letter-spacing:-.020em;margin:0 0 var(--r4)}
.ec-zitat cite{font-style:normal;display:block}
.ec-zitat-klein p{font-size:calc(21px * var(--ec-f-text));line-height:1.5}
@media(max-width:767px){.ec-zitat p{font-size:calc(22px * var(--ec-f-display))}.ec-zitat{padding-left:18px}}

/* ============================================================
   9 · Laufband — Inhalt ZWEIMAL einsetzen
   ============================================================ */

.ec-laufband{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ec-track{display:flex;gap:var(--r8);width:max-content;animation:ec-lauf 36s linear infinite}
@keyframes ec-lauf{to{transform:translateX(-50%)}}

/* ============================================================
   10 · Zeilenlinks mit wanderndem „Wir“
   ============================================================ */

.ec-zeilen{border-top:1px solid var(--ec-linie)}
.ec-zeile{display:flex;align-items:baseline;gap:var(--r5);padding:var(--r5) 0;
  border-bottom:1px solid var(--ec-linie);text-decoration:none;color:inherit;
  transition:padding-left .3s cubic-bezier(.22,1,.36,1)}
.ec-zeile:hover,.ec-zeile.ec-aktiv{padding-left:var(--r5)}
.ec-zeile .ec-nr{color:var(--ec-gold);flex:0 0 auto}
.ec-zeile .ec-wir{opacity:0;transition:opacity .3s ease;flex:0 0 auto}
.ec-zeile.ec-aktiv .ec-wir{opacity:1}

/* ============================================================
   11 · Buttons
   ============================================================ */

/* Fassung 6.3: schlanker, kein Unterstrich, Pfeil gleitet beim Hover.
   Gold = Handlung. Zweitbutton passt sich dem Grund an:
   hell (Standard) → Navy-Linie, Hover Navy gefüllt;
   in .ec-auf-dunkel / .ec-auf-navy → weiße Linie, Hover weiß gefüllt. */
.elementor-widget.ec-btn .elementor-button,.elementor-widget.ec-btn-2 .elementor-button,
.ec-btn>a,.ec-btn-2>a,a.ec-btn,a.ec-btn-2{
  display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px 0 22px;
  font-family:var(--ec-schrift);font-size:calc(14px * var(--ec-f-text));font-weight:500;
  letter-spacing:.01em;line-height:1;border:1px solid transparent;border-radius:0;
  text-decoration:none!important;cursor:pointer;box-shadow:none;
  transition:background-color .35s cubic-bezier(.22,1,.36,1),color .35s cubic-bezier(.22,1,.36,1),border-color .35s cubic-bezier(.22,1,.36,1)}
.ec-btn .elementor-button *,.ec-btn-2 .elementor-button *{text-decoration:none!important;font:inherit;letter-spacing:inherit}
/* Pfeil genau einmal: bei Elementor-Buttons am Inhalt, bei reinen Links am Link.
   (Elementor setzt a.elementor-button direkt in den Widget-Container — daher :not) */
.ec-btn .elementor-button-content-wrapper::after,.ec-btn-2 .elementor-button-content-wrapper::after,
.ec-btn>a:not(.elementor-button)::after,.ec-btn-2>a:not(.elementor-button)::after,a.ec-btn::after,a.ec-btn-2::after{
  content:"\2192";display:inline-block;margin-left:10px;font-weight:400;
  transition:transform .35s cubic-bezier(.22,1,.36,1)}
.ec-btn .elementor-button:hover .elementor-button-content-wrapper::after,
.ec-btn-2 .elementor-button:hover .elementor-button-content-wrapper::after,
.ec-btn>a:not(.elementor-button):hover::after,.ec-btn-2>a:not(.elementor-button):hover::after,a.ec-btn:hover::after,a.ec-btn-2:hover::after{transform:translateX(4px)}
.elementor-widget.ec-btn .elementor-button,.elementor-widget.ec-btn-2 .elementor-button{white-space:nowrap}

.elementor-widget.ec-btn .elementor-button,.ec-btn>a,a.ec-btn{background:var(--ec-gold);color:var(--ec-navy-tief);border-color:var(--ec-gold)}
.elementor-widget.ec-btn .elementor-button:hover,.elementor-widget.ec-btn .elementor-button:focus,
.ec-btn>a:hover,a.ec-btn:hover{background:#c9b683;border-color:#c9b683;color:var(--ec-navy-tief)}

.elementor-widget.ec-btn-2 .elementor-button,.ec-btn-2>a,a.ec-btn-2{
  background:transparent;color:var(--ec-navy);border-color:rgba(34,38,76,.32)}
.elementor-widget.ec-btn-2 .elementor-button:hover,.elementor-widget.ec-btn-2 .elementor-button:focus,
.ec-btn-2>a:hover,a.ec-btn-2:hover{background:var(--ec-navy);border-color:var(--ec-navy);color:var(--ec-weiss)}

:is(.ec-auf-dunkel,.ec-auf-navy) .elementor-widget.ec-btn-2 .elementor-button,
:is(.ec-auf-dunkel,.ec-auf-navy) .ec-btn-2>a,:is(.ec-auf-dunkel,.ec-auf-navy) a.ec-btn-2{
  color:var(--ec-weiss);border-color:rgba(255,255,255,.34)}
:is(.ec-auf-dunkel,.ec-auf-navy) .elementor-widget.ec-btn-2 .elementor-button:hover,
:is(.ec-auf-dunkel,.ec-auf-navy) .elementor-widget.ec-btn-2 .elementor-button:focus,
:is(.ec-auf-dunkel,.ec-auf-navy) .ec-btn-2>a:hover,:is(.ec-auf-dunkel,.ec-auf-navy) a.ec-btn-2:hover{
  background:var(--ec-weiss);border-color:var(--ec-weiss);color:var(--ec-navy-tief)}

/* ============================================================
   12 · Formular — Elementor Pro, vier Zustände
   Formularränder nie in --ec-linie: 1,32:1 reicht nicht.
   ============================================================ */

.ec-form .elementor-field{
  font-family:var(--ec-schrift);font-size:calc(18px * var(--ec-f-text));line-height:1.5;
  padding:14px 16px;border:1px solid var(--ec-grau-ui);background:var(--ec-weiss);
  color:var(--ec-navy);border-radius:0}
.ec-form .elementor-field:focus{border-color:var(--ec-navy);outline:2px solid var(--ec-navy);outline-offset:2px}
.ec-form .elementor-field::placeholder{color:var(--ec-grau-text);opacity:1}
.ec-form .elementor-field-label{font-size:calc(15px * var(--ec-f-text));font-weight:500;margin-bottom:var(--r2);display:block}
.ec-form .elementor-message-success{color:var(--ec-erfolg)}
.ec-form .elementor-message-danger,.ec-form .elementor-error .elementor-field{border-color:var(--ec-fehler)}
.ec-form .elementor-message-danger{color:var(--ec-fehler)}

/* Formular auf dunklem Grund — wie Prototyp v3 (6.2) */
.ec-auf-dunkel .ec-form .elementor-field{background:transparent;color:var(--ec-weiss);border-color:var(--ec-grau-ui)}
.ec-auf-dunkel .ec-form .elementor-field::placeholder{color:var(--ec-grau-dunkel)}
.ec-auf-dunkel .ec-form .elementor-field:focus{border-color:var(--ec-gold);outline-color:var(--ec-gold)}
.ec-auf-dunkel .ec-form .elementor-field-label{color:var(--ec-grau-dunkel);font-size:calc(13px * var(--ec-f-display));letter-spacing:.12em;text-transform:uppercase}
.ec-auf-dunkel .ec-form .elementor-field-type-acceptance label{color:var(--ec-hell)}
.ec-auf-dunkel .ec-form .elementor-message-success{color:var(--ec-weiss)}

/* ============================================================
   13 · Inhaltsbreite · Platzhalter · FCM-Karte
   ============================================================ */

.ec-inhalt{max-width:1200px;margin-inline:auto;padding-inline:20px}
@media(min-width:768px){.ec-inhalt{padding-inline:32px}}

.ec-platzhalter{background:var(--ec-sand);outline:1px dashed var(--ec-grau-ui);outline-offset:-1px;
  display:flex;align-items:center;justify-content:center;color:var(--ec-grau-text)}
.ec-auf-dunkel .ec-platzhalter{background:transparent;color:var(--ec-grau-dunkel)}
.ec-fcm{border:1px dashed var(--ec-gold)}

/* ============================================================
   14 · Bewegung reduzieren — Pflicht, nicht Kür
   ============================================================ */

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  html{scroll-behavior:auto!important}
  [data-ec-reveal]{opacity:1;transform:none}
  .ec-satz .ec-w{transform:none;opacity:1}
  .ec-oeffnung>img,.ec-oeffnung>.ec-bild,.ec-oeffnung>.elementor-widget-image{clip-path:none}
  .ec-track{animation:none}
  .ec-karte{position:relative;top:auto!important;margin-bottom:var(--r5)}
  .ec-haarlinie{transform:scaleX(1)}
  .ec-kopf{opacity:1}
  .ec-striche i.ec-aktiv b{animation:none;transform:scaleX(1)}
}


/* ============================================================
   5c · Kleber unter der Kopfleiste — Fassung 6.2
   Die Kopfleiste ist fixiert (72 px, mobil 64 px, dazu die
   WordPress-Adminleiste). Der Kleber beginnt darunter, damit das
   Foto oben nicht verdeckt wird.
   ============================================================ */
:root{--ec-kopfhoehe:72px;--ec-adminhoehe:0px}
@media (max-width:767px){:root{--ec-kopfhoehe:64px}}
body.admin-bar{--ec-adminhoehe:32px}
@media (max-width:782px){body.admin-bar{--ec-adminhoehe:46px}}
.ec-oe-kleber{top:calc(var(--ec-kopfhoehe) + var(--ec-adminhoehe));
  height:calc(100svh - var(--ec-kopfhoehe) - var(--ec-adminhoehe))}
@media (prefers-reduced-motion: reduce){.ec-oe-kleber{top:auto}}


/* 7b · Rotation mobil — Fassung 6.2
   Unter 768 px steht der wechselnde Teil in eigener Zeile und darf
   umbrechen, damit lange Zeilen („führen durch den Förderdschungel.“)
   nicht über den Rand laufen. */
@media(max-width:767px){
  .elementor-widget-animated-headline.ec-rotation .elementor-headline-dynamic-wrapper{display:block;width:100%!important;text-align:left}
  .elementor-widget-animated-headline.ec-rotation .elementor-headline-dynamic-text{white-space:normal;width:100%}
}


/* ============================================================
   14 · Fassung 6.3 — Startseite nachgeschärft (28.09.2026)
   ============================================================ */

/* Kopfleiste schrumpft beim Scrollen (Klasse ec-kopfleiste am Header-Container,
   ec-klein setzt elbconcept.js ab 40 px Scrollweg) */
.ec-kopfleiste{transition:min-height .35s cubic-bezier(.22,1,.36,1),top .2s linear}
body.ec-klein{--ec-kopfhoehe:58px}
body.ec-klein .ec-kopfleiste.e-con{--min-height:58px;min-height:58px}
@media(max-width:767px){
  body.ec-klein{--ec-kopfhoehe:54px}
  body.ec-klein .ec-kopfleiste.e-con{--min-height:54px;min-height:54px}
}

/* Rezensionen: mobil eine Stufe kleiner */
@media(max-width:767px){.ec-rez,.ec-rez *{font-size:calc(16px * var(--ec-f-text))!important;line-height:1.55!important}}

/* Zitat mobil mit weniger Luft */
@media(max-width:767px){.ec-zitat{margin:var(--r5) 0}}

/* Logowand wie Prototyp: Haarlinien-Raster, Zellen 5:2 */
.ec-logowand .e-con{aspect-ratio:5/2}

/* Bildöffnung mobil (6.4): kein Kleben. Foto 4:5 oben (beide Personen sichtbar),
   öffnet sich beim Hineinscrollen; Text darunter auf Navy Tief, sofort lesbar. */
@media(max-width:767px){
  .ec-oe{height:auto}
  .ec-oe-kleber{position:relative!important;top:auto!important;height:auto!important;
    flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden}
  .ec-oe-foto{position:relative!important;inset:auto!important;height:auto!important;aspect-ratio:4/5}
  .ec-oe-foto img{object-position:60% 0%}
  .ec-oe-schleier{inset:0 0 auto 0!important;height:auto;aspect-ratio:4/5;
    background:linear-gradient(180deg,rgba(23,26,53,0) 55%,rgba(23,26,53,.7) 85%,#171a35 100%)}
  .ec-oe-worte{padding:8px 20px 64px;margin-top:-48px;max-width:none}
  .ec-oe-worte .e-con{width:100%}
  .ec-oe-worte .elementor-widget-button{width:100%}
  .ec-oe-worte .elementor-button{width:100%;justify-content:center}
}
/* Logo als Bild in Kopf, Menü und Fuß */
.ec-logo img{display:block;height:auto}

/* ============================================================
   15 · Bewegungsschicht wie Prototyp v3 — Fassung 6.4
   Klassen werden an die Elementor-Elemente gehängt; body.ec-ready
   setzt elbconcept.js nach dem Laden (Notausgang 1,2 s).
   ============================================================ */

/* Kopfleiste blendet nach der Bühne ein */
.ec-kopfleiste{opacity:0;transform:translateY(-10px);
  transition:opacity .9s ease 1.4s,transform .9s ease 1.4s,min-height .35s cubic-bezier(.22,1,.36,1),top .2s linear}
body.ec-ready .ec-kopfleiste{opacity:1;transform:none}
body.elementor-editor-active .ec-kopfleiste{opacity:1;transform:none}

/* Goldschein der Bühne wächst auf */
.ec-buehne{overflow:hidden}
.ec-buehne.ec-schein::before{inset:auto;left:18%;top:38%;width:1200px;height:1200px;
  background:radial-gradient(circle,rgba(186,163,102,.17) 0%,rgba(186,163,102,0) 62%);
  opacity:0;transform:translate(-50%,-50%) scale(.55);
  transition:opacity 2.6s ease .3s,transform 2.6s ease .3s}
body.ec-ready .ec-buehne.ec-schein::before{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* Kennzeile der Bühne: steigt auf, Haarlinie zieht sich auf */
.ec-e-kick{opacity:0;transform:translateY(8px);transition:opacity .9s ease .3s,transform .9s ease .3s}
.ec-e-kick .elementor-widget-divider{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1) .8s}
body.ec-ready .ec-e-kick{opacity:1;transform:none}
body.ec-ready .ec-e-kick .elementor-widget-divider{clip-path:inset(0 0 0 0)}

/* Überschrift der Startseite steht sofort (wie Prototyp) — kein Einfahren des „Wir“ */

/* Einleitung, Striche, Zahlenzeile, Fußzeile — gestaffelt */
.ec-e-lead{opacity:0;transform:translateY(12px);transition:opacity 1s ease .95s,transform 1s ease .95s}
.ec-e-zahl{opacity:0;transform:translateY(12px);transition:opacity 1s ease 1.15s,transform 1s ease 1.15s}
.ec-e-striche{opacity:0;transition:opacity 1s ease 1.5s}
.ec-e-unten{opacity:0;transition:opacity 1s ease 1.7s}
/* Startseite: Reihenfolge wie Prototyp — Kennzeile, Linie, Striche, zuletzt die drei Zahlen */
.ec-e-striche ~ .ec-e-zahl{transition-delay:1.9s,1.9s}
body.ec-ready .ec-e-lead,body.ec-ready .ec-e-zahl,body.ec-ready .ec-e-striche,body.ec-ready .ec-e-unten{opacity:1;transform:none}

/* Fußzeile der Bühne mit Scroll-Hinweis (Maus-Umriss, Goldstrich tickt) */
.ec-e-unten .elementor-heading-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.ec-e-unten .elementor-heading-title::after{content:"";flex:0 0 auto;width:13px;height:21px;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.3);border-radius:7px;
  background:linear-gradient(var(--ec-gold),var(--ec-gold)) no-repeat 50% 5px/2px 5px;
  animation:ec-tick 2s ease-in-out infinite}
@keyframes ec-tick{0%,100%{background-position:50% 5px}50%{background-position:50% 11px}}

/* Stationen im Ablauf: aktiv, sobald im Blick */
.ec-schritt{opacity:.32;transition:opacity .6s ease}
.ec-schritt.ec-an{opacity:1}
/* Fortschrittsbalken im Ablauf-Kopf */
.ec-balken{height:2px;background:rgba(139,143,166,.35);position:relative;overflow:hidden}
.ec-balken>.ec-balken-b,.ec-balken .ec-balken-b{position:absolute!important;left:0;top:0;bottom:0;width:0;min-height:0!important;
  padding:0!important;background:var(--ec-gold);transition:width .18s linear}

/* Zeilenliste: aktive Zeile hell, übrige gedimmt (Prototyp) */
.ec-zeilen .ec-zeile{opacity:.26;transition:opacity .5s ease,padding .4s ease}
.ec-zeilen .ec-zeile.ec-aktiv,.ec-zeilen .ec-zeile:hover{opacity:1}

/* Automatisch eingeblendete Inhalte (Klasse setzt elbconcept.js) */
.ec-auto{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.ec-auto.ec-an{opacity:1;transform:none}

body.elementor-editor-active .ec-e-kick,body.elementor-editor-active .ec-e-lead,body.elementor-editor-active .ec-e-zahl,
body.elementor-editor-active .ec-e-striche,body.elementor-editor-active .ec-e-unten,body.elementor-editor-active .ec-auto{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .ec-kopfleiste,.ec-e-kick,.ec-e-lead,.ec-e-zahl,.ec-e-striche,.ec-e-unten,.ec-auto,.ec-schritt{opacity:1!important;transform:none!important}
  .ec-e-kick .elementor-widget-divider{clip-path:none}
  .ec-buehne.ec-schein::before{opacity:1;transform:translate(-50%,-50%)}
  .ec-e-unten .elementor-heading-title::after{animation:none}
}

/* ============================================================
   Fassung 7 — Ergänzungen aus dem GF-Durchgang (08.10.2026)
   Selektoren gegenüber dem Masterprompt auf .elementor-widget.ec-btn
   angehoben, sonst gewinnt die Button-Regel aus Abschnitt 11.
   ============================================================ */

/* Buttons plakativer — Beschluss GF 01.10.2026 */
.ec-b{font-size:calc(17px * var(--ec-f-text))}
.elementor-widget.ec-btn .elementor-button,.elementor-widget.ec-btn-2 .elementor-button,
.ec-btn>a,.ec-btn-2>a,a.ec-btn,a.ec-btn-2{padding:20px 36px;min-height:0;font-size:calc(17px * var(--ec-f-text))}
@media(max-width:767px){
  .elementor-widget.ec-btn .elementor-button,.elementor-widget.ec-btn-2 .elementor-button,
  .ec-btn>a,.ec-btn-2>a,a.ec-btn,a.ec-btn-2{padding:17px 26px;width:100%;justify-content:center}
}

/* Goldener Stern — die einzige Icon-Ausnahme.
   Schriftzeichen, keine Icon-Bibliothek, kein Bild. */
.ec-stern{color:var(--ec-gold);line-height:1;margin-left:.22em;font-size:.92em}
.ec-stern[aria-hidden]{speak:none}

/* Partnerlogos stehen auf weißer Fläche. */
.ec-partnerflaeche{background:var(--ec-weiss);padding:var(--r6);display:flex;
  flex-wrap:wrap;gap:var(--r6);align-items:center;justify-content:center}
.ec-partnerflaeche img{max-width:100%;height:auto}
.ec-badge{background:var(--ec-weiss);padding:var(--r5);display:inline-flex}

/* Kundenstimmen 2 x 2 */
.ec-stimmen{display:grid;gap:var(--r6);grid-template-columns:1fr}
@media(min-width:768px){.ec-stimmen{grid-template-columns:1fr 1fr}}

/* ============================================================
   16 · Bühne auf allen Seiten gleich — Werte der Startseite
   (GF-Anpassung im Editor, per Klasse übernommen 08.10.2026).
   Keine Typo und kein Layout mehr im Widget.
   ============================================================ */
.e-con.ec-buehne{--min-height:0px;min-height:0;--justify-content:center;justify-content:center;
  --padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;padding:150px 0}
/* mobil 50 px Luft — gemessen unter der fixierten Kopfleiste */
@media(max-width:767px){
  .e-con.ec-buehne{--padding-top:calc(var(--ec-kopfhoehe) + 32px);--padding-bottom:50px;
    padding:calc(var(--ec-kopfhoehe) + 32px) 0 50px}
}
.ec-buehne .e-con.ec-inhalt{--width:80%;width:80%;max-width:1120px;margin-inline:auto}
.ec-buehne .ec-d1{font-size:calc(55px * var(--ec-f-display))}
.ec-buehne .ec-z2{font-size:calc(30px * var(--ec-f-display))}
.ec-buehne .ec-e-zahl>.e-con{--width:25%;width:25%}
@media(max-width:1024px){.ec-buehne .ec-d1{font-size:calc(40px * var(--ec-f-display))}}
@media(max-width:767px){
  .ec-buehne .ec-d1{font-size:calc(30px * var(--ec-f-display))}
  .ec-buehne .ec-z2{font-size:calc(25px * var(--ec-f-display))}
  .ec-buehne .ec-e-zahl>.e-con{--width:100%;width:100%}
}

/* ============================================================
   17 · Fassung 7 — Bausteine der Startseite (08.10.2026)
   ============================================================ */

/* Platzhalter im Seitenverhältnis 3:2 */
.ec-3zu2{aspect-ratio:3/2;width:100%}

/* Kundenstimmen 2 x 2 — Elementor-Container auf Raster umstellen */
.e-con.ec-stimmen{--display:grid;display:grid;gap:var(--r7) var(--r6)}
.ec-stimmen>.e-con{--width:100%;width:100%;min-width:0}
.ec-stimmen .ec-zitat{margin:var(--r3) 0 0}
.ec-stimmen .ec-gold-flaeche{align-self:flex-start}

/* FCM: zwei Logos auf weißer Fläche, Breiten etwa 3 : 2 */
.e-con.ec-fcm-flaeche{--flex-wrap:nowrap;align-items:center}
.ec-fcm-flaeche>.elementor-widget{min-width:0;max-width:none}
.ec-fcm-flaeche>.ec-fcm-gross{flex:3 1 0}
.ec-fcm-flaeche>.ec-fcm-klein{flex:2 1 0}
.ec-fcm-flaeche img{width:100%;height:auto;display:block}
@media(max-width:767px){
  .e-con.ec-fcm-flaeche{--flex-direction:column;flex-direction:column}
  .ec-fcm-flaeche>.ec-fcm-gross,.ec-fcm-flaeche>.ec-fcm-klein{flex:0 0 auto;width:100%}
  .ec-fcm-flaeche>.ec-fcm-klein{width:70%}
}

/* Kundenlogowand: Überschrift links, Platzhalter volle Breite */
.e-con.ec-kundenwand{align-items:stretch;justify-content:flex-start;gap:var(--r5)}
.ec-kundenwand>.e-con{--width:100%;width:100%}

/* Textlink zur digitalfabrik */
.ec-textlink a{color:var(--ec-navy);text-decoration:underline;text-underline-offset:.2em}
.ec-textlink a:hover{text-decoration-thickness:2px}

/* Award-Leiste auf Navy: Logo auf weißer Fläche */
.e-con.ec-award{align-items:center;gap:var(--r6);flex-wrap:wrap}
.ec-badge img{display:block;width:260px;max-width:100%;height:auto}
@media(max-width:767px){.e-con.ec-award{--flex-direction:column;flex-direction:column;align-items:flex-start}}

/* Wortmarke 28 px hoch — Kopfleiste, Menü und Fuß */
.elementor-widget.ec-logo img{height:28px;width:auto;max-width:none}

/* Bildöffnung mobil: Text steht unter dem Foto — dort bleibt Navy Tief,
   damit die weiße Schrift lesbar bleibt (Desktop: Fläche Sand). */
@media(max-width:767px){.ec-oe-kleber{background:var(--ec-navy-tief)}}

/* 17b · Nachträge nach Sichtprüfung */
/* Stern bleibt gold — die Wrapper-Regel aus 1b setzt sonst color:inherit */
.elementor-widget .elementor-heading-title .ec-stern{color:var(--ec-gold)}
/* Award: Logofläche nur so breit wie das Logo */
.ec-award>.e-con.ec-badge{--width:auto;width:auto;flex:0 0 auto}
/* Wortmarke: Seitenverhältnis fest, falls die SVG keine Maße mitbringt */
.elementor-widget.ec-logo img{aspect-ratio:622/166}
/* Große Zahl: Pluszeichen hochgestellt — auf hellem Grund Navy, auf dunklem Gold */
.ec-z1 .elementor-counter-number-wrapper{font:inherit;letter-spacing:inherit;line-height:inherit;justify-content:flex-start}
.ec-z1 .elementor-counter-number-suffix{font-size:.19em;vertical-align:super;align-self:flex-start;color:var(--ec-navy);margin-left:.04em}
.ec-auf-dunkel .ec-z1 .elementor-counter-number-suffix{color:var(--ec-gold)}
/* Sternreihe über der Bewertung */
.ec-sterne .elementor-heading-title{letter-spacing:.14em}
/* Kicker mobil: eine Zeile — Text darf umbrechen, Goldlinie füllt den Rest */
@media(max-width:767px){
  .e-con.ec-e-kick{--flex-wrap:nowrap;flex-wrap:nowrap}
  .ec-e-kick>.elementor-widget-heading{flex:0 1 auto;min-width:0}
  .ec-e-kick>.elementor-widget-divider{flex:1 1 24px;min-width:24px}
  .ec-e-kick>.elementor-widget-divider ~ .elementor-widget-divider{display:none}
}

/* 18 · Rückmeldung GF/Charlotte 08.10.2026 */
/* Kein Maus-Symbol mehr in der Bühnen-Fußzeile */
.ec-e-unten .elementor-heading-title::after{content:none;display:none}
/* Wortmarke größer: 40 px, mobil 34 px */
.elementor-widget.ec-logo img{height:40px}
@media(max-width:767px){.elementor-widget.ec-logo img{height:34px}}
/* Beweis auf den Leistungsseiten: nichts klebt, nichts schiebt sich über die Zahl */
.ec-kleber{position:relative;top:auto;padding:var(--r9) 0 var(--r7)}
.ec-ueberkleber{position:relative;z-index:auto}
@media(max-width:767px){.ec-kleber{padding:var(--r8) 0 var(--r6)}}
/* FCM-Logos ohne weiße Fläche — die Schilder bringen ihren eigenen Grund mit */
.ec-partnerflaeche.ec-fcm-flaeche{background:transparent;padding:0}
/* Keine Unterstreichungen — Links zeigen sich über Farbe und Hover */
.ec-inhalt a,.ec-textlink a,.ec-e-kick a{text-decoration:none!important}
.ec-inhalt a:hover,.ec-textlink a:hover,.ec-e-kick a:hover{text-decoration:none!important;opacity:.72}

/* 19 · Startseite nachgeschärft (Rückmeldung 08.10.2026) */
/* Bildöffnung: kürzerer Scrollweg */
@media(min-width:768px){.ec-oe{height:130svh}}
/* Kundenstimmen kompakt: Bild links, Zitat rechts */
.e-con.ec-stimme{--flex-direction:row;flex-direction:row;align-items:flex-start;gap:var(--r5)}
.ec-stimme>.ec-platzhalter{--width:42%;width:42%;flex:0 0 42%}
.ec-stimme>.ec-stimme-text{flex:1 1 0;min-width:0}
.ec-stimme .ec-zitat{margin:0}
@media(max-width:767px){
  .e-con.ec-stimme{--flex-direction:column;flex-direction:column}
  .ec-stimme>.ec-platzhalter{--width:100%;width:100%;flex:0 0 auto}
}
/* Partnerblock: zwei Spalten je Zeile */
.e-con.ec-zweispalt{--flex-direction:row;flex-direction:row;align-items:center;gap:var(--r7)}
.ec-zweispalt>.e-con:first-child{--width:36%;width:36%;flex:0 0 36%}
.ec-zweispalt>.e-con:last-child{flex:1 1 0;min-width:0}
@media(max-width:767px){
  .e-con.ec-zweispalt{--flex-direction:column;flex-direction:column;align-items:flex-start;gap:var(--r5)}
  .ec-zweispalt>.e-con:first-child,.ec-zweispalt>.e-con:last-child{--width:100%;width:100%;flex:0 0 auto}
}
/* Kundenlogowand als schlanke Zeile */
.e-con.ec-kundenwand{background:transparent;padding:0;align-items:stretch;gap:var(--r4)}
.ec-kundenwand .ec-platzhalter{--padding-top:20px;--padding-bottom:20px;padding-top:20px!important;padding-bottom:20px!important}
/* Textlink auf dunklem Grund */
.ec-auf-dunkel .ec-textlink a{color:var(--ec-weiss)}

/* 20 · Kundenvideos — Standbild 3:2, Video läuft im selben Rahmen */
.ec-video{margin:0;position:relative;aspect-ratio:3/2;width:100%;background:var(--ec-navy-tief);overflow:hidden}
.ec-video-start{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}
.ec-video-start img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.ec-video-start:hover img,.ec-video-start:focus-visible img{transform:scale(1.03)}
.ec-video-start:focus-visible{outline:2px solid var(--ec-gold);outline-offset:3px}
.ec-video-hinweis{position:absolute;left:0;bottom:0;background:var(--ec-navy-tief);color:var(--ec-weiss);
  font-size:calc(12px * var(--ec-f-display));letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:10px 14px}
.ec-video video{display:block;width:100%;height:100%;object-fit:contain;background:#000}

/* 21 · Überarbeitung nach Apple-Design-Prüfung (08.10.2026) */
/* Ausgeblendet, bis Inhalt freigegeben ist — im Editor sichtbar, aber blass */
.ec-ausgeblendet{display:none!important}
body.elementor-editor-active .ec-ausgeblendet{display:flex!important;opacity:.35;outline:1px dashed var(--ec-gold)}
/* Kopfleiste sofort da — Orientierung vor Effekt */
.ec-kopfleiste{opacity:1;transform:none;transition:min-height .35s cubic-bezier(.22,1,.36,1),top .2s linear}
/* Buttons reagieren beim Drücken, nicht erst beim Loslassen */
.elementor-widget.ec-btn .elementor-button:active,.elementor-widget.ec-btn-2 .elementor-button:active,
.ec-video-start:active img{transform:scale(.97);transition:transform .1s ease-out}
@media (prefers-reduced-motion: reduce){
  .elementor-widget.ec-btn .elementor-button:active,.elementor-widget.ec-btn-2 .elementor-button:active{transform:none}
}
/* Bildöffnung: kein Leerlauf nach dem Andocken */
@media(min-width:768px){.ec-oe{height:115svh}}
/* Hero mobil volle Breite */
@media(max-width:767px){.ec-buehne .e-con.ec-inhalt{--width:100%;width:100%}}
/* Fotos im 3:2-Rahmen */
.ec-bild-3zu2 img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
/* Team: solange eine Karte ausgeblendet ist, drei Spalten statt Lücke */
@media(min-width:1025px){.e-con.ec-team:has(> .ec-ausgeblendet){--e-con-grid-template-columns:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}}
/* Kopfleiste und Menü ohne Unterstreichung */
.ec-kopfleiste a,.ec-kopfleiste a *,.elementor-location-header a{text-decoration:none!important}

/* 22 · Werte als Akrostichon — die goldenen Buchstaben ergeben ETHOS.
   Drei Spalten: Wortanfang rechtsbündig | Buchstabe | Wortende linksbündig,
   damit die Buchstaben eine senkrechte Linie bilden. */
.ec-ethos{list-style:none;margin:var(--r7) 0 0;padding:0;display:grid;grid-template-columns:max-content max-content max-content;
  justify-content:center;row-gap:.06em;font-size:calc(64px * var(--ec-f-display));line-height:1.08;
  letter-spacing:calc(-.03em + var(--ec-lw-plus));font-weight:400;color:var(--ec-hell)}
.ec-ethos li{display:contents}
.ec-ethos-vor{text-align:right}
.ec-ethos-nach{text-align:left}
.ec-ethos b{font-weight:500;color:var(--ec-gold);text-align:center}
:not(.ec-auf-dunkel) > .ec-inhalt .ec-ethos{color:var(--ec-navy)}
@media(max-width:1024px){.ec-ethos{font-size:calc(46px * var(--ec-f-display))}}
@media(max-width:767px){.ec-ethos{font-size:calc(26px * var(--ec-f-display));margin-top:var(--r5)}}

/* === 23 · Netzwerk-Karten, Award mit Rand (09.10.2026) === */
.e-con.ec-netz{--display:grid;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--r7);align-items:start}
.e-con.ec-netz-karte{--gap:var(--r3);gap:var(--r3);border-top:1px solid rgba(255,255,255,.18);padding-top:var(--r5)}
.ec-netz-karte .ec-fcm-flaeche{margin-top:var(--r4)}
.e-con.ec-netz-kopf{margin-bottom:var(--r7)}
@media(max-width:767px){.e-con.ec-netz{grid-template-columns:minmax(0,1fr);gap:var(--r7)}}
.e-con.ec-award{--flex-direction:row;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--r8);padding:var(--r8);background:transparent}
.ec-award>.elementor-widget-image{flex:0 0 36%;max-width:36%;width:36%}
.ec-award>.elementor-widget-image img{width:100%;height:auto;display:block}
.ec-award>.e-con{flex:1 1 0;min-width:0;--gap:var(--r3);gap:var(--r3)}
@media(max-width:1024px){.e-con.ec-award{gap:var(--r6);padding:var(--r7)}}
@media(max-width:767px){.e-con.ec-award{--flex-direction:column;flex-direction:column;align-items:flex-start;padding:var(--r6) var(--r5)}
  .ec-award>.elementor-widget-image{flex:0 0 auto;max-width:80%;width:80%}}

/* === 24 · Case Study unter der Bühne (09.10.2026) === */
.e-con.ec-cs-drei{--display:grid;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--r7);margin-top:var(--r4)}
.e-con.ec-cs-drei>.e-con{--gap:var(--r3);gap:var(--r3);border-top:1px solid var(--ec-linie);padding-top:var(--r4)}
.e-con.ec-cs-zahlen{--display:grid;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--r7);margin-top:var(--r5)}
.e-con.ec-cs-zahlen>.e-con{--gap:var(--r2);gap:var(--r2)}
@media(max-width:767px){.e-con.ec-cs-drei,.e-con.ec-cs-zahlen{grid-template-columns:minmax(0,1fr);gap:var(--r5)}}

/* === 25 · FCM-Badges gleich groß (21.10.2026) === */
.ec-fcm-flaeche>.ec-fcm-gross,.ec-fcm-flaeche>.ec-fcm-klein{flex:1 1 0;width:auto;max-width:none}
@media(max-width:767px){.e-con.ec-fcm-flaeche{--flex-direction:row;flex-direction:row}
  .ec-fcm-flaeche>.ec-fcm-gross,.ec-fcm-flaeche>.ec-fcm-klein{flex:1 1 0;width:auto}}

/* === 26 · Leistungsliste mit Kurztext (21.10.2026) === */
.ec-zeile .ec-zeile-text{display:flex;flex-direction:column;gap:var(--r2);min-width:0}
.ec-zeile .ec-zeile-kurz{max-width:60ch;opacity:.72}

/* === 27 · Leistungsliste als Register: große Ziffern, alles lesbar, kein Einrücken (21.10.2026) === */
.ec-zeilen .ec-zeile,.ec-zeilen .ec-zeile:hover,.ec-zeilen .ec-zeile.ec-aktiv{opacity:1;padding-left:0;transition:transform .1s ease-out}
.ec-zeile .ec-nr{min-width:1.6em;font-variant-numeric:tabular-nums}
.ec-zeile .ec-zeile-name{color:var(--ec-hell);opacity:.6;transition:opacity .2s ease-out,color .2s ease-out}
.ec-zeile.ec-aktiv .ec-zeile-name,.ec-zeile:hover .ec-zeile-name,.ec-zeile:focus-visible .ec-zeile-name{opacity:1;color:var(--ec-weiss)}
.ec-zeile .ec-zeile-hinweis{margin-left:auto;flex:0 0 auto;align-self:center;opacity:.6;transition:opacity .2s ease-out}
.ec-zeile:hover .ec-zeile-hinweis,.ec-zeile.ec-aktiv .ec-zeile-hinweis,.ec-zeile:focus-visible .ec-zeile-hinweis{opacity:1}
.ec-zeilen .ec-zeile:active{transform:scale(.99)}
.ec-zeilen .ec-zeile:active .ec-zeile-name{opacity:1;color:var(--ec-weiss)}
@media(max-width:767px){.ec-zeile{gap:var(--r4)}}
@media(prefers-reduced-motion:reduce){.ec-zeilen .ec-zeile:active{transform:none}}

/* === 28 · Videos in den Kundenstimmen (21.10.2026) === */
.ec-stimme>.ec-stimme-video{--width:42%;width:42%;flex:0 0 42%}
@media(max-width:767px){.ec-stimme>.ec-stimme-video{--width:100%;width:100%;flex:0 0 auto}}
.e-con.ec-stimme:has(>.ec-stimme-video){--flex-direction:column;flex-direction:column;gap:var(--r4)}
.ec-stimme>.ec-stimme-video{--width:100%;width:100%;flex:0 0 auto}

/* === 29 · Unterseiten-Bühne volle Höhe, Case Study neu (21.10.2026) === */
.e-con.ec-buehne{--min-height:100svh;min-height:100svh;--justify-content:center;justify-content:center}
@media(max-width:767px){.e-con.ec-buehne{--min-height:100svh;min-height:100svh}}
.e-con.ec-cs-zahlen.ec-cs-oben{margin-top:var(--r4);gap:var(--r6)}
.e-con.ec-cs-zeilen{--gap:0;gap:0;margin-top:var(--r6);border-bottom:1px solid var(--ec-linie)}
.e-con.ec-cs-zeile{--flex-direction:row;flex-direction:row;align-items:baseline;gap:var(--r6);border-top:1px solid var(--ec-linie);padding:var(--r4) 0}
.ec-cs-zeile>.elementor-widget:first-child{flex:0 0 160px;width:160px}
.ec-cs-zeile>.elementor-widget:last-child{flex:1 1 0;min-width:0}
@media(max-width:767px){.e-con.ec-cs-zeile{--flex-direction:column;flex-direction:column;gap:var(--r2)}
  .ec-cs-zeile>.elementor-widget:first-child{flex:0 0 auto;width:auto}}

/* === 30 · FAQ-Fragen in H4-Stufe (21.10.2026) === */
.ec-faq .elementor-tab-title{font-size:calc(20px * var(--ec-f-display));line-height:1.34;letter-spacing:calc(-.010em + var(--ec-lw-plus));font-weight:500}

/* === 31 · Startseite: "Was dahinter steckt" auf Navy, Netzwerk auf Sand (21.10.2026) === */
.ec-auf-navy .ec-karte{background:var(--ec-navy-hover);border-top-color:rgba(255,255,255,.12)}
.ec-auf-navy .ec-t,.ec-auf-navy .ec-l{color:var(--ec-hell)}
.ec-auf-sand .e-con.ec-netz-karte{border-top-color:var(--ec-linie)}
.ec-auf-sand .ec-textlink a{color:var(--ec-navy)}
.e-con.ec-trenner-oben{border-top:1px solid var(--ec-linie)}

/* === 32 · Kontaktformular im Rahmen (21.10.2026) === */
.e-con.ec-form-rahmen{border:1px solid rgba(255,255,255,.18);--gap:0px;gap:0;align-items:stretch}
.ec-form-rahmen>.e-con:first-child{padding:var(--r7)}
.ec-form-rahmen>.e-con:last-child{--gap:0px;gap:0}
.ec-form-rahmen>.e-con:last-child>.ec-bild-3zu2{flex:1 1 auto;display:flex}
.ec-form-rahmen>.e-con:last-child>.ec-bild-3zu2>*,.ec-form-rahmen>.e-con:last-child>.ec-bild-3zu2 img{height:100%}
.ec-form-rahmen>.e-con:last-child>.ec-bild-3zu2 img{aspect-ratio:auto;min-height:100%}
.ec-form-rahmen>.e-con:last-child>.elementor-widget:last-child{padding:var(--r5) var(--r7)}
.ec-form-rahmen .ec-form .elementor-field-group{margin-bottom:var(--r5)}
@media(max-width:767px){.e-con.ec-form-rahmen{border:0;--gap:var(--r6);gap:var(--r6)}
  .ec-form-rahmen>.e-con:first-child{padding:0}
  .ec-form-rahmen>.e-con:last-child>.ec-bild-3zu2 img{aspect-ratio:3/2;height:auto;min-height:0}
  .ec-form-rahmen>.e-con:last-child>.elementor-widget:last-child{padding:var(--r4) 0 0}}

/* === 33 · Team als Liste ohne Fotos (21.10.2026) === */
.e-con.ec-team-liste{--display:grid;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--r7);row-gap:var(--r7);margin-top:var(--r4)}
.e-con.ec-person{--gap:var(--r2);gap:var(--r2);border-top:1px solid rgba(255,255,255,.18);padding-top:var(--r5)}
.ec-person .ec-person-abschluss{margin-top:var(--r2)}
@media(max-width:1024px){.e-con.ec-team-liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.e-con.ec-team-liste{grid-template-columns:minmax(0,1fr);row-gap:var(--r6)}}

/* === 34 · Bewertung immer einzeilig (22.10.2026) === */
.ec-einzeilig .elementor-heading-title{white-space:nowrap}
@media(min-width:768px){.e-con.ec-spalte-auto{--width:auto;width:auto;flex:0 0 auto;max-width:none}}

/* === 35 · Award-Karte auf dunklem Abschnitt (23.10.2026) === */
.ec-award .ec-textlink a{color:var(--ec-navy)}

/* === 36 · Bewertungswand in drei Spalten (23.10.2026) === */
.e-con.ec-rezensionen{--display:grid;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--r7);row-gap:var(--r7);align-items:start;margin-top:var(--r7)}
.e-con.ec-rezension{--gap:var(--r3);gap:var(--r3);border-top:1px solid rgba(255,255,255,.18);padding-top:var(--r5)}
@media(max-width:1024px){.e-con.ec-rezensionen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.e-con.ec-rezensionen{grid-template-columns:minmax(0,1fr);row-gap:var(--r6);margin-top:var(--r6)}}

/* === 37 · Rezensionen auf Sand (23.10.2026) === */
.ec-auf-sand .e-con.ec-rezension{border-top-color:var(--ec-linie)}

/* === 38 · Rezensionen ausklappbar (23.10.2026) === */
.e-con.ec-rezensionen.ec-zu>.ec-rezension:nth-child(n+7){display:none}
.ec-mehr-wrap{margin-top:var(--r6)}
button.ec-mehr{background:none;border:0;padding:0;margin:0;color:var(--ec-navy);font-weight:500;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
button.ec-mehr:hover{text-decoration-thickness:2px;background:none;color:var(--ec-navy)}
button.ec-mehr:focus-visible{outline:2px solid var(--ec-navy);outline-offset:3px}

/* === 39 · Ausklappen weich, Zahlenbloecke ohne Farbsprung, Werteliste (23.10.2026) === */
.e-con.ec-ueberkleber,.ec-auf-dunkel.ec-ueberkleber{background:transparent}
.e-con.ec-rezensionen{transition:max-height .6s cubic-bezier(.22,1,.36,1)}
.e-con.ec-rezensionen.ec-gekappt{overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 200px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 200px),transparent)}
.ec-mehr-wrap{display:flex;justify-content:center;margin-top:var(--r5)}
button.ec-mehr{border:1px solid rgba(34,38,76,.32);padding:14px 28px;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .1s ease-out}
button.ec-mehr:hover,button.ec-mehr:focus-visible{background:var(--ec-navy);color:var(--ec-weiss);border-color:var(--ec-navy);text-decoration:none}
button.ec-mehr:active{transform:scale(.98)}
button.ec-mehr::after{content:"+";display:inline-block;margin-left:12px;font-weight:400;transition:transform .35s cubic-bezier(.22,1,.36,1)}
button.ec-mehr[aria-expanded="true"]::after{transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.e-con.ec-rezensionen,button.ec-mehr::after{transition:none}}
.ec-werte{list-style:none;margin:var(--r6) 0 0;padding:0;border-bottom:1px solid var(--ec-linie)}
.ec-werte li{border-top:1px solid var(--ec-linie);padding:var(--r4) 0;margin:0;color:var(--ec-navy)}

/* === 40 · Ausklappen ohne Verzoegerung (23.10.2026) === */
.e-con.ec-rezensionen{transition-delay:0s!important}

/* === 41 · Ausklapp-Knopf nie im Theme-Rot (27.10.2026) === */
button.ec-mehr,button.ec-mehr:focus,button.ec-mehr:active{background:transparent;color:var(--ec-navy);border-color:rgba(34,38,76,.32)}
button.ec-mehr:hover,button.ec-mehr:focus-visible{background:var(--ec-navy);color:var(--ec-weiss);border-color:var(--ec-navy)}

/* === 42 · KI-Schulungsseite: Portraet 4:5, Indexzeilen auf Dunkel, Passwortformular (27.10.2026) === */
.e-con.ec-4zu5{aspect-ratio:4/5;height:auto}
.ec-auf-dunkel .e-con.ec-cs-zeilen{border-bottom-color:rgba(255,255,255,.18)}
.ec-auf-dunkel .e-con.ec-cs-zeile{border-top-color:rgba(255,255,255,.18)}
.post-password-form{background:var(--ec-navy-tief);color:var(--ec-weiss);margin:0;padding:var(--r10) max(24px,calc((100vw - 1136px) / 2));min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:var(--r5)}
.post-password-form p{margin:0;max-width:60ch;color:var(--ec-hell);font-size:calc(18px * var(--ec-f-text));line-height:1.5}
.post-password-form p:last-child{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}
.post-password-form label{display:flex;flex-direction:column;gap:8px;color:var(--ec-grau-dunkel);font-size:calc(13px * var(--ec-f-display));letter-spacing:.12em;text-transform:uppercase}
.post-password-form input[type="password"]{background:transparent;border:1px solid var(--ec-grau-ui);border-radius:0;color:var(--ec-weiss);padding:16px 18px;min-width:280px;font:inherit;font-size:calc(17px * var(--ec-f-text));letter-spacing:0;text-transform:none}
.post-password-form input[type="password"]:focus{border-color:var(--ec-gold);outline:2px solid var(--ec-gold);outline-offset:2px}
.post-password-form input[type="submit"]{background:var(--ec-gold);border:1px solid var(--ec-gold);border-radius:0;color:var(--ec-navy-tief);padding:18px 32px;font:inherit;font-size:calc(17px * var(--ec-f-text));font-weight:500;cursor:pointer}
.post-password-form input[type="submit"]:hover,.post-password-form input[type="submit"]:focus{background:#c9b683;border-color:#c9b683;color:var(--ec-navy-tief)}

/* === 43 · Passwortfenster volle Breite (27.10.2026) === */
.post-password-form{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);box-sizing:border-box}

/* === 44 · Passwortfenster ohne Querscrollen durch Scrollbalken (27.10.2026) === */
body:has(.post-password-form){overflow-x:clip}

/* === 45 · Werte als Mesostichon, ruhig: Buchstaben ergeben senkrecht ETHOS (27.10.2026) === */
.ec-ethos2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content max-content max-content;justify-content:center;row-gap:0;
  font-size:calc(34px * var(--ec-f-display));line-height:1.55;letter-spacing:calc(-.02em + var(--ec-lw-plus));font-weight:400;color:var(--ec-grau-ui)}
.ec-ethos2 li{display:contents}
.ec-ethos2 .v{text-align:right}
.ec-ethos2 .n{text-align:left}
.ec-ethos2 b{display:block;text-align:center;font-weight:500;color:var(--ec-navy);background:var(--ec-weiss);padding:0 .14em}
.ec-ethos2 li:first-child b{padding-top:.1em}
.ec-ethos2 li:last-child b{padding-bottom:.1em}
@media(max-width:1024px){.ec-ethos2{font-size:calc(28px * var(--ec-f-display))}}
@media(max-width:767px){.ec-ethos2{font-size:calc(22px * var(--ec-f-display))}}

/* 45b · Woerter durchgehend lesbar: kein Abstand, kein Band, ETHOS nur ueber Farbe und Gewicht */
.ec-ethos2 b,.ec-ethos2 li:first-child b,.ec-ethos2 li:last-child b{background:none;padding:0}
.ec-ethos2{color:#b9b9c1}
/* 45c · Lesbarkeit: Restbuchstaben in Grau Bedienelement (Kontrast 3,4:1) */
.ec-ethos2{color:var(--ec-grau-ui)}


/* === 46 · Teamfotos (28.10.2026) === */
.e-con.ec-person{border-top:0;padding-top:0}
.ec-person .ec-person-foto{margin-bottom:var(--r3)}
.ec-person .ec-person-foto img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:0}
@media(max-width:767px){.e-con.ec-team-liste{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--r4);row-gap:var(--r6)}}
/* 46b · lange Wörter in Teamkarten */
.e-con.ec-person{min-width:0}
.ec-person .elementor-widget-container,.ec-person p,.ec-person h3{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}


/* === 47 · Rückmeldung 29.10.2026 === */
/* 47a · Große Zahlen linksbündig, auf der Kante von Kennzeile und Text (alle Seiten) */
.ec-kleber{text-align:left}
.ec-kleber .elementor-widget-counter .elementor-counter{justify-content:flex-start;text-align:left}
.ec-kleber .elementor-counter-number-wrapper{justify-content:flex-start}
/* 47b · Bühnen-Fußzeile mit Links zu den fünf Bereichen */
.ec-e-unten a{color:inherit;text-decoration:none;transition:color .2s}
.ec-e-unten a:hover,.ec-e-unten a:focus-visible{color:var(--ec-weiss)}
/* 47c · Ethos: Versalien mit Laufweite, Achse mittig in der Spalte, Werte lesbar */
.ec-ethos2{width:100%;grid-template-columns:1fr auto 1fr;justify-content:stretch;text-transform:uppercase;
  font-size:calc(20px * var(--ec-f-display));line-height:2.1;letter-spacing:.16em;font-weight:400;color:var(--ec-grau-text)}
.ec-ethos2 .v{text-align:right;padding-right:.08em}
.ec-ethos2 .n{text-align:left;padding-left:.08em}
.ec-ethos2 b{font-weight:600;color:var(--ec-navy);letter-spacing:0;padding:0 .16em}
@media(max-width:1024px){.ec-ethos2{font-size:calc(18px * var(--ec-f-display))}}
@media(max-width:767px){.ec-ethos2{font-size:calc(15px * var(--ec-f-display));letter-spacing:.12em;line-height:2}}
/* 47d · Fußzeile: Links nebeneinander statt verteilt */
.ec-e-unten .elementor-heading-title{display:block;white-space:normal}
.ec-e-unten a{white-space:nowrap}
/* 47e · Zähler: Präfix/Suffix dürfen nicht wachsen, sonst rutscht die Zahl in die Mitte */
.ec-z1 .elementor-counter-number-prefix,.ec-z1 .elementor-counter-number-suffix{flex-grow:0}
.ec-z1 .elementor-counter-number-wrapper{text-align:left}
/* 47f · Ethos: Achsenbuchstaben ohne Extra-Abstand, Wörter bleiben geschlossen */
.ec-ethos2 b{letter-spacing:inherit;padding:0}
.ec-ethos2 .v,.ec-ethos2 .n{padding:0}


/* === 49 · 29.10.2026 === */
.ec-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:0}
.ec-form-hinweis{margin:0;font-size:14px;line-height:1.5;color:var(--ec-grau-dunkel)}
.ec-form-hinweis a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ec-form .elementor-field-type-html .ec-form-hinweis,.ec-form .elementor-field-type-html .ec-form-hinweis *{font-size:14px;font-weight:400;line-height:1.5;color:var(--ec-grau-dunkel)}


/* === 50 · Bildöffnung Startseite: Text unten links wie ein Filmtitel, Gesichter frei (29.10.2026) ===
   Ersetzt die Ausnahme vom 24.09.2026 (Text mittig auf den Gesichtern). */
@media(min-width:768px){
  .ec-oe-kleber{justify-content:flex-end;align-items:stretch}
  .ec-oe-worte{align-self:flex-start;align-items:flex-start;text-align:left;max-width:none;width:100%;box-sizing:border-box;
    padding:0 max(28px,calc((100% - 1200px)/2 + 28px)) var(--r7)}
  .ec-oe-worte .elementor-heading-title,.ec-oe-worte .elementor-widget-text-editor,.ec-oe-worte p{text-align:left}
  .ec-oe-worte .elementor-widget.ec-l{max-width:40ch;margin:0}
  .ec-oe-worte .ec-l{margin-inline:0}
  .ec-oe-schleier{background:linear-gradient(180deg,rgba(23,26,53,.4) 0%,rgba(23,26,53,0) 26%,rgba(23,26,53,0) 44%,rgba(23,26,53,.88) 76%,rgba(23,26,53,.97) 100%)}
}
.ec-oe-worte,.ec-oe-worte .elementor-heading-title,.ec-oe-worte p{text-align:left}
@media(min-width:768px){.ec-oe-worte>.elementor-widget-text-editor.ec-l,.ec-oe-worte .elementor-widget-text-editor.ec-l{max-width:46ch!important;width:auto!important;margin:0!important}}

/* === 51 · Erfolgsgeschichten mit Foto wie Videokarten: Bild oben, Text darunter (29.10.2026) === */
.e-con.ec-stimme:has(>.ec-stimme-foto){--flex-direction:column;flex-direction:column;gap:var(--r4)}
.ec-stimme>.ec-stimme-foto{--width:100%;width:100%;flex:0 0 auto}
.ec-stimme-foto img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0}

/* === 52 · Startseite: Geschichten kompakter als die Videos, Kundenlogowand (29.10.2026) === */
@media(min-width:768px){
  .e-con.ec-stimme:has(>.ec-stimme-foto-klein){--flex-direction:row;flex-direction:row;align-items:flex-start;gap:var(--r5)}
  .ec-stimme>.ec-stimme-foto-klein{--width:42%;width:42%;flex:0 0 42%}
}
.e-con.ec-kundenwand{--gap:var(--r5);gap:var(--r5);margin-top:var(--r8);padding-top:var(--r6);border-top:1px solid rgba(255,255,255,.14)}
.e-con.ec-kunden-raster{--display:grid;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;width:100%}
.ec-kunden-raster>.elementor-widget{width:100%;margin:0}
.ec-kundenlogo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;opacity:.82;transition:opacity .25s}
.ec-kundenlogo:hover img{opacity:1}
@media(max-width:1024px){.e-con.ec-kunden-raster{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.e-con.ec-kunden-raster{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* === 53 · 29.10.2026 === */
/* 53a · Kundenstimmen: Zitat unter den Videos ruhiger */
.ec-stimmen .ec-zitat-klein .elementor-widget-text-editor p{font-size:calc(18px * var(--ec-f-text));line-height:1.55;letter-spacing:-.005em}
@media(max-width:767px){.ec-stimmen .ec-zitat-klein .elementor-widget-text-editor p{font-size:calc(17px * var(--ec-f-text))}}
/* 53b · KI-Seite Experte: Porträt schmaler, oben bündig mit der Kennzeile, bleibt beim Lesen stehen */
@media(min-width:768px){
  .e-con.ec-experte{--align-items:flex-start;align-items:flex-start;--gap:var(--r8);gap:var(--r8)}
  .ec-experte>.ec-portrait{flex:0 0 32%;width:32%;max-width:400px;position:sticky;top:calc(var(--ec-kopfhoehe) + var(--ec-adminhoehe) + 32px)}
  .ec-experte>.e-con{flex:1 1 0;--width:auto;width:auto;min-width:0;max-width:680px}
}

/* === 54 · Kundenlogos als gegenläufiges Laufband (30.10.2026) === */
.e-con.ec-kunden-raster.ec-laeuft{--display:block;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ec-laufband{display:flex;flex-direction:column;gap:var(--r3)}
.ec-laufband-reihe{overflow:hidden}
.ec-laufband-spur{display:flex;width:max-content;animation:ec-lauf 55s linear infinite}
.ec-rueckwaerts .ec-laufband-spur{animation-direction:reverse;animation-duration:62s}
.ec-laufband-spur>.elementor-widget{flex:0 0 auto;width:220px!important;margin:0}
.ec-laufband:hover .ec-laufband-spur{animation-play-state:paused}
@keyframes ec-lauf{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.ec-laufband-spur>.elementor-widget{width:150px!important}.ec-laufband-spur{animation-duration:40s}.ec-rueckwaerts .ec-laufband-spur{animation-duration:46s}}
@media(prefers-reduced-motion:reduce){.ec-laufband-spur{animation:none}}

/* 54b KI-Experte mobil: Portrait kompakt */
@media (max-width:767px){.ec-experte>.ec-portrait{position:static;flex:0 0 auto;width:62%!important;max-width:240px}}

/* 55 EU-Leiste im Footer: Logos nebeneinander, linksbuendig */
.ec-eu-leiste>.e-con-inner,.ec-eu-leiste>.ec-inhalt{flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:flex-start!important;gap:var(--r3) var(--r5)}
.ec-eu-leiste .elementor-widget-image{width:auto!important;max-width:100%;flex:0 0 auto;text-align:left}
.ec-eu-leiste .elementor-widget-image img{height:56px!important;width:auto!important;max-width:100%;display:block}
@media (max-width:767px){.ec-eu-leiste .elementor-widget-image img{height:auto!important;width:100%!important;max-width:320px}}

/* 55b EU-Logos im dunklen Footer, ueber der Schlussleiste */
.e-con.ec-eu-logos{display:flex;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:flex-start!important;gap:12px var(--r3);padding:var(--r5) 0 0;margin:0}
.ec-eu-logos .elementor-widget-image{width:auto!important;flex:0 0 auto;margin:0}
.ec-eu-logos .elementor-widget-image img{height:36px!important;width:auto!important;max-width:none;display:block}
.ec-eu-logos a{display:block;opacity:.9;transition:opacity .2s}
.ec-eu-logos a:hover{opacity:1}
@media (max-width:767px){.ec-eu-logos .elementor-widget-image img{height:32px!important}}

/* 56 Formular Registrierung: Auswahlfeld und Optionen wie Textfelder */
.ec-form .elementor-select-wrapper{border:0!important;background:transparent!important;height:auto!important}
.ec-form .elementor-select-wrapper select{height:56px!important;border:1px solid rgb(138,138,138)!important;border-radius:0!important;background-color:#fff!important;padding:0 44px 0 16px!important;font:inherit;color:var(--ec-navy)}
.ec-form .elementor-field-subgroup{gap:8px 28px;padding-top:6px}
.ec-form .elementor-field-option{display:inline-flex;align-items:center;gap:10px;margin:0!important}
.ec-form .elementor-field-option input{accent-color:var(--ec-navy);width:18px;height:18px;margin:0}
.ec-form .elementor-field-option label{font-size:calc(17px*var(--ec-f-text));color:var(--ec-navy)}
.ec-form .elementor-date-field,.ec-form input.flatpickr-input{min-height:56px}

/* 57 EU-Foerderung: Signet (Emblem mind. 1 cm hoch), Plakatraster */
.ec-eu-logos .elementor-widget-image img{height:104px!important}
@media (max-width:767px){.ec-eu-logos .elementor-widget-image img{height:96px!important}}
.ec-signet img{height:120px!important;width:auto!important;max-width:100%}
.e-con.ec-plakate{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--r3)}
.ec-plakate>.elementor-widget-image{width:100%!important;margin:0}
.ec-plakate img{width:100%!important;aspect-ratio:3/4;object-fit:cover;display:block}
@media (max-width:1024px){.e-con.ec-plakate{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 57b Links im Fliesstext auf dunklem Grund */
.ec-auf-dunkel .ec-t a{color:#fff;text-decoration:underline;text-decoration-color:var(--ec-gold);text-underline-offset:4px;text-decoration-thickness:1px;transition:color .2s}
.ec-auf-dunkel .ec-t a:hover{color:var(--ec-gold)}

/* 58 Footer Tablet/Mobil: Marke oben, Spalten nebeneinander, Fussmenue linksbuendig */
@media (max-width:1024px){.e-con.ec-fuss-spalten{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--r6) var(--r4)}.ec-fuss-spalten>.e-con{width:auto!important;max-width:none!important;margin:0!important}.ec-fuss-spalten>.e-con:first-child{grid-column:1/-1}}
@media (max-width:767px){.e-con.ec-fuss-spalten{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--r5) var(--r3)}.ec-fuss-spalten>.e-con:last-child{grid-column:1/-1}.ec-fuss-schluss .elementor-nav-menu{display:flex;flex-wrap:wrap;gap:4px 20px;justify-content:flex-start}.ec-fuss-schluss .elementor-nav-menu>li>a{padding-left:0!important;padding-right:0!important}}

/* 58b Fussmenue mobil ohne Elementor-Einrueckung */
@media (max-width:767px){.ec-fuss-schluss .elementor-nav-menu--main .elementor-nav-menu>li>a{margin:0!important}}

/* 58c Footer mobil: Kontakt rechts unter Unternehmen, unter 360px wieder volle Breite */
@media (min-width:360px) and (max-width:767px){.e-con.ec-fuss-spalten{grid-template-areas:'m m' 'l u' 'l k';align-items:start}.ec-fuss-spalten>.e-con:nth-child(1){grid-area:m}.ec-fuss-spalten>.e-con:nth-child(2){grid-area:l}.ec-fuss-spalten>.e-con:nth-child(3){grid-area:u}.ec-fuss-spalten>.e-con:nth-child(4){grid-area:k;grid-column:auto}}

/* 59 Rechtstexte (Impressum, Datenschutz) */
.ec-recht{max-width:72ch;color:var(--ec-navy);font-family:var(--ec-f-text,inherit)}
.ec-recht p,.ec-recht li{font-size:calc(17px*var(--ec-f-text));line-height:1.65;margin:0 0 1em}
.ec-recht ul,.ec-recht ol{padding-left:1.2em;margin:0 0 1.2em}
.ec-recht h2{font-size:calc(28px*var(--ec-f-text));line-height:1.2;margin:2.2em 0 .7em;font-weight:500}
.ec-recht h2:first-child{margin-top:0}
.ec-recht h3{font-size:calc(21px*var(--ec-f-text));line-height:1.3;margin:1.8em 0 .5em;font-weight:500}
.ec-recht h4{font-size:calc(17px*var(--ec-f-text));line-height:1.4;margin:1.4em 0 .4em;font-weight:600}
.ec-recht a{color:var(--ec-navy);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
@media (max-width:767px){.ec-recht h2{font-size:calc(23px*var(--ec-f-text))}.ec-recht h3{font-size:calc(19px*var(--ec-f-text))}.ec-recht p,.ec-recht li{font-size:calc(16px*var(--ec-f-text))}}

/* 60 Kontakt: Foto fuellt die rechte Spalte des Formularrahmens ganz aus */
@media (min-width:1025px){.ec-form-rahmen>.e-con:has(.ec-rahmen-foto){align-self:stretch;display:flex;flex-direction:column}.ec-form-rahmen .ec-rahmen-foto{flex:1 1 auto;height:100%;margin:0!important}.ec-form-rahmen .ec-rahmen-foto .elementor-widget-container,.ec-form-rahmen .ec-rahmen-foto a{height:100%;display:block}.ec-form-rahmen .ec-rahmen-foto img{height:100%!important;width:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:60% center}}

/* 60b Foto ist jetzt letztes Element: Bildunterschrift-Abstand nicht anwenden */
.ec-form-rahmen>.e-con:last-child>.elementor-widget.ec-rahmen-foto{padding:0!important}

/* 60c Kontaktfoto mittig */
.ec-form-rahmen .ec-rahmen-foto img{object-position:50% center!important}

/* 60d Kontaktfoto: kleiner, gleicher Abstand wie das Formular (ersetzt 60/60c) */
@media (min-width:768px){.ec-form-rahmen>.e-con:last-child>.elementor-widget.ec-rahmen-foto{padding:var(--r7) var(--r7) var(--r7) 0!important;flex:0 0 auto!important;height:auto!important}.ec-form-rahmen .ec-rahmen-foto img{height:auto!important;min-height:0!important;width:100%!important;aspect-ratio:3/2!important;object-position:50% 35%!important}}
@media (max-width:767px){.ec-form-rahmen>.e-con:last-child>.elementor-widget.ec-rahmen-foto{padding:var(--r4) 0 0!important}}

/* 60e Kontaktfoto Desktop: Hochformat, eingerueckt wie das Formular, Oberkante = erstes Feld, Unterkante = Button */
@media (min-width:1025px){.ec-form-rahmen>.e-con:last-child{align-self:stretch;display:flex;flex-direction:column}.ec-form-rahmen>.e-con:last-child>.elementor-widget.ec-rahmen-foto{flex:1 1 auto!important;height:100%!important;padding:var(--r7) var(--r7) var(--r7) 0!important;display:flex}.ec-form-rahmen .ec-rahmen-foto img{flex:1 1 auto;height:100%!important;min-height:0!important;width:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:50% 30%!important}}

/* 61 Kundenvideos: sichtbarer Play-Button (Navy-Kreis 70 %, weisses Dreieck aus CSS), Wiedergabe nur per Klick */
.ec-video-start::before{content:'';position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:rgba(23,26,53,.7);border:1px solid rgba(255,255,255,.55);z-index:2;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s}
.ec-video-start::after{content:'';position:absolute;left:50%;top:50%;margin:-14px 0 0 -8px;border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent #fff;z-index:3;pointer-events:none}
.ec-video-start:hover::before,.ec-video-start:focus-visible::before{transform:scale(1.08);background:rgba(23,26,53,.85)}
@media (max-width:767px){.ec-video-start::before{width:64px;height:64px;margin:-32px 0 0 -32px}.ec-video-start::after{margin:-10px 0 0 -6px;border-width:10px 0 10px 18px}}

/* 62 Laufband ziehen */
.ec-laufband-reihe{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.ec-laufband-reihe.ec-zieht{cursor:grabbing}
.ec-laufband-reihe.ec-zieht .ec-laufband-spur{animation-play-state:paused}

/* 63 Zertifizierungen unter dem Award + Firmenlinks bei Kundenstimmen */
.e-con.ec-siegel{display:flex;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--r3);margin-top:var(--r4);padding:0}
.ec-siegel>.elementor-widget-image{width:auto!important;flex:0 0 auto;margin:0}
.ec-siegel .elementor-widget-image img{height:96px!important;width:auto!important;max-width:none;display:block;background:#fff;padding:8px}
@media (max-width:767px){.ec-siegel .elementor-widget-image img{height:80px!important}}
.ec-stimme .ec-la3 a{color:inherit;text-decoration:underline;text-decoration-color:var(--ec-gold);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s}
.ec-stimme .ec-la3 a:hover{color:var(--ec-gold)}

/* 64 Formular-UX: lesbare Eingabe, sichtbarer Fokus, ruhigere Abstaende, klare Rueckmeldung */
.ec-form .elementor-field-group{margin-bottom:var(--r4)!important}
.ec-form .elementor-field-label{margin-bottom:8px!important;display:block}
.ec-auf-dunkel .ec-form .elementor-field-label{color:var(--ec-hell,#d3d6e4)!important}
.ec-form input.elementor-field,.ec-form textarea.elementor-field,.ec-form select.elementor-field{color:var(--ec-navy)!important;-webkit-text-fill-color:var(--ec-navy)!important;caret-color:var(--ec-navy)!important;background:#fff!important;border:1px solid transparent!important;border-radius:0!important;transition:border-color .15s,box-shadow .15s}
.ec-auf-dunkel .ec-form input.elementor-field,.ec-auf-dunkel .ec-form textarea.elementor-field{border-color:transparent!important}
.ec-form :not(.ec-auf-dunkel) input.elementor-field{border-color:rgb(138,138,148)}
.ec-form input.elementor-field:hover,.ec-form textarea.elementor-field:hover{box-shadow:inset 0 0 0 1px rgba(34,38,76,.35)}
.ec-form input.elementor-field:focus,.ec-form textarea.elementor-field:focus,.ec-form select.elementor-field:focus{outline:2px solid var(--ec-gold)!important;outline-offset:2px!important;box-shadow:none!important}
.ec-form textarea.elementor-field{min-height:150px;resize:vertical}
.ec-form ::placeholder{color:#8a8a94;opacity:1}
.ec-form .elementor-field-type-html{margin-top:calc(-1 * var(--r3))!important}
.ec-form .elementor-field-group.elementor-error input.elementor-field,.ec-form .elementor-field-group.elementor-error textarea.elementor-field{box-shadow:inset 0 0 0 2px #c0362c!important}
.ec-form .elementor-field-group .elementor-message{margin-top:6px;font-size:calc(14px*var(--ec-f-text));line-height:1.4;color:#ffb4ab}
.ec-form:not(.ec-auf-dunkel) .elementor-field-group .elementor-message{color:#a01b12}
.ec-form .elementor-message.elementor-message-success,.ec-form .elementor-message.elementor-message-danger{margin-top:var(--r4);padding:14px 18px;font-size:calc(16px*var(--ec-f-text));line-height:1.45;border-left:3px solid}
.ec-form .elementor-message.elementor-message-success{background:rgba(63,185,122,.14);border-color:#3fb97a;color:#fff}
.ec-form .elementor-message.elementor-message-danger{background:rgba(192,54,44,.16);border-color:#e5484d;color:#fff}
.ec-form .elementor-message::before{display:none!important}
.ec-form.elementor-form-waiting button[type=submit],.elementor-form-waiting .ec-form button[type=submit]{opacity:.6;cursor:progress}
.ec-form button[type=submit]:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:767px){.ec-form .elementor-field-group{width:100%!important;max-width:100%!important;flex-basis:100%!important}.ec-form button[type=submit]{width:100%;justify-content:center}}

/* 65 Zertifizierungen: eigener schmaler Abschnitt unter dem Award */
.e-con.ec-zert{margin-top:var(--r7);padding:0;gap:var(--r4)}
.e-con.ec-zert-reihe{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--r6);padding:0}
.e-con.ec-zert-item{flex-direction:row!important;align-items:center;gap:var(--r5);padding:0;flex-wrap:nowrap}
.ec-zert-item>.elementor-widget-image{flex:0 0 auto;width:auto!important;margin:0}
.ec-zert-siegel img{height:112px!important;width:112px!important;object-fit:contain;background:#fff;padding:10px;display:block}
.ec-zert-item>.e-con.ec-zert-text{flex:1 1 0;min-width:0;padding:0;gap:6px}
@media (max-width:767px){.e-con.ec-zert-reihe{grid-template-columns:1fr;gap:var(--r5)}.ec-zert-siegel img{height:88px!important;width:88px!important}}

/* 65b Siegel auf hellem Grund: Rahmen statt weisser Flaeche */
.ec-zert-siegel img{border:1px solid var(--ec-grau-ui,#d9dbe3)}
.ec-auf-dunkel .ec-zert-siegel img{border-color:transparent}

/* 66 Fallstudien als Zeitstrahl: Ausgangslage, Vorgehen, Ergebnis (Zahlen am Ende) */
.e-con.ec-cs-zeilen.ec-cs-weg{border-bottom:0;margin-top:var(--r7)}
.ec-cs-weg>.e-con.ec-cs-zeile{border-top:0;padding:0 0 var(--r7) 36px;position:relative}
.ec-cs-weg>.e-con.ec-cs-zeile::before{content:'';position:absolute;left:5px;top:18px;bottom:0;width:1px;background:rgba(34,38,76,.18)}
.ec-cs-weg>.e-con.ec-cs-zeile::after{content:'';position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;border:1px solid var(--ec-navy);background:var(--ec-sand,#f7f6f3);box-sizing:border-box}
.ec-cs-weg>.e-con.ec-cs-ziel{flex-direction:column!important;--flex-direction:column;align-items:stretch;gap:var(--r4);padding-bottom:0}
.ec-cs-weg>.e-con.ec-cs-ziel::before{display:none}
.ec-cs-weg>.e-con.ec-cs-ziel::after{background:var(--ec-navy)}
.ec-cs-weg>.ec-cs-zeile>.elementor-widget:first-child{flex:0 0 200px;width:200px}
.ec-cs-weg>.ec-cs-ziel>.elementor-widget:first-child{flex:0 0 auto;width:auto}
.ec-cs-weg .ec-cs-ziel>.e-con.ec-cs-zahlen{margin-top:0;border-top:1px solid rgba(34,38,76,.18);padding-top:var(--r5);gap:var(--r7);width:100%}
.ec-cs-jahr{display:block;margin-top:6px;opacity:.7;font-weight:500}
@media(max-width:767px){.ec-cs-weg>.e-con.ec-cs-zeile{padding-bottom:var(--r6)}.ec-cs-weg>.ec-cs-zeile>.elementor-widget:first-child{flex:0 0 auto;width:auto}.ec-cs-weg .ec-cs-ziel>.e-con.ec-cs-zahlen{gap:var(--r5)}}

/* 66b Ergebnis: Zahlen neben dem Kennwort, etwas kleiner */
@media(min-width:768px){.ec-cs-weg>.e-con.ec-cs-ziel{flex-direction:row!important;--flex-direction:row;align-items:baseline;gap:var(--r6)}.ec-cs-weg>.ec-cs-ziel>.elementor-widget:first-child{flex:0 0 200px;width:200px}.ec-cs-weg .ec-cs-ziel>.e-con.ec-cs-zahlen{flex:1 1 0;min-width:0;border-top:0;padding-top:0;gap:var(--r5)}.ec-cs-weg .ec-cs-ziel .ec-d3,.ec-cs-weg .ec-cs-ziel .ec-d3 .elementor-heading-title{font-size:clamp(26px,2.4vw,38px)!important;line-height:1.05!important;white-space:nowrap}}

/* 65c Siegel freigestellt: kein Rahmen, keine weisse Flaeche, verlinkt */
.ec-zert-siegel img{background:none!important;padding:0!important;border:0!important;width:auto!important;height:112px!important;max-width:120px}
.ec-zert-siegel a{display:block;transition:opacity .2s}
.ec-zert-siegel a:hover{opacity:.8}
.ec-zert-siegel a:focus-visible{outline:2px solid var(--ec-gold,#baa366);outline-offset:4px}
@media (max-width:767px){.ec-zert-siegel img{height:88px!important}}

/* 67 Referenzen: Kundenliste als Textlinks unter der Logowand */
.e-con.ec-kunden-block{margin-top:var(--r7);padding:0;gap:var(--r4)}
.ec-kundenliste ul{list-style:none;margin:0;padding:0;columns:3;column-gap:var(--r6)}
.ec-kundenliste li{break-inside:avoid;padding:10px 0;border-top:1px solid rgba(34,38,76,.14)}
.ec-kundenliste a{color:var(--ec-navy);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s}
.ec-kundenliste a:hover,.ec-kundenliste a:focus-visible{background-size:100% 1px}
@media(max-width:1024px){.ec-kundenliste ul{columns:2}}
@media(max-width:600px){.ec-kundenliste ul{columns:1}}
