.elementor-9234 .elementor-element.elementor-element-2dbced3b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9234 .elementor-element.elementor-element-2dbced3b:not(.elementor-motion-effects-element-type-background), .elementor-9234 .elementor-element.elementor-element-2dbced3b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#050708;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* =========================================================
   PSR HEADER 2026
   Developer Studio × Creative Lab
========================================================= */

.psr-header-2026{
  --red:#ed302c;
  --bg:#050708;
  --panel:#0b0f12;
  --line:rgba(255,255,255,.08);
  --muted:#9ea6ad;

  width:100%;

  position:relative;

  z-index:999999;

  font-family:Inter,Arial,sans-serif;

  color:#fff;
}

.psr-header-2026 *,
.psr-header-2026 *:before,
.psr-header-2026 *:after{
  box-sizing:border-box;
}

.psr-header-2026 a{
  text-decoration:none;
}

.psr-header-wrap{
  width:min(1440px,calc(100% - 64px));

  margin:0 auto;

  overflow:visible!important;
}


/* =========================================================
   SUBHEADER
========================================================= */

.psr-subbar{
  position:relative;

  z-index:100;

  background:#050708;

  border-bottom:
    1px solid rgba(255,255,255,.06);
}

.psr-subbar-inner{
  min-height:40px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:30px;
}

.psr-sub-left,
.psr-sub-right{
  display:flex;

  align-items:center;

  gap:24px;
}

.psr-subbar a{
  color:#9da5ad!important;

  font-size:10px;

  font-weight:600;

  transition:
    color .25s ease;
}

.psr-subbar a:hover{
  color:#fff!important;
}

.psr-sub-call{
  display:flex;

  align-items:center;

  color:#fff!important;

  font-weight:700!important;
}


/* LIVE DOT */

.psr-live-dot{
  position:relative;

  width:7px;

  height:7px;

  margin-right:10px;

  border-radius:50%;

  background:var(--red);

  box-shadow:
    0 0 12px rgba(237,48,44,.8);
}

.psr-live-dot:after{
  content:"";

  position:absolute;

  inset:-5px;

  border-radius:50%;

  border:
    1px solid rgba(237,48,44,.35);

  animation:
    psrPulse 2s infinite;
}

@keyframes psrPulse{

  0%{
    transform:scale(.5);

    opacity:1;
  }

  100%{
    transform:scale(1.7);

    opacity:0;
  }

}


/* =========================================================
   MAINBAR
========================================================= */

.psr-mainbar{
  position:relative;

  z-index:5000;

  padding:9px 0;

  overflow:visible!important;

  background:
    rgba(5,7,8,.97);

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);
}

.psr-mainbar-panel{
  position:relative;

  z-index:5001;

  min-height:82px;

  display:grid;

  grid-template-columns:
    auto 1fr auto;

  align-items:center;

  gap:42px;

  padding:
    0 10px 0 4px;

  border:0;

  border-radius:0;

  background:transparent;

  box-shadow:none;

  overflow:visible!important;
}


/* =========================================================
   LOGO
========================================================= */

.psr-header-logo{
  position:relative;

  z-index:5002;
}

.psr-header-logo img{
  display:block;

  width:200px;

  max-height:52px;

  object-fit:contain;
}


/* =========================================================
   DESKTOP NAV
========================================================= */

.psr-nav{
  position:static;

  z-index:6000;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:10px;
}

.psr-nav > a,
.psr-nav-parent{
  position:relative;

  min-height:48px;

  display:flex;

  align-items:center;

  padding:
    0 17px;

  border-radius:10px;

  color:
    rgba(255,255,255,.78)!important;

  font-size:11px;

  font-weight:800;

  letter-spacing:.09em;

  text-transform:uppercase;

  transition:
    color .25s ease,
    background .25s ease,
    transform .25s ease;
}

.psr-nav > a:hover,
.psr-nav-parent:hover{
  color:#fff!important;

  background:
    rgba(255,255,255,.04);

  transform:
    translateY(-1px);
}

.psr-nav-chevron{
  margin-left:8px;

  color:var(--red);

  font-size:14px;

  transition:
    transform .25s ease;
}


/* =========================================================
   MEGA MENU WRAPPER
========================================================= */

.psr-nav-mega{
  position:static;
}

.psr-nav-mega .psr-nav-parent{
  position:relative;

  z-index:7001;
}


/* =========================================================
   MEGA MENU CONTAINER
========================================================= */

.psr-mega-menu{
  position:absolute;

  top:100%;

  left:50%;

  width:min(1320px,calc(100vw - 64px));

  padding-top:0;

  transform:
    translateX(-50%)
    translateY(8px);

  opacity:0;

  visibility:hidden;

  pointer-events:none;

  z-index:999999;

  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .25s cubic-bezier(.22,1,.36,1);
}


/* HOVER BRÜCKE */

.psr-mega-menu:before{
  content:"";

  position:absolute;

  left:0;

  right:0;

  top:-30px;

  height:34px;

  background:transparent;
}


/* MEGA MENU OPEN */

.psr-nav-mega:hover .psr-mega-menu,
.psr-nav-mega:focus-within .psr-mega-menu,
.psr-mega-menu:hover{
  opacity:1;

  visibility:visible;

  pointer-events:auto;

  transform:
    translateX(-50%)
    translateY(0);
}

.psr-nav-mega:hover .psr-nav-chevron,
.psr-nav-mega:focus-within .psr-nav-chevron{
  transform:
    rotate(180deg);
}


/* =========================================================
   MEGA MENU INNER
========================================================= */

.psr-mega-inner{
  position:relative;

  z-index:1000000;

  display:grid;

  grid-template-columns:
    1.2fr
    1fr
    1fr
    1fr;

  overflow:hidden;

  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      #0e1216 0%,
      #080a0c 100%
    );

  box-shadow:
    0 40px 120px rgba(0,0,0,.75),
    0 8px 30px rgba(0,0,0,.45);
}


/* TOP RED LINE */

.psr-mega-inner:before{
  content:"";

  position:absolute;

  top:0;

  left:35px;

  right:35px;

  height:1px;

  z-index:10;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(237,48,44,.85),
      transparent
    );
}


/* =========================================================
   MEGA INTRO
========================================================= */

.psr-mega-intro{
  position:relative;

  min-height:390px;

  padding:36px;

  display:flex;

  flex-direction:column;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 15% 10%,
      rgba(237,48,44,.19),
      transparent 45%
    ),
    #080b0e;
}

.psr-mega-intro:before{
  content:"";

  position:absolute;

  inset:0;

  background-image:
    linear-gradient(
      rgba(255,255,255,.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.025) 1px,
      transparent 1px
    );

  background-size:
    38px 38px;

  pointer-events:none;
}

.psr-mega-intro:after{
  content:"";

  position:absolute;

  width:260px;

  height:260px;

  left:-100px;

  bottom:-130px;

  border-radius:50%;

  background:
    rgba(237,48,44,.12);

  filter:
    blur(50px);
}

.psr-mega-intro > *{
  position:relative;

  z-index:2;
}

.psr-mega-label{
  color:var(--red);

  font-size:9px;

  font-weight:900;

  letter-spacing:.17em;

  text-transform:uppercase;
}

.psr-mega-intro-content{
  margin-top:auto;
}

.psr-mega-intro h3{
  max-width:260px;

  margin:0;

  color:#fff;

  font-size:38px;

  line-height:.98;

  letter-spacing:-.05em;
}

.psr-mega-intro h3 span{
  color:var(--red);
}

.psr-mega-intro p{
  max-width:290px;

  margin:
    20px 0 26px;

  color:#9fa7ae;

  font-size:11px;

  line-height:1.7;
}

.psr-mega-all{
  color:#fff!important;

  font-size:9px;

  font-weight:900;

  letter-spacing:.08em;

  text-transform:uppercase;
}


/* =========================================================
   MEGA COLUMNS
========================================================= */

.psr-mega-column{
  padding:
    34px 21px;

  border-left:
    1px solid rgba(255,255,255,.06);
}

.psr-mega-column-title{
  margin:
    0 10px 18px;

  padding-bottom:15px;

  border-bottom:
    1px solid rgba(255,255,255,.07);

  color:#727b83;

  font-size:8px;

  font-weight:900;

  letter-spacing:.16em;

  text-transform:uppercase;
}

.psr-mega-column > a{
  display:grid;

  grid-template-columns:
    30px 1fr;

  gap:11px;

  padding:
    14px 10px;

  border-radius:11px;

  color:#fff!important;

  transition:
    background .25s ease,
    transform .25s ease;
}

.psr-mega-column > a:hover{
  transform:
    translateX(4px);

  background:
    rgba(255,255,255,.045);
}

.psr-mega-num{
  padding-top:2px;

  color:var(--red);

  font-family:monospace;

  font-size:9px;
}

.psr-mega-column strong{
  display:block;

  color:#fff;

  font-size:12px;

  line-height:1.3;
}

.psr-mega-column small{
  display:block;

  margin-top:4px;

  color:#828c94;

  font-size:9px;

  line-height:1.45;
}


/* =========================================================
   MEGA FEATURE
========================================================= */

.psr-mega-feature{
  position:relative;

  margin:
    20px 8px 0;

  padding:20px;

  overflow:hidden;

  border-radius:14px;

  background:
    linear-gradient(
      145deg,
      rgba(237,48,44,.18),
      rgba(237,48,44,.045)
    );
}

.psr-mega-feature:after{
  content:"";

  position:absolute;

  width:150px;

  height:150px;

  right:-80px;

  top:-80px;

  border-radius:50%;

  background:
    rgba(237,48,44,.16);

  filter:
    blur(30px);
}

.psr-mega-feature > *{
  position:relative;

  z-index:2;
}

.psr-mega-feature-label{
  display:block;

  margin-bottom:18px;

  color:var(--red);

  font-size:7px;

  font-weight:900;

  letter-spacing:.12em;

  text-transform:uppercase;
}

.psr-mega-feature strong{
  display:block;

  font-size:18px;

  line-height:1.2;
}

.psr-mega-feature p{
  margin:
    8px 0 18px;

  color:#a6aeb5;

  font-size:9px;

  line-height:1.6;
}

.psr-mega-feature a{
  color:#fff!important;

  font-size:9px;

  font-weight:900;

  text-transform:uppercase;

  transition:
    color .25s ease;
}

.psr-mega-feature a:hover{
  color:var(--red)!important;
}


/* =========================================================
   DESKTOP CTA
========================================================= */

.psr-request{
  position:relative;

  min-height:49px;

  padding:
    0 21px;

  display:flex;

  align-items:center;

  justify-content:center;

  overflow:hidden;

  border-radius:10px;

  background:var(--red);

  color:#fff!important;

  font-size:10px;

  font-weight:900;

  letter-spacing:.07em;

  text-transform:uppercase;

  box-shadow:
    0 12px 30px rgba(237,48,44,.18);

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.psr-request:before{
  content:"";

  position:absolute;

  top:-50%;

  left:-90%;

  width:50%;

  height:200%;

  transform:
    rotate(20deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.32),
      transparent
    );

  transition:
    left .65s ease;
}

.psr-request:hover{
  transform:
    translateY(-2px);

  box-shadow:
    0 18px 40px rgba(237,48,44,.29);
}

.psr-request:hover:before{
  left:140%;
}

.psr-request-arrow{
  margin-left:10px;

  transition:
    transform .25s ease;
}

.psr-request:hover .psr-request-arrow{
  transform:
    translateX(4px);
}


/* =========================================================
   MOBILE NAV WRAPPER
========================================================= */

.psr-mobile-nav{
  display:none;

  position:relative;

  z-index:1000000;
}

.psr-mobile-nav > summary,
.psr-mobile-services > summary{
  list-style:none;
}

.psr-mobile-nav > summary::-webkit-details-marker,
.psr-mobile-services > summary::-webkit-details-marker{
  display:none;
}


/* =========================================================
   HAMBURGER
========================================================= */

.psr-menu-toggle{
  width:46px;

  height:46px;

  padding:0;

  display:flex;

  align-items:center;

  justify-content:center;

  flex-direction:column;

  gap:5px;

  border:0;

  border-radius:10px;

  background:
    rgba(255,255,255,.055);

  cursor:pointer;

  outline:none;

  user-select:none;
}

.psr-menu-toggle span{
  display:block;

  width:21px;

  height:2px;

  border-radius:10px;

  background:#fff;

  transition:
    transform .25s ease,
    opacity .2s ease;
}


/* HAMBURGER OPEN -> X */

.psr-mobile-nav[open]
.psr-menu-toggle span:nth-child(1){
  transform:
    translateY(7px)
    rotate(45deg);
}

.psr-mobile-nav[open]
.psr-menu-toggle span:nth-child(2){
  opacity:0;
}

.psr-mobile-nav[open]
.psr-menu-toggle span:nth-child(3){
  transform:
    translateY(-7px)
    rotate(-45deg);
}


/* =========================================================
   MOBILE MENU
========================================================= */

.psr-mobile-menu{
  position:absolute;

  top:calc(100% + 12px);

  right:0;

  width:min(440px,calc(100vw - 26px));

  max-height:
    calc(100vh - 120px);

  overflow-y:auto;

  overscroll-behavior:contain;

  border-radius:16px;

  background:
    rgba(7,9,11,.995);

  backdrop-filter:
    blur(22px);

  -webkit-backdrop-filter:
    blur(22px);

  box-shadow:
    0 30px 80px rgba(0,0,0,.72);

  z-index:1000001;
}

.psr-mobile-menu:before{
  content:"";

  position:absolute;

  top:0;

  left:24px;

  right:24px;

  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--red),
      transparent
    );
}

.psr-mobile-menu-inner{
  width:100%;

  padding:20px;
}


/* =========================================================
   MOBILE CONTACT
========================================================= */

.psr-mobile-contact{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:9px;

  margin-bottom:18px;
}

.psr-mobile-contact a{
  min-height:66px;

  display:flex;

  align-items:center;

  gap:10px;

  padding:11px;

  border-radius:11px;

  background:
    rgba(255,255,255,.045);

  color:#fff!important;

  transition:
    background .25s ease,
    transform .25s ease;
}

.psr-mobile-contact a:hover{
  background:
    rgba(237,48,44,.1);

  transform:
    translateY(-1px);
}

.psr-mobile-contact-icon{
  width:34px;

  height:34px;

  flex:0 0 34px;

  display:flex;

  align-items:center;

  justify-content:center;

  border-radius:9px;

  background:
    rgba(237,48,44,.14);

  color:var(--red);
}

.psr-mobile-contact small{
  display:block;

  margin-bottom:3px;

  color:#747e86;

  font-size:7px;

  font-weight:800;

  letter-spacing:.09em;

  text-transform:uppercase;
}

.psr-mobile-contact a span:last-child{
  font-size:10px;

  line-height:1.25;

  font-weight:800;
}


/* =========================================================
   MOBILE MAIN LINKS
========================================================= */

.psr-mobile-main-link{
  min-height:54px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  color:#fff!important;

  border-bottom:
    1px solid rgba(255,255,255,.07);

  font-size:13px;

  font-weight:750;
}

.psr-mobile-main-link > span{
  color:var(--red);
}


/* =========================================================
   MOBILE LEISTUNGEN
========================================================= */

.psr-mobile-services{
  border-bottom:
    1px solid rgba(255,255,255,.07);
}

.psr-mobile-dropdown-toggle{
  width:100%;

  min-height:54px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  padding:0;

  color:#fff;

  cursor:pointer;

  font-size:13px;

  font-weight:750;
}

.psr-mobile-plus{
  color:var(--red);

  font-size:21px;

  font-weight:300;

  transition:
    transform .25s ease;
}

.psr-mobile-services[open]
.psr-mobile-plus{
  transform:
    rotate(45deg);
}


/* =========================================================
   MOBILE SUBMENU
========================================================= */

.psr-mobile-submenu{
  padding:
    4px 0 14px 12px;
}

.psr-mobile-submenu a{
  position:relative;

  display:block;

  padding:
    11px 10px 11px 17px;

  color:#a8b0b6!important;

  font-size:10px;

  line-height:1.35;

  transition:
    color .2s ease,
    padding-left .2s ease;
}

.psr-mobile-submenu a:before{
  content:"";

  position:absolute;

  left:2px;

  top:50%;

  width:5px;

  height:1px;

  background:
    rgba(237,48,44,.7);

  transform:
    translateY(-50%);
}

.psr-mobile-submenu a:hover{
  color:#fff!important;

  padding-left:21px;
}

.psr-mobile-all-services{
  margin-top:5px;

  color:var(--red)!important;

  font-weight:800!important;
}


/* =========================================================
   MOBILE CTA
========================================================= */

.psr-mobile-request{
  min-height:50px;

  margin-top:18px;

  display:flex;

  align-items:center;

  justify-content:center;

  border-radius:9px;

  background:var(--red);

  color:#fff!important;

  font-size:10px;

  font-weight:900;

  letter-spacing:.07em;

  text-transform:uppercase;
}


/* =========================================================
   MOBILE SHOP LINKS
========================================================= */

.psr-mobile-shop-links{
  display:flex;

  justify-content:center;

  gap:22px;

  margin-top:18px;
}

.psr-mobile-shop-links a{
  color:#7f8990!important;

  font-size:9px;
}


/* =========================================================
   MARQUEE
========================================================= */

.psr-marquee{
  position:relative;

  z-index:100;

  overflow:hidden;

  white-space:nowrap;

  background:#090c0f;

  border-top:
    1px solid rgba(255,255,255,.04);

  border-bottom:
    1px solid rgba(255,255,255,.06);
}

.psr-marquee-track{
  display:inline-flex;

  min-width:max-content;

  animation:
    psrMarquee 27s linear infinite;
}

.psr-marquee-item{
  min-height:37px;

  display:flex;

  align-items:center;

  gap:13px;

  padding:
    0 34px;

  color:#9ea7ae;

  font-size:9px;

  font-weight:900;

  letter-spacing:.15em;

  text-transform:uppercase;
}

.psr-marquee-item span{
  width:6px;

  height:6px;

  flex-shrink:0;

  background:var(--red);

  transform:
    rotate(45deg);

  box-shadow:
    0 0 10px rgba(237,48,44,.45);
}

.psr-marquee:hover .psr-marquee-track{
  animation-play-state:paused;
}

@keyframes psrMarquee{

  from{
    transform:
      translateX(0);
  }

  to{
    transform:
      translateX(-50%);
  }

}


/* =========================================================
   STICKY
========================================================= */

.psr-header-2026.psr-sticky{
  position:sticky;

  top:0;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1050px){

  .psr-header-wrap{
    width:
      calc(100% - 34px);
  }

  .psr-nav,
  .psr-mainbar-panel > .psr-request{
    display:none;
  }

  .psr-mobile-nav{
    display:block;
  }

  .psr-mainbar-panel{
    min-height:70px;

    grid-template-columns:
      1fr auto;

    gap:20px;

    padding:0;
  }

  .psr-header-logo img{
    width:170px;
  }

  .psr-mega-menu{
    display:none;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  /*
  Desktop Subheader ausblenden,
  Kontakt ist im Hamburger integriert.
  */
  .psr-subbar{
    display:none;
  }

  .psr-header-wrap{
    width:
      calc(100% - 26px);
  }

  .psr-mainbar{
    padding:
      8px 0;
  }

  .psr-mainbar-panel{
    min-height:62px;
  }

  .psr-header-logo img{
    width:150px;
  }

  .psr-menu-toggle{
    width:44px;

    height:44px;
  }


  /*
  Menü auf Mobile fast über gesamte Breite.
  */
  .psr-mobile-menu{
    position:fixed;

    top:78px;

    left:13px;

    right:13px;

    width:auto;

    max-height:
      calc(100dvh - 120px);
  }

  .psr-mobile-menu-inner{
    padding:18px;
  }

  .psr-marquee-item{
    min-height:34px;

    padding:
      0 23px;

    font-size:8px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .psr-mobile-contact{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .psr-live-dot:after,
  .psr-marquee-track{
    animation:none!important;
  }

  .psr-mega-menu,
  .psr-menu-toggle span,
  .psr-mobile-plus{
    transition:none!important;
  }

}/* End custom CSS */