.elementor-kit-6{--e-global-color-primary:#F18700;--e-global-color-secondary:#949494;--e-global-color-text:#3C413E;--e-global-color-accent:#006EB7;--e-global-color-9319a5a:#FFFFFF;--e-global-typography-primary-font-family:"Open Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-word-spacing:0px;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-62208b6-font-family:"Open Sans";--e-global-typography-62208b6-font-size:48px;--e-global-typography-62208b6-font-weight:600;--e-global-typography-62208b6-text-transform:uppercase;--e-global-typography-e8f7cbc-font-family:"Open Sans";--e-global-typography-e8f7cbc-font-size:48px;--e-global-typography-e8f7cbc-font-weight:600;--e-global-typography-e8f7cbc-line-height:1.2em;--e-global-typography-c5db9a7-font-family:"Open Sans";--e-global-typography-c5db9a7-font-size:28px;--e-global-typography-c5db9a7-font-weight:400;--e-global-typography-c5db9a7-line-height:1.6em;--e-global-typography-19a0e28-font-family:"Open Sans";--e-global-typography-19a0e28-font-size:16px;--e-global-typography-19a0e28-line-height:1.5em;--e-global-typography-425ab21-font-family:"Open Sans";--e-global-typography-425ab21-font-size:14px;--e-global-typography-425ab21-font-weight:400;--e-global-typography-425ab21-line-height:2em;color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.3em;word-spacing:0px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:0.1rem;}.elementor-kit-6 a{color:#0F0A64E6;font-family:"Open Sans", Sans-serif;}.elementor-kit-6 a:hover{color:var( --e-global-color-primary );}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-kit-6 h2{color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-weight:600;line-height:1.3em;}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-kit-6 h5{color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-kit-6 h6{color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-kit-6{--e-global-typography-62208b6-font-size:45px;--e-global-typography-62208b6-line-height:1.2em;--e-global-typography-e8f7cbc-font-size:45px;--e-global-typography-e8f7cbc-line-height:1.2em;--e-global-typography-c5db9a7-font-size:26px;--e-global-typography-c5db9a7-line-height:1.6em;--e-global-typography-19a0e28-font-size:15px;--e-global-typography-19a0e28-line-height:1.5em;font-size:15px;}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-62208b6-font-size:45px;--e-global-typography-62208b6-line-height:1.2em;--e-global-typography-e8f7cbc-font-size:45px;--e-global-typography-e8f7cbc-line-height:1.2em;--e-global-typography-c5db9a7-font-size:26px;--e-global-typography-c5db9a7-line-height:1.6em;--e-global-typography-19a0e28-font-size:15px;--e-global-typography-19a0e28-line-height:1.5em;font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:479px){.elementor-kit-6{--e-global-typography-62208b6-font-size:36px;--e-global-typography-62208b6-line-height:1.2em;--e-global-typography-e8f7cbc-font-size:36px;--e-global-typography-e8f7cbc-line-height:1.2em;--e-global-typography-c5db9a7-font-size:21px;--e-global-typography-c5db9a7-line-height:1.6em;--e-global-typography-19a0e28-font-size:12px;--e-global-typography-19a0e28-line-height:1.5em;font-size:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}@media(min-width:2400px){.elementor-kit-6{--e-global-typography-62208b6-font-size:48px;--e-global-typography-62208b6-line-height:1.2em;--e-global-typography-e8f7cbc-font-size:48px;--e-global-typography-e8f7cbc-line-height:1.2em;--e-global-typography-c5db9a7-font-size:28px;--e-global-typography-c5db9a7-line-height:1.6em;--e-global-typography-19a0e28-font-size:16px;--e-global-typography-19a0e28-line-height:1.5em;--e-global-typography-425ab21-font-size:14px;--e-global-typography-425ab21-line-height:1.9em;--e-global-typography-425ab21-letter-spacing:0.075em;font-size:16px;}}
/* Start custom CSS *//* =========================================================
   1. BASIS: HERO-HÖHEN
   ========================================================= */

.hero-slider {
  min-height: calc(100vh - 90px);
}

.hero-menu {
  min-height: 90px;
  z-index: 999;
}

@media (max-width: 1024px) {
  .hero-slider {
    min-height: calc(100vh - 80px);
  }

  .hero-menu {
    min-height: 80px;
  }
}

@media (max-width: 767px) {
  .hero-slider {
    min-height: calc(100vh - 64px);
  }

  .hero-menu {
    min-height: 64px;
  }
}


/* =========================================================
   2. MOBILE MENÜ: FADE / EIN- UND AUSBLENDEN
   ========================================================= */

.mobile-header .e-n-menu-content,
.mobile-header .elementor-nav-menu--dropdown,
.mobile-header .elementor-menu-content {
  opacity: 1;
  will-change: opacity;
}

.mobile-header.is-closing .e-n-menu-content,
.mobile-header.is-closing .elementor-nav-menu--dropdown,
.mobile-header.is-closing .elementor-menu-content {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.mobile-header.is-opening .e-n-menu-content,
.mobile-header.is-opening .elementor-nav-menu--dropdown,
.mobile-header.is-opening .elementor-menu-content {
  animation: mobileMenuFadeIn 0.6s ease both;
}

@keyframes mobileMenuFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


/* =========================================================
   3. STANDARD-LOGOGRÖSSEN
   ========================================================= */

.elementor-element-a42b104,
.elementor-element-fe50c98,
.elementor-element-8fa3dc9 {
  min-width: 150px;
  flex-shrink: 0;
}

.elementor-element-a42b104 img,
.elementor-element-fe50c98 img,
.elementor-element-8fa3dc9 img {
  display: block !important;
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
}

.elementor-element-fe50c98,
.elementor-element-8fa3dc9 {
  margin-right: 24px;
}


/* =========================================================
   4. DESKTOP MENÜ-ABSTAND
   ========================================================= */

@media (min-width: 1025px) {
  .hero-menu-desktop .elementor-widget-nav-menu {
    padding-left: 48px;
    margin-right: 48px;
    box-sizing: border-box;
  }
}


/* =========================================================
   5. DESKTOP HERO FLOW
   ========================================================= */

@media (min-width: 1025px) {
  .desktop-hero.hero-flow-test {
    height: 100vh;
    height: 100svh;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .desktop-hero.hero-flow-test > .desktop-hero-stage {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .desktop-hero.hero-flow-test .desktop-slider-wrap {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .desktop-hero.hero-flow-test .desktop-slider-wrap .elementor-widget-smartslider,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .elementor-widget-container,
  .desktop-hero.hero-flow-test .desktop-slider-wrap ss3-force-full-width,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2_clear,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-section-smartslider,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-align,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-padding,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-slider,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-slider-wrapper-inside,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-slider-1,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-slider-2,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-slider-3,
  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-slider-4 {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }

  .desktop-hero.hero-flow-test .desktop-slider-wrap .n2-ss-preserve-size,
  .desktop-hero.hero-flow-test svg.n2-ss-preserve-size {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .desktop-hero.hero-flow-test > .hero-menu-desktop {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    flex: 0 0 auto !important;
    z-index: 20;
    width: 100%;
    background: #fff;
    margin: 0 !important;
    padding-top: 30px;
    padding-bottom: 50px;
    box-sizing: border-box;
    box-shadow: 0 0 0 100vmax #fff;
    clip-path: inset(0 -100vmax 0 -100vmax);
  }

  .desktop-hero.hero-flow-test > .hero-menu-desktop .elementor-container,
  .desktop-hero.hero-flow-test > .hero-menu-desktop .elementor-element,
  .desktop-hero.hero-flow-test > .hero-menu-desktop .elementor-widget-wrap {
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   6. TABLET PORTRAIT HERO FLOW
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {
  .portrait-hero.portrait-flow-test {
    height: 100vh;
    height: 100svh;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .portrait-hero.portrait-flow-test > .elementor-widget-smartslider,
  .portrait-hero.portrait-flow-test > .elementor-element-3163409 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .portrait-hero.portrait-flow-test .elementor-widget-smartslider,
  .portrait-hero.portrait-flow-test .elementor-widget-container,
  .portrait-hero.portrait-flow-test ss3-force-full-width,
  .portrait-hero.portrait-flow-test .n2_clear,
  .portrait-hero.portrait-flow-test .n2-section-smartslider,
  .portrait-hero.portrait-flow-test .n2-ss-align,
  .portrait-hero.portrait-flow-test .n2-padding,
  .portrait-hero.portrait-flow-test .n2-ss-slider,
  .portrait-hero.portrait-flow-test .n2-ss-slider-wrapper-inside,
  .portrait-hero.portrait-flow-test .n2-ss-slider-1,
  .portrait-hero.portrait-flow-test .n2-ss-slider-2,
  .portrait-hero.portrait-flow-test .n2-ss-slider-3,
  .portrait-hero.portrait-flow-test .n2-ss-slider-4 {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }

  .portrait-hero.portrait-flow-test .n2-ss-preserve-size,
  .portrait-hero.portrait-flow-test svg.n2-ss-preserve-size {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .portrait-hero.portrait-flow-test > .hero-menu-tablet {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-top: 18px;
    padding-right: 16px;
    padding-bottom: 24px;
    padding-left: 16px;
    box-sizing: border-box;
    background: #fff;
    z-index: 20;
    clip-path: none !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .portrait-hero.portrait-flow-test > .hero-menu-tablet.elementor-sticky--effects,
  .portrait-hero.portrait-flow-test > .hero-menu-tablet.elementor-sticky--active {
    z-index: 999 !important;
  }

  .portrait-hero.portrait-flow-test > .hero-menu-tablet .elementor-container,
  .portrait-hero.portrait-flow-test > .hero-menu-tablet .elementor-element,
  .portrait-hero.portrait-flow-test > .hero-menu-tablet .elementor-widget-wrap {
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   7. BEREINIGTES TABLET-MENÜ
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {
  .hero-menu-tablet,
  .hero-menu-tablet.elementor-sticky--active,
  .hero-menu-tablet.elementor-sticky--effects {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    min-height: 64px !important;
    max-height: 78px !important;
    height: auto !important;

    padding-top: 12px !important;
    padding-right: 16px !important;
    padding-bottom: 12px !important;
    padding-left: 16px !important;

    overflow: hidden !important;
    box-sizing: border-box !important;

    clip-path: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08) !important;
    background: #fff !important;
    transform: none !important;
  }

  .hero-menu-tablet .elementor-widget-theme-site-logo {
    flex: 0 0 auto !important;
    min-width: 120px !important;
    margin: 0 12px 0 20px !important;
    align-self: center !important;
    flex-shrink: 0;
  }

  .hero-menu-tablet .elementor-widget-theme-site-logo img {
    width: 120px !important;
    max-width: 120px !important;
    height: auto !important;
    display: block !important;
  }

  .hero-menu-tablet .elementor-widget-nav-menu {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 12px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    align-self: center !important;
  }

  .hero-menu-tablet .elementor-nav-menu--main,
  .hero-menu-tablet .elementor-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    gap: 12px !important;
  }

  .hero-menu-tablet .elementor-item {
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
}


/* =========================================================
   8. MOBILE HEADER + MOBILE SLIDER
   ========================================================= */

@media (max-width: 767px) {
  .mobile-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    background: #fff;
    margin: 0 !important;
    box-sizing: border-box;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
    will-change: transform, opacity;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    min-height: 60px !important;
  }

  .mobile-header.mobile-hidden {
    transform: translateY(calc(-100% - 8px));
    opacity: 0;
    pointer-events: none;
  }

  .mobile-header .mobile-header-inner {
    order: 2;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .mobile-header > .elementor-widget-theme-site-logo,
  .mobile-header > .elementor-element-a42b104 {
    order: 1;
    flex: 0 0 auto !important;
    min-width: auto !important;
    margin-left: 8px !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .mobile-header > .elementor-widget-theme-site-logo img,
  .mobile-header > .elementor-element-a42b104 img {
    display: block !important;
    width: 105px !important;
    max-width: 105px !important;
    height: auto !important;
  }

  .mobile-header .e-n-menu,
  .mobile-header .elementor-widget-n-menu,
  .mobile-header .elementor-widget-nav-menu,
  .mobile-header .e-n-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-header .e-n-menu-toggle,
  .mobile-header .elementor-menu-toggle,
  .mobile-header button[aria-controls] {
    min-height: 40px !important;
    min-width: 40px !important;
    line-height: 1 !important;
  }

  .mobile-header .e-n-menu-toggle-icon,
  .mobile-header .elementor-menu-toggle__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mobile-header .e-n-menu-toggle svg,
  .mobile-header .elementor-menu-toggle svg {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
  }

  .portrait-hero {
    min-height: 100svh !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .portrait-hero > .elementor-widget-smartslider,
  .portrait-hero > .elementor-element-3163409 {
    min-height: 100svh !important;
  }

  .portrait-hero .elementor-widget-container,
  .portrait-hero ss3-force-full-width,
  .portrait-hero .n2-section-smartslider,
  .portrait-hero .n2-ss-align,
  .portrait-hero .n2-padding,
  .portrait-hero .n2-ss-slider,
  .portrait-hero .n2-ss-slider-wrapper-inside,
  .portrait-hero .n2-ss-slider-1,
  .portrait-hero .n2-ss-slider-2,
  .portrait-hero .n2-ss-slider-3,
  .portrait-hero .n2-ss-slider-4 {
    height: 100% !important;
    min-height: 100svh !important;
  }
}


/* =========================================================
   9. HERO STARTANIMATION
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {
  #n2-ss-2item1,
  #n2-ss-2item2,
  #n2-ss-3item1,
  #n2-ss-3item2 {
    opacity: 0;
    transform: translateY(30px);
    will-change: transform, opacity;
  }

  #n2-ss-2item1,
  #n2-ss-3item1 {
    animation: heroFadeUp 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.25s forwards;
  }

  #n2-ss-2item2,
  #n2-ss-3item2 {
    animation: heroFadeUp 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.9s forwards;
  }

  @keyframes heroFadeUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  #n2-ss-2item1,
  #n2-ss-2item2,
  #n2-ss-3item1,
  #n2-ss-3item2 {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}


/* =========================================================
   10. REVEAL ON SCROLL
   ========================================================= */

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 {
  transition-delay: 0.08s;
}

.reveal-delay-2 {
  transition-delay: 0.18s;
}

.reveal-delay-3 {
  transition-delay: 0.28s;
}

@media (max-width: 1024px), (hover: none), (pointer: coarse) {
  .reveal-on-scroll,
  .reveal-on-scroll.is-visible,
  .reveal-delay-1,
  .reveal-delay-2,
  .reveal-delay-3 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll,
  .reveal-on-scroll.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

body.elementor-editor-active .reveal-on-scroll,
.elementor-editor-active .reveal-on-scroll {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}


/* =========================================================
   11. ICON-HOVER
   ========================================================= */

@media (min-width: 768px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .pep-icon {
    cursor: default;
  }

  .pep-icon .elementor-widget-container {
    display: inline-block;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
  }

  .pep-icon .elementor-icon,
  .pep-icon .elementor-icon svg {
    transition:
      transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.28s ease;
    transform-origin: center center;
  }

  .pep-icon:hover .elementor-widget-container {
    transform: translateY(-6px);
  }

  .pep-icon:hover .elementor-icon,
  .pep-icon:hover .elementor-icon svg {
    transform: scale(1.06);
    opacity: 0.92;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pep-icon .elementor-widget-container,
  .pep-icon .elementor-icon,
  .pep-icon .elementor-icon svg {
    transition: none !important;
    transform: none !important;
  }
}


/* =========================================================
   12. MENÜ / HEADER VEREDELUNG
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {
  .hero-menu-desktop,
  .hero-menu-tablet,
  .mobile-header {
    transition:
      box-shadow 0.3s ease,
      background-color 0.3s ease,
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  .hero-menu-desktop .elementor-item,
  .hero-menu-tablet .elementor-item,
  .mobile-header .e-n-menu-title-container,
  .mobile-header .elementor-item {
    transition:
      color 0.25s ease,
      opacity 0.25s ease,
      transform 0.25s ease;
  }

  .hero-menu-desktop .elementor-widget-theme-site-logo img,
  .hero-menu-tablet .elementor-widget-theme-site-logo img,
  .mobile-header .elementor-widget-theme-site-logo img {
    transition:
      opacity 0.25s ease,
      transform 0.25s ease,
      filter 0.25s ease;
  }
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .hero-menu-desktop .elementor-item:hover,
  .hero-menu-tablet .elementor-item:hover {
    opacity: 0.78;
    transform: translateY(-1px);
  }

  .hero-menu-desktop .elementor-widget-theme-site-logo:hover img,
  .hero-menu-tablet .elementor-widget-theme-site-logo:hover img {
    opacity: 0.92;
    transform: translateY(-1px);
  }
}

@media (max-width: 767px) {
  .mobile-header .elementor-widget-theme-site-logo:hover img {
    opacity: 0.94;
  }
}

@media (min-width: 1025px) {
  .hero-menu-desktop.elementor-sticky--active,
  .hero-menu-desktop.elementor-sticky--effects {
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-menu-desktop,
  .hero-menu-tablet,
  .mobile-header,
  .hero-menu-desktop .elementor-item,
  .hero-menu-tablet .elementor-item,
  .mobile-header .e-n-menu-title-container,
  .mobile-header .elementor-item,
  .hero-menu-desktop .elementor-widget-theme-site-logo img,
  .hero-menu-tablet .elementor-widget-theme-site-logo img,
  .mobile-header .elementor-widget-theme-site-logo img {
    transition: none !important;
    transform: none !important;
  }
}


/* =========================================================
   13. DETAIL-ZEILEN HOVER
   ========================================================= */

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .detail-row {
    transition:
      transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.28s ease;
    will-change: transform;
  }

  .detail-row .elementor-widget-icon .elementor-icon,
  .detail-row .elementor-widget-icon svg,
  .detail-row .elementor-widget-text-editor,
  .detail-row .elementor-heading-title {
    transition:
      transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.28s ease;
  }

  .detail-row:hover {
    transform: translateX(6px);
  }

  .detail-row:hover .elementor-widget-icon .elementor-icon,
  .detail-row:hover .elementor-widget-icon svg {
    transform: translateX(3px);
  }

  .detail-row:hover .elementor-widget-text-editor,
  .detail-row:hover .elementor-heading-title {
    opacity: 0.88;
  }
}

@media (prefers-reduced-motion: reduce) {
  .detail-row,
  .detail-row:hover,
  .detail-row .elementor-widget-icon .elementor-icon,
  .detail-row .elementor-widget-icon svg,
  .detail-row .elementor-widget-text-editor,
  .detail-row .elementor-heading-title {
    transition: none !important;
    transform: none !important;
  }
}


/* =========================================================
   14. KONTAKTBEREICH
   ========================================================= */

.contact-stage {
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .contact-card {
    transition:
      transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.3s ease,
      box-shadow 0.3s ease;
    will-change: transform;
  }

  .contact-card:hover {
    transform: translateY(-4px);
  }

  .contact-card .elementor-widget-heading,
  .contact-card .elementor-widget-text-editor,
  .contact-card .elementor-widget-divider {
    transition:
      opacity 0.28s ease,
      transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .contact-card:hover .elementor-widget-heading,
  .contact-card:hover .elementor-widget-text-editor {
    opacity: 0.9;
  }

  .contact-card:hover .elementor-widget-divider {
    transform: scaleX(1.02);
    transform-origin: left center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-card,
  .contact-card:hover,
  .contact-card .elementor-widget-heading,
  .contact-card .elementor-widget-text-editor,
  .contact-card .elementor-widget-divider {
    transition: none !important;
    transform: none !important;
  }
}


/* =========================================================
   15. SLIDER-TYPOGRAFIE / SICHTBARKEIT QUERFORMAT
   ========================================================= */

@media (orientation: landscape) and (min-width: 1025px) {
  #n2-ss-2item1,
  #n2-ss-2item3,
  #n2-ss-2item5,
  #n2-ss-2item6,
  #n2-ss-2item7 {
    font-size: clamp(28px, 2.7vw, 60px) !important;
    line-height: 1.12 !important;
  }

  #n2-ss-2 .n2-font-ab96d22672f5770fb40b65568d1de43b-paragraph {
    font-size: clamp(16px, 1.15vw, 30px) !important;
    line-height: 1.2 !important;
  }

  #n2-ss-2 .n-uc-PdUs9qlCEdCG,
  #n2-ss-2 .n-uc-I1qCikDEsQFf,
  #n2-ss-2 .n-uc-DICzAlmBkqn6,
  #n2-ss-2 .n-uc-JZF5yMtWzygu,
  #n2-ss-2 .n-uc-1e1751c296d32 {
    width: auto !important;
    max-width: min(78vw, 1100px) !important;
  }

  #n2-ss-2item2 {
    width: clamp(260px, 30vw, 520px) !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (orientation: landscape) and (min-width: 1025px) and (max-width: 1366px) {
  #n2-ss-2item1,
  #n2-ss-2item3,
  #n2-ss-2item5,
  #n2-ss-2item6,
  #n2-ss-2item7 {
    font-size: clamp(26px, 2.45vw, 48px) !important;
  }

  #n2-ss-2 .n2-font-ab96d22672f5770fb40b65568d1de43b-paragraph {
    font-size: clamp(15px, 1.05vw, 22px) !important;
  }

  #n2-ss-2item2 {
    width: clamp(220px, 26vw, 420px) !important;
  }
}

@media (orientation: landscape) and (min-width: 1025px) and (max-height: 900px) {
  #n2-ss-2 .n-uc-150fad95a253f,
  #n2-ss-2 .n-uc-2MLKdmfpz7Gu,
  #n2-ss-2 .n-uc-CfqIFIrdzZw1,
  #n2-ss-2 .n-uc-1ff20cdbbd4b9 {
    --margin-left: 24px !important;
  }

  #n2-ss-2 .n-uc-150fad95a253f {
    --margin-top: -220px !important;
  }

  #n2-ss-2 .n-uc-2MLKdmfpz7Gu {
    --margin-top: -300px !important;
  }

  #n2-ss-2 .n-uc-CfqIFIrdzZw1 {
    --margin-top: 360px !important;
  }

  #n2-ss-2 .n-uc-1ff20cdbbd4b9 {
    --margin-top: -300px !important;
  }
}

@media (orientation: landscape) and (min-width: 768px) and (max-width: 1024px) {
  #n2-ss-3item1,
  #n2-ss-3item3,
  #n2-ss-3item5,
  #n2-ss-3item6,
  #n2-ss-3item7 {
    font-size: clamp(24px, 3.3vw, 42px) !important;
    line-height: 1.12 !important;
  }

  #n2-ss-3 .n2-font-ab96d22672f5770fb40b65568d1de43b-paragraph {
    font-size: clamp(14px, 1.5vw, 22px) !important;
    line-height: 1.2 !important;
  }

  #n2-ss-3item2 {
    width: clamp(180px, 34vw, 320px) !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* =========================================================
   16. iPAD / TOUCH-TABLET: HERO-MENÜ ENTSCHÄRFEN
   ========================================================= */

@media (hover: none) and (pointer: coarse) and (min-width: 768px) and (max-width: 1366px) {
  /* Reveal auf Touch sicher aus */
  .reveal-on-scroll,
  .reveal-on-scroll.is-visible,
  .reveal-delay-1,
  .reveal-delay-2,
  .reveal-delay-3 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* Nur die Hero-Menüs entschärfen */
  .hero-menu-desktop,
  .hero-menu-desktop.elementor-sticky--active,
  .hero-menu-desktop.elementor-sticky--effects,
  .hero-menu-tablet,
  .hero-menu-tablet.elementor-sticky--active,
  .hero-menu-tablet.elementor-sticky--effects {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    transform: none !important;
    clip-path: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08) !important;
    background: #fff !important;
    z-index: 30 !important;
  }
}/* End custom CSS */