.elementor-914 .elementor-element.elementor-element-096df3e{--display:flex;}/* Start custom CSS for html, class: .elementor-element-19a58a3 *//* ════════════════════════════════════════════════════════════
   UNIVERSELLES DESIGN- & BREITEN-SYSTEM — Philip Semmelroth (v5)
   Einmal global einfügen: Elementor → Einstellungen → Erweitert
   → Custom CSS. Gilt für ALLE Seiten mit ps-/k-hero-Klassen
   (Karriere, Success-Manager, Operations-Manager, Presseberichte).

   Fix ggü. v4:
   - .ps-section-label: der rote Strich vor dem Eyebrow-Text stand
     bisher im Textfluss (flex + gap), wodurch der Eyebrow-TEXT ca.
     28px eingerückt war, während die Überschrift (h2) darunter bei
     0px begann — beide Zeilen wirkten dadurch nicht bündig.
     Jetzt: Strich ist absolut positioniert und hängt links VOR dem
     Textblock. Der Eyebrow-Text beginnt dadurch exakt an derselben
     X-Position wie die h2-Überschrift darunter.
   ════════════════════════════════════════════════════════════ */

:root {
  --ps-font: 'Inter', sans-serif;
  --ps-blue-dark: #1C2B39;
  --ps-blue: #04468B;
  --ps-red: #c01f2e;
  --ps-red-hover: #e0283a;
  --ps-text-muted: #6b7e96;
  --ps-bg-card: #fff;
  --ps-border: rgba(4,70,139,0.10);
  --ps-radius-lg: 10px;
  --ps-max-width: 1320px;
  --ps-max-width-wide: 1520px;
  --ps-max-width-ultra: 1760px;
  --ps-w-base:   1320px;   /* ab 1025px Standardbreite */
  --ps-w-laptop: 1400px;   /* 1280–1599px */
  --ps-w-wide:   1560px;   /* 1600–1799px */
  --ps-w-27:     1680px;   /* 1800–2199px */
  --ps-w-ultra:  1880px;   /* ab 2200px (28"/32"/Ultra-Wide) */
  --ps-w-4k:     2200px;   /* ab 3000px (4K, 3840×2160 etc.) */
}

/* ── Basis-Typografie nur innerhalb ps-/k-hero Containern ── */
[class^="ps-"] *, [class*=" ps-"] *,
[class^="k-hero"] *, [class*=" k-hero"] * {
  font-family: var(--ps-font);
}

/* ── Section-Label (rotes Eyebrow) — der STRICH beginnt bündig mit
       der Überschrift darunter, der Text folgt danach ── */
[class^="ps-section-label"], [class*=" ps-section-label"] {
  font-size: clamp(0.7rem, 0.6vw, 0.8rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--ps-red) !important;
  margin-bottom: 0.4rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
[class^="ps-section-label"]::before, [class*=" ps-section-label"]::before {
  content: '' !important;
  display: inline-block !important;
  width: 20px !important;
  height: 2px !important;
  background: var(--ps-red) !important;
  flex-shrink: 0 !important;
}

/* ── Überschriften ── */
[class^="ps-"] h1, [class*=" ps-"] h1,
[class^="k-hero"] h1, [class*=" k-hero"] h1 {
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.08 !important;
  color: var(--ps-blue-dark);
}
[class^="ps-hero"] h1, [class*=" ps-hero"] h1,
[class^="k-hero"] h1, [class*=" k-hero"] h1 {
  font-size: clamp(40px, 4.2vw, 88px) !important;
  max-width: 900px;
}
@media (min-width: 1800px) {
  [class^="ps-hero"] h1, [class*=" ps-hero"] h1,
  [class^="k-hero"] h1, [class*=" k-hero"] h1 {
    max-width: 1100px;
  }
}
[class^="ps-"] h2, [class*=" ps-"] h2, [class^="ps-"] h3, [class*=" ps-"] h3, [class^="ps-"] h4, [class*=" ps-"] h4,
[class^="k-hero"] h2, [class*=" k-hero"] h2, [class^="k-hero"] h3, [class*=" k-hero"] h3 {
  font-weight: 700 !important;
  margin: 0.5rem 0 0.75rem;
  color: var(--ps-blue-dark);
}
[class^="ps-"] h2, [class*=" ps-"] h2 {
  font-size: clamp(1.6rem, 2.2vw, 2.8rem) !important;
}
[class^="ps-"] h3, [class*=" ps-"] h3 {
  font-size: clamp(1.2rem, 1.4vw, 1.6rem) !important;
}
[class^="ps-"] p, [class*=" ps-"] p,
[class^="k-hero"] p, [class*=" k-hero"] p {
  font-size: clamp(0.95rem, 0.95vw, 1.15rem) !important;
  line-height: 1.7;
  color: var(--ps-text-muted);
}

/* Dunkler Hintergrund (Hero, CTA, dunkle Karten): weiße Schrift */
[class*="ps-hero"] h1, [class*="ps-hero"] h2, [class*="ps-hero"] h3,
[class*="k-hero"] h1, [class*="k-hero"] h2, [class*="k-hero"] h3,
[class*="ps-cta"] h1, [class*="ps-cta"] h2, [class*="ps-cta"] h3,
[class*="ps-benefit-cta"] h1, [class*="ps-benefit-cta"] h2, [class*="ps-benefit-cta"] h3, [class*="ps-benefit-cta"] h4 {
  color: #fff !important;
}
[class*="ps-hero"] p, [class*="k-hero"] p, [class*="ps-cta"] p, [class*="ps-benefit-cta"] p {
  color: rgba(255,255,255,0.75) !important;
}

/* ── Buttons ── */
a[class*="ps-btn-red"], a[class*="ps-btn-primary"], a[class*="k-hero2-btn-primary"] {
  background: var(--ps-red) !important;
  color: #fff !important;
  padding: clamp(12px, 1vw, 16px) clamp(28px, 2vw, 38px) !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: clamp(13px, 0.85vw, 15px) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  transition: background 0.2s, transform 0.2s !important;
}
a[class*="ps-btn-red"]:hover, a[class*="ps-btn-primary"]:hover, a[class*="k-hero2-btn-primary"]:hover {
  background: var(--ps-red-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
a[class*="ps-btn-red"]:visited, a[class*="ps-btn-red"]:active, a[class*="ps-btn-red"]:focus,
a[class*="ps-btn-primary"]:visited, a[class*="ps-btn-primary"]:active, a[class*="ps-btn-primary"]:focus {
  color: #fff !important;
}

a[class*="ps-btn-white"] {
  display: inline-block !important;
  background: var(--ps-blue) !important;
  color: #fff !important;
  padding: clamp(13px, 1vw, 16px) clamp(30px, 2vw, 40px) !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: clamp(0.85rem, 0.8vw, 1rem) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: background .2s !important;
}
a[class*="ps-btn-white"]:hover { background: #03376e !important; color: #fff !important; }
a[class*="ps-btn-white"]:visited, a[class*="ps-btn-white"]:active, a[class*="ps-btn-white"]:focus { color: #fff !important; }

/* ── Karten ── */
[class^="ps-"][class*="-card"]:not([class*="quote"]),
[class*=" ps-"][class*="-card"]:not([class*="quote"]),
[class^="ps-"][class*="-item"]:not([class*="value"]):not([class*="benefit-cta"]),
[class*=" ps-"][class*="-item"]:not([class*="value"]):not([class*="benefit-cta"]) {
  background: #fff !important;
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-lg);
}
[class^="ps-"][class*="-card"]:not([class*="quote"]) h3,
[class*=" ps-"][class*="-card"]:not([class*="quote"]) h3,
[class^="ps-"][class*="-item"]:not([class*="value"]):not([class*="benefit-cta"]) h3,
[class*=" ps-"][class*="-item"]:not([class*="value"]):not([class*="benefit-cta"]) h3 {
  color: var(--ps-blue-dark) !important;
}
[class^="ps-"][class*="-card"]:not([class*="quote"]) p,
[class*=" ps-"][class*="-card"]:not([class*="quote"]) p,
[class^="ps-"][class*="-item"]:not([class*="value"]):not([class*="benefit-cta"]) p,
[class*=" ps-"][class*="-item"]:not([class*="value"]):not([class*="benefit-cta"]) p {
  color: var(--ps-text-muted) !important;
}

[class*="ps-benefit-cta"] {
  background: linear-gradient(135deg, #04468B 0%, #1C2B39 100%) !important;
}

/* ── Bilder/Videos in Hero-Boxen nie sprengen lassen ── */
[class*="ps-hero"] img, [class*="ps-hero"] video,
[class*="k-hero"] img, [class*="k-hero"] video {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/* ════════════════════════════════════════════════════════════
   BREITEN-SKALIERUNG — überschreibt lokale max-width:1200px
   !important Regeln gezielt per .klasse.klasse-Spezifität.
   ════════════════════════════════════════════════════════════ */

.ps-trusted.ps-trusted,
.ps-positions-section.ps-positions-section,
.ps-benefits-section.ps-benefits-section,
.ps-culture-section.ps-culture-section,
.ps-team-section.ps-team-section,
.ps-process-section.ps-process-section {
  transition: max-width 0.2s ease;
}

/* Generisches Sicherheitsnetz für jede zukünftige *-section Klasse
   ohne eigene lokale !important-Regel.
   WICHTIG: .ps-section-label explizit ausschließen — der Klassenname
   enthält zufällig die Zeichenfolge "-section" (ps-SECTION-label) und
   wurde dadurch fälschlich als 90%-Breite/zentrierte Box behandelt,
   was den Versatz zur Überschrift darunter verursacht hat. */
[class^="ps-"][class*="-section"]:not(.ps-section-label), [class*=" ps-"][class*="-section"]:not(.ps-section-label) {
  width: 90%;
  max-width: var(--ps-max-width);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

@media (max-width: 1024px) and (min-width: 769px) {
  [class^="ps-"][class*="-grid"], [class*=" ps-"][class*="-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  .ps-trusted.ps-trusted,
  .ps-positions-section.ps-positions-section,
  .ps-benefits-section.ps-benefits-section,
  .ps-culture-section.ps-culture-section,
  .ps-team-section.ps-team-section,
  .ps-process-section.ps-process-section {
    max-width: var(--ps-w-base) !important;
  }
}

@media (min-width: 1280px) and (max-width: 1599px) {
  .ps-trusted.ps-trusted,
  .ps-positions-section.ps-positions-section,
  .ps-benefits-section.ps-benefits-section,
  .ps-culture-section.ps-culture-section,
  .ps-team-section.ps-team-section,
  .ps-process-section.ps-process-section {
    max-width: var(--ps-w-laptop) !important;
  }
}

@media (min-width: 1600px) and (max-width: 1799px) {
  .ps-trusted.ps-trusted,
  .ps-positions-section.ps-positions-section,
  .ps-benefits-section.ps-benefits-section,
  .ps-culture-section.ps-culture-section,
  .ps-team-section.ps-team-section,
  .ps-process-section.ps-process-section {
    max-width: var(--ps-w-wide) !important;
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
  }
}

@media (min-width: 1800px) and (max-width: 2199px) {
  .ps-trusted.ps-trusted,
  .ps-positions-section.ps-positions-section,
  .ps-benefits-section.ps-benefits-section,
  .ps-culture-section.ps-culture-section,
  .ps-team-section.ps-team-section,
  .ps-process-section.ps-process-section {
    max-width: var(--ps-w-27) !important;
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  [class*="ps-hero"][class*="-inner"], [class*="k-hero2-inner"] {
    grid-template-columns: 1fr 1fr !important;
    max-height: 760px !important;
  }
  [class*="ps-hero"] p, [class*="k-hero"] p { font-size: 19px !important; }
  .k-hero2-h1 { font-size: clamp(48px, 4.4vw, 80px) !important; }
  .k-hero2-sub { font-size: 19px !important; max-width: 520px !important; }
}

@media (min-width: 2200px) {
  .ps-trusted.ps-trusted,
  .ps-positions-section.ps-positions-section,
  .ps-benefits-section.ps-benefits-section,
  .ps-culture-section.ps-culture-section,
  .ps-team-section.ps-team-section,
  .ps-process-section.ps-process-section {
    max-width: var(--ps-w-ultra) !important;
    padding-left: 3.5rem !important;
    padding-right: 3.5rem !important;
  }
  [class*="ps-hero"][class*="-inner"], [class*="k-hero2-inner"] {
    grid-template-columns: 1fr 1fr !important;
    max-height: 860px !important;
  }
  [class*="ps-hero"] p, [class*="k-hero"] p { font-size: 21px !important; }
  .k-hero2-h1 { font-size: clamp(52px, 4.6vw, 92px) !important; }
  .k-hero2-sub { font-size: 21px !important; max-width: 560px !important; }
  [class^="ps-"][class*="-grid"], [class*=" ps-"][class*="-grid"] {
    gap: 2rem !important;
  }
  .ps-benefits-grid, .ps-press-grid, .ps-process-steps, .ps-quotes-grid {
    gap: 2rem !important;
  }
}

/* ── 4K & sehr große Ultra-Wide-Monitore (ab 3000px, z.B. 3840×2160) ── */
@media (min-width: 3000px) {
  .ps-trusted.ps-trusted,
  .ps-positions-section.ps-positions-section,
  .ps-benefits-section.ps-benefits-section,
  .ps-culture-section.ps-culture-section,
  .ps-team-section.ps-team-section,
  .ps-process-section.ps-process-section {
    max-width: var(--ps-w-4k) !important;
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  [class*="ps-hero"][class*="-inner"], [class*="k-hero2-inner"] {
    grid-template-columns: 1fr 1fr !important;
    max-height: 920px !important;
  }
  [class*="ps-hero"] p, [class*="k-hero"] p { font-size: 24px !important; }
  .k-hero2-h1 { font-size: clamp(60px, 4.8vw, 108px) !important; }
  .k-hero2-sub { font-size: 24px !important; max-width: 640px !important; }
  [class^="ps-"][class*="-grid"], [class*=" ps-"][class*="-grid"] {
    gap: 2.5rem !important;
  }
  .ps-benefits-grid, .ps-press-grid, .ps-process-steps, .ps-quotes-grid {
    gap: 2.5rem !important;
  }
}

/* ── Mobile: Mindestschriftgröße + Heading-Skalierung ── */
@media (max-width: 480px) {
  [class^="ps-"] p, [class*=" ps-"] p, [class^="ps-"] li, [class*=" ps-"] li,
  [class^="ps-"] span, [class*=" ps-"] span, [class^="ps-"] a, [class*=" ps-"] a {
    font-size: max(14px, 1em);
  }
  [class^="ps-"] h1, [class*=" ps-"] h1, [class^="k-hero"] h1, [class*=" k-hero"] h1 {
    font-size: clamp(28px, 8vw, 40px) !important;
  }
  [class^="ps-"] h2, [class*=" ps-"] h2 {
    font-size: clamp(22px, 6vw, 30px) !important;
  }
  [class^="ps-"][class*="-section"]:not(.ps-section-label), [class*=" ps-"][class*="-section"]:not(.ps-section-label) {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}/* End custom CSS */