.elementor-kit-7{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#1D1D1B;--e-global-color-text:#1D1D1B;--e-global-color-accent:#009FE3;--e-global-color-31f8ffe:#000E1D;--e-global-color-1d02f1b:#070B0E;--e-global-color-5128d81:#004F70;--e-global-color-6153bfc:#0B261F;--e-global-color-f2967ce:#246958;--e-global-color-a5f59cc:#2B0F12;--e-global-color-4225470:#2B250A;--e-global-color-0b8a96c:#C9AF39;--e-global-color-17363b7:#992733;--e-global-color-8f6705a:#1E0F2B;--e-global-color-8dfa55c:#802EC7;--e-global-color-2c08a19:#2B180A;--e-global-color-9bee9b8:#BD5910;--e-global-color-f3c026c:#1F1F1F;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Cormorant Garamond";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"Cormorant Garamond", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;text-shadow:0px 0px 0px rgba(0,0,0,0.3);color:#FFFFFF;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:2px 2px 2px 2px;padding:14px 24px 14px 24px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#02010100;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF;border-radius:2px 2px 2px 2px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-7 h2{color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-size:38px;font-weight:900;}.elementor-kit-7 h3{color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-size:30px;font-weight:500;}.elementor-kit-7 h4{color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-size:22px;font-weight:500;}.elementor-kit-7 h5{color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;}.elementor-kit-7 h6{color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-size:16px;font-weight:500;}.elementor-kit-7 img{border-radius:2px 2px 2px 2px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* gleiche Schrift für alle Elementor-Buttons durchsetzen */
.elementor a.elementor-button,
.elementor .elementor-button,
.elementor .elementor-button .elementor-button-text {
  font-family: "Poppins"
}
/* Hero darf nicht abschneiden */
.hero-section{
  position: relative;
  overflow: visible !important;
  z-index: 1;
}

/* Sektion 2 liegt drüber */
.overlay-section{
  position: relative;
  z-index: 50;
  will-change: transform, opacity, filter;
  transform: translateY(0px);
}
/* Zustand: dunkler Hintergrund => Navbar hell */ .site-navbar.is-dark, .site-navbar.is-dark a { color: #fff !important; } .site-navbar.is-dark svg, .site-navbar.is-dark img { filter: brightness(0) invert(1); } /* Zustand: heller Hintergrund => Navbar dunkel */ .site-navbar.is-light, .site-navbar.is-light a { color: #111 !important; } .site-navbar.is-light svg, .site-navbar.is-light img { filter: none; } /* CTA (Rahmen + Hover) */ .site-navbar .nav-cta a.elementor-button, .site-navbar .nav-cta .elementor-button { background: transparent !important; border: 2px solid currentColor !important; transition: all .2s ease !important; } .site-navbar.is-dark .nav-cta a.elementor-button, .site-navbar.is-dark .nav-cta .elementor-button { color: #fff !important; border-color: #fff !important; } .site-navbar.is-light .nav-cta a.elementor-button, .site-navbar.is-light .nav-cta .elementor-button { color: #111 !important; border-color: #111 !important; } .site-navbar.is-dark .nav-cta a.elementor-button:hover, .site-navbar.is-dark .nav-cta .elementor-button:hover { background: #fff !important; color: #111 !important; } .site-navbar.is-light .nav-cta a.elementor-button:hover, .site-navbar.is-light .nav-cta .elementor-button:hover { background: #111 !important; color: #fff !important; }

.roadmap{
  position: relative;
  overflow: visible !important;
  color: #000 !important;
}

.roadmap.roadmap--s{
  padding: 0px 0;
}

.roadmap-svg{
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  width: clamp(220px, 30vw, 420px) !important;
  height: auto !important;
  display: block !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.roadmap-step{
  position: relative;
  z-index: 2;
  width: min(680px, 96%);
  margin: 0px 0;
}

.roadmap-step.is-left{ margin-right: auto; }
.roadmap-step.is-right{ margin-left: auto; }

.roadmap-path{
  fill: none !important;
  stroke-width: 6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.roadmap-path--bg{
  stroke: rgba(0,0,0,.18) !important;
}
.roadmap-path--fg{
  stroke: #000 !important;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

/* Nodes: Grundzustand komplett schwarz gefüllt */
.roadmap-node--bg{
  fill: #000 !important;
  stroke: #000 !important;
  stroke-width: 0 !important;
}

/* Aktive Nodes (Overlay), werden eingeblendet + größer */
.roadmap-node--fg{
  fill: #000 !important;
  stroke: #000 !important;
  stroke-width: 0 !important;
  opacity: 0;
  transform: scale(1);
  transform-origin: center;
  transform-box: fill-box;
  transition: transform .22s ease, opacity .22s ease;
}
.roadmap-node--fg.is-on{
  opacity: 1;
  transform: scale(1.5);
  fill: #009FE3 !important;
  stroke: #009FE3 !important;
}

.roadmap-step{
  opacity: .4;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
  will-change: opacity, transform;
}

.roadmap-step.is-active{
  opacity: 1;
  transform: translateY(0);
}
.circle-arrow {
  width: 160px;
  height: 160px;
  display: inline-block;
}

.circle-svg {
  width: 100%;
  height: 100%;
}

/* rotierender Text */
.circle-text {
  font-family: "Poppins", sans-serif;
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  fill: #ffffff;
}

/* Ring */
.circle-ring {
  fill: none;
  stroke: rgba(255,255,255,0.5);
  stroke-width: 3;
}

/* Pfeil */
.arrow-icon line,
.arrow-icon polyline {
  stroke: #ffffff;
  stroke-width: 3;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html {
  scroll-behavior: smooth;
}
.anchor-offset {
  scroll-margin-top: 100px;
}
.onepage-anchor{
  position: relative;
  top: -120px;      /* = Headerhöhe + Luft */
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
footer .elementor-widget-theme-site-logo svg{
  color: #fff !important;
}
@media (max-width: 1024px) and (min-width: 768px){
  .roadmap-svg{
    width: clamp(260px, 32vw, 480px) !important;
  }

  .roadmap-step{
    width: min(640px, 96%);
  }
}
@media (max-width: 767px){

  /* Dark State – Mobile Menü */
  .site-navbar.is-dark 
  .elementor-nav-menu--dropdown,
  .site-navbar.is-dark 
  .elementor-nav-menu__container{
    background: rgba(31,31,31,0.95) !important; /* #1f1f1f */
  }

  /* Light State – Mobile Menü */
  .site-navbar.is-light 
  .elementor-nav-menu--dropdown,
  .site-navbar.is-light 
  .elementor-nav-menu__container{
    background: rgba(255,255,255,0.95) !important;
  }

}
html, body {
  background: #1f1f1f;
}
@media (max-width: 767px){
  .roadmap-step{
    width: min(520px, 92%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .roadmap-step.is-left,
  .roadmap-step.is-right{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
.roadmap-svg--mobile{ display: none; }

@media (max-width: 767px){
  .roadmap-svg{ display: none !important; }
  .roadmap-svg--mobile{
    display: block !important;
    width: 10px !important;
  }
}
/* Roadmap Text/Container responsiv – SVG bleibt unverändert */
@media (min-width: 1200px){
  .roadmap-step{
    width: min(760px, 94%) !important;
  }
}

@media (min-width: 1600px){
  .roadmap-step{
    width: min(920px, 94%) !important;
  }
}
/* Große Screens: mehr Abstand zur Seite → näher an der Linie */
@media (min-width: 1200px){
  .roadmap-step.is-left{
    margin-right: clamp(8vw, 14vw, 20vw) !important;
  }

  .roadmap-step.is-right{
    margin-left: clamp(8vw, 14vw, 20vw) !important;
  }
}
@media (min-width: 1600px){
  .roadmap-step.is-left{
    margin-right: 18vw !important;
  }

  .roadmap-step.is-right{
    margin-left: 18vw !important;
  }
}
@media (max-width: 767px){

  /* Step selbst bleibt "nackt" */
  .roadmap-step{
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  /* nur der Inhalt bekommt einen dezenten Hintergrund */
  .roadmap-step .elementor-widget-heading,
  .roadmap-step .elementor-widget-text-editor{
    display: inline-block;
    background: rgba(255,255,255,0.92);
    padding: 8px 12px;
    border-radius: 12px;
  }

  /* etwas Abstand zwischen Headline und Text */
  .roadmap-step .elementor-widget-text-editor{
    margin-top: 8px;
  }
}
.fluentform,
.fluentform * {
  font-family: "Poppins", sans-serif !important;
}
.custom-cursor {
  width: 18px;
  height: 18px;
  border: 2px solid #009FE3;
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 999999;
}
/* Custom Cursor auf Touch-Geräten komplett deaktivieren */
@media (hover: none) and (pointer: coarse) {
  body, body * {
    cursor: auto !important;
  }

  .custom-cursor {
    display: none !important;
  }
}

.fullbleed{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.fullbleed.e-con,
.fullbleed.e-con-full{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.project-grid{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 0 !important;
}

.project-grid > .e-con{
  padding: 0 !important;
  margin: 0 !important;
}

.project-grid img{
  display: block;
  width: 100%;
  height: auto;
}
.hover-card-link{
  position:absolute;
  inset:0;
  z-index:3;
}

.img-hover-card__content,
.img-hover-card::before{
  pointer-events:none;
}
.img-hover-card{
  position:relative;
}
.circle-arrow{
  position: relative;
  z-index: 9999;
}
.overlay-section{
  pointer-events: none;
}/* End custom CSS */