.elementor-531 .elementor-element.elementor-element-46761ccf .elementor-menu-toggle{margin-left:auto;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for nav-menu, class: .elementor-element-46761ccf */& .elementor-menu-toggle { background-color: transparent; color: var(--color-text-on-dark); font-size: 26px; width: 44px; height: 44px; padding: 9px; border-radius: var(--radius-sm); } & .elementor-menu-toggle svg { fill: var(--color-text-on-dark); } & .elementor-menu-toggle:hover { background-color: rgba(255, 255, 255, 0.06); } & .elementor-menu-toggle:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; } & .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute; top: calc(100% + 14px); z-index: 100; background-color: var(--color-background); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); } & .elementor-nav-menu--dropdown .sub-menu { background-color: var(--color-surface); border: 0; } & .elementor-nav-menu--dropdown a.elementor-item { font-family: var(--font-primary); font-size: 1rem; font-weight: 500; color: var(--color-ink); background-color: transparent; padding: 14px var(--space-gutter); min-height: 48px; border: 0; } & .elementor-nav-menu--dropdown a.elementor-item.highlighted, & .elementor-nav-menu--dropdown a.elementor-item:focus { background-color: var(--color-surface); color: var(--color-ink); } & .elementor-nav-menu--dropdown a.elementor-item:hover, & .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active { background-color: var(--color-surface-warm); color: var(--color-primary-text); } & .elementor-nav-menu--dropdown a.elementor-item:focus-visible, & .elementor-nav-menu--dropdown a.elementor-sub-item:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; } & .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item { font-family: var(--font-primary); font-weight: 500; min-height: 48px; border: 0; padding: 14px var(--space-gutter); padding-left: calc(var(--space-gutter) + 16px) !important; font-size: 0.9375rem; color: var(--color-text); background-color: transparent; } & .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover, & .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item.elementor-item-active { color: var(--color-primary-text); background-color: var(--color-surface-warm); } & .elementor-nav-menu--dropdown .sub-arrow { color: var(--color-primary-text); }/* End custom CSS */
/* Start custom CSS *//* === Header === */
.elementor-location-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 1000; }
.mega-item:hover > .mega-panel, .mega-item:focus-within > .mega-panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity 180ms ease, transform 180ms ease, visibility 0s; }
.mega-item:hover > .mega-trigger, .mega-item:focus-within > .mega-trigger { color: var(--color-white); }
.mega-trigger::after { content: ""; width: 6px; height: 6px; margin-left: 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 180ms ease; }
.mega-item:hover > .mega-trigger::after, .mega-item:focus-within > .mega-trigger::after { transform: translateY(2px) rotate(-135deg); }
@media (min-width: 1025px) { .header-mobile-nav { display: none !important; } }

/* === Theme: Light (Standard) / Dark (System oder später data-theme) ===
   Priorität für einen späteren Umschalter: html[data-theme="light|dark"] schlägt die Systemeinstellung; ohne Attribut = Auto. */
:root { color-scheme: light; }
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
  color-scheme: dark;
  --color-background: #111514;
  --color-surface: #171C1B;
  --color-surface-warm: #1A201E;
  --color-surface-elevated: #1D2322;
  --color-surface-hover: #202725;
  --color-surface-inverse: #0A0D0C;
  --color-ink: #F2F3F1;
  --color-text: #C5CBC8;
  --color-muted: #8F9995;
  --color-border: #2C3532;
  --color-border-strong: #56625E;
  --color-border-control: #4A5754;
  --color-primary: #69B7B4;
  --color-primary-hover: #82C7C4;
  --color-primary-text: #69B7B4;
  --color-primary-strong: #69B7B4;
  --color-primary-strong-hover: #82C7C4;
  --color-primary-dark: #82C7C4;
  --color-primary-soft: #173332;
  --color-on-primary: #0B1110;
  --color-text-on-dark: #F2F3F1;
  --color-muted-on-dark: #A3ACAA;
  --color-border-on-dark: #262E2C;
}
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --color-background: #111514;
  --color-surface: #171C1B;
  --color-surface-warm: #1A201E;
  --color-surface-elevated: #1D2322;
  --color-surface-hover: #202725;
  --color-surface-inverse: #0A0D0C;
  --color-ink: #F2F3F1;
  --color-text: #C5CBC8;
  --color-muted: #8F9995;
  --color-border: #2C3532;
  --color-border-strong: #56625E;
  --color-border-control: #4A5754;
  --color-primary: #69B7B4;
  --color-primary-hover: #82C7C4;
  --color-primary-text: #69B7B4;
  --color-primary-strong: #69B7B4;
  --color-primary-strong-hover: #82C7C4;
  --color-primary-dark: #82C7C4;
  --color-primary-soft: #173332;
  --color-on-primary: #0B1110;
  --color-text-on-dark: #F2F3F1;
  --color-muted-on-dark: #A3ACAA;
  --color-border-on-dark: #262E2C;
}
body { background-color: var(--color-background); color: var(--color-text); }
/* Alte V3-Kit-Farben (#343434 / #171717 / Orange-Hover) auf Tokens umlenken */
.elementor-kit-11 { color: var(--color-text); }
.elementor-kit-11 a { color: var(--c-link, var(--color-ink)); }
.elementor-kit-11 a:hover { color: var(--c-link-hover, var(--color-primary-text)); }
::selection { background: var(--color-primary-soft); color: var(--color-ink); }

/* === Formulare (Atomic Forms) – tokenbasiert für beide Themes === */
.elementor .e-form-input-base, .elementor .e-form-textarea-base, .elementor .e-form-select-base, .elementor .e-form-date-picker-base, .elementor .e-form-time-picker-base, .elementor .e-form-file-upload-base { color: var(--color-ink); background-color: var(--color-surface-elevated); border-color: var(--color-border-strong); }
.elementor .e-form-input-base::placeholder, .elementor .e-form-textarea-base::placeholder { color: var(--color-muted); opacity: 1; }
.elementor .e-form-input-base:focus, .elementor .e-form-textarea-base:focus, .elementor .e-form-select-base:focus, .elementor .e-form-date-picker-base:focus, .elementor .e-form-time-picker-base:focus { border-color: var(--color-primary); outline: 2px solid var(--color-primary); outline-offset: 1px; }
.elementor .e-form-input-base:disabled, .elementor .e-form-textarea-base:disabled, .elementor .e-form-select-base:disabled { opacity: .55; cursor: not-allowed; }
.elementor .e-form-label-base { color: var(--color-text); }
.elementor .e-form-checkbox-base, .elementor .e-form-radio-button-base { border-color: var(--color-border-strong); accent-color: var(--color-primary); }
.elementor .e-form-checkbox-base:checked { background-color: var(--color-primary); border-color: var(--color-primary); color: var(--color-on-primary); }
.elementor .e-form-radio-button-base::before { background-color: var(--color-primary); }
.elementor .e-form-submit-button-base { color: var(--color-on-primary); background-color: var(--color-primary-strong); }
.elementor .e-form-submit-button-base:hover, .elementor .e-form-submit-button-base:focus-visible { background-color: var(--color-primary-strong-hover); }
.elementor .e-form-success-message-base { color: var(--color-ink); background-color: var(--color-primary-soft); }
.elementor .e-form-error-message-base { color: var(--color-ink); background-color: color-mix(in srgb, #C0392B 16%, var(--color-background)); border-left: 3px solid #C0392B; }
.elementor input:-webkit-autofill, .elementor textarea:-webkit-autofill, .elementor select:-webkit-autofill { -webkit-text-fill-color: var(--color-ink); -webkit-box-shadow: 0 0 0 1000px var(--color-surface-elevated) inset; caret-color: var(--color-ink); }
.elementor .e-divider-base { background-color: var(--color-border); }

/* === Designsystem global === */
/* Eyebrow: Teal-Punkt als Markenakzent */
.elementor .text-eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.elementor .text-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--c-eyebrow, var(--color-primary)); flex-shrink: 0; }
/* Hervorgehobenes Wort in Headlines: Serif Italic, Teal */
.elementor h1 em, .elementor h2 em, .np-accent em { font-family: var(--font-editorial), Georgia, serif; font-style: italic; font-weight: 400; color: var(--c-accent, var(--color-primary)); }
/* Text-Links mit Pfeil */
.elementor .link-arrow a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; }
.elementor .link-arrow:hover a { text-decoration: underline; text-underline-offset: 0.25em; }

/* === Icon-System (SVG als Maske, Farbe = currentColor) === */
.np-ico { position: relative; display: inline-block; flex-shrink: 0; color: var(--c-eyebrow, var(--color-primary)); }
.np-ico::before, .np-ico::after { content: ""; position: absolute; inset: 0; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.np-ico::after { -webkit-mask-image: var(--a); mask-image: var(--a); transition: transform 220ms ease; }
a:hover .np-ico::after, .np-ico-trigger:hover .np-ico::after, a:focus-visible .np-ico::after { transform: translate(var(--ax, 0px), var(--ay, 0px)); }
.np-ico-mitarbeiter { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='12' r='3.25'/%3E%3Ccircle cx='21.5' cy='12' r='3.25'/%3E%3Cpath d='M4.5 25.5c0-3.6 2.7-6.5 6-6.5s6 2.9 6 6.5'/%3E%3Cpath d='M15.5 25.5c0-3.6 2.7-6.5 6-6.5s6 2.9 6 6.5'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='5.5' r='1.9' fill='%23000'/%3E%3C/svg%3E"); --ax: 0px; --ay: -2px; }
.np-ico-vertrieb { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 25.5c6.5 0 8-8.5 13.5-12.5 2.2-1.6 4.6-2.6 7-3'/%3E%3Ccircle cx='5' cy='25.5' r='1.6'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 6.5l5.5 3.5-3.5 5.5'/%3E%3C/svg%3E"); --ax: 2px; --ay: -2px; }
.np-ico-kundenerlebnis { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h7.5c4.5 0 4.5-12 9-12H28'/%3E%3Ccircle cx='11.5' cy='22' r='2'/%3E%3Ccircle cx='20.5' cy='10' r='2'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='27.5' cy='22' r='1.8' fill='%23000'/%3E%3C/svg%3E"); --ax: -3px; --ay: 0px; }
.np-ico-organisation { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8.5' r='2.75'/%3E%3Ccircle cx='24' cy='8.5' r='2.75'/%3E%3Ccircle cx='16' cy='24.5' r='2.75'/%3E%3Cpath d='M10.75 8.5h10.5M9.3 11l5.4 11M22.7 11l-5.4 11'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='15' r='1.7' fill='%23000'/%3E%3C/svg%3E"); --ax: 0px; --ay: -2px; }
.np-ico-wachstum { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 26.5h24'/%3E%3Cpath d='M4 22.5c5 0 7-6 11-7s6-5.5 11-8.5'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='26.5' cy='6.5' r='2' fill='%23000'/%3E%3C/svg%3E"); --ax: 2px; --ay: -2px; }
.np-ico-strategie { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='16' r='10.5'/%3E%3Cpath d='M16 3v3M16 26v3M3 16h3M26 16h3'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='2.3' fill='%23000'/%3E%3C/svg%3E"); --ax: 0px; --ay: 0px; }
.np-ico-entwicklung { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='23' r='2'/%3E%3Cpath d='M8 23c6 0 6.5-12 16-12'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='26' cy='11' r='2' fill='%23000'/%3E%3C/svg%3E"); --ax: 2px; --ay: 0px; }
.np-ico-umsetzung { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 26.5h24'/%3E%3Ccircle cx='8' cy='20' r='2'/%3E%3Ccircle cx='16' cy='12' r='2'/%3E%3Ccircle cx='24' cy='20' r='2'/%3E%3Cpath d='M9.4 18.6l5.2-5.2M17.4 13.4l5.2 5.2'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='5' r='1.7' fill='%23000'/%3E%3C/svg%3E"); --ax: 0px; --ay: -2px; }
.np-ico-verstehen { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='14' cy='14' r='8.5'/%3E%3Cpath d='M20.2 20.2l7 7'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='14' cy='14' r='2' fill='%23000'/%3E%3C/svg%3E"); --ax: 1px; --ay: 1px; }
.np-ico-hinterfragen { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 12a5 5 0 1 1 7.2 4.5c-1.4.7-2.2 1.8-2.2 3.3v.7'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='25.5' r='1.8' fill='%23000'/%3E%3C/svg%3E"); --ax: 0px; --ay: 2px; }
.np-ico-priorisieren { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9.5h16M5 16h11M5 22.5h6'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='26' cy='9.5' r='2' fill='%23000'/%3E%3C/svg%3E"); --ax: 2px; --ay: 0px; }
.np-ico-umsetzen { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6.5h6.5a2 2 0 0 1 2 2v15a2 2 0 0 1-2 2H18'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16h13M13.5 11.5l4.5 4.5-4.5 4.5'/%3E%3C/svg%3E"); --ax: 2px; --ay: 0px; }
.np-ico-etablieren { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 26.5h24M9 26.5V15h14v11.5'/%3E%3C/svg%3E"); --a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='9' r='2' fill='%23000'/%3E%3C/svg%3E"); --ax: 0px; --ay: -2px; }

/* === Signature Line + Linien-Labels (wiederverwendbar) === */
.np-line-label::before { content: ""; order: -2; width: 7px; height: 7px; border-radius: 50%; background: var(--color-primary); box-shadow: 0 0 0 3px var(--c-halo, var(--color-background)); flex-shrink: 0; }
.np-line-label::after { content: ""; order: -1; width: 18px; height: 1px; background: var(--color-primary); opacity: .45; flex-shrink: 0; }
.np-line-label-up::after, .np-line-label-down::after { width: 1px; height: 10px; }
.np-signature-line { background-repeat: no-repeat; background-size: 100% 100%; }
/* Signature-Zeile (Strategie. Entwicklung. Umsetzung.) */
.np-signature-text { word-spacing: 0.45em; }
/* Button mit Pfeil-Mikrointeraktion */
.btn-arrow::after { content: "→"; content: "→" / ""; display: inline-block; margin-inline-start: 0.5em; transition: transform 200ms ease; }
.btn-arrow:hover::after, .btn-arrow:focus-visible::after { transform: translateX(3px); }

@media (prefers-reduced-motion: reduce) {
  .mega-panel, .mega-trigger::after, .np-ico::after, .btn-arrow::after { transition: none !important; }
}/* End custom CSS */