/* Intro-Stage = Hero der Startseite */
.ws-intro{position:relative;height:300vh;background:#050506;z-index:2;margin:0}
.ws-intro__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#050506}
.ws-intro__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ws-intro__vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(5,5,6,.55) 0%,rgba(5,5,6,0) 24%,rgba(5,5,6,0) 52%,rgba(5,5,6,.92) 100%)}
.ws-intro__copy{position:absolute;left:0;right:0;bottom:120px;padding:0 max(40px,calc((100% - 1280px)/2));box-sizing:border-box;opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none;font-family:Manrope,sans-serif}
.ws-intro.is-revealed .ws-intro__copy{opacity:1;transform:none;pointer-events:auto}
.ws-intro__title{margin:0;max-width:680px;font-size:84px;font-weight:800;line-height:1.02;letter-spacing:-.03em;color:#fff}
.ws-intro__sub{margin:28px 0 0;max-width:560px;font-size:20px;line-height:1.5;color:#fff;opacity:.8}
.ws-intro__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.ws-intro__hint{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font:600 13px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.9);transition:opacity .4s}
.ws-intro__hint i{display:block;width:1px;height:64px;background:linear-gradient(to bottom,#fff,rgba(255,255,255,0));animation:ws-hint 1.6s ease-in-out infinite;transform-origin:top}
.ws-intro.is-scrolling .ws-intro__hint{opacity:0}
.ws-intro__bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:rgba(255,255,255,.1)}
.ws-intro__bar i{display:block;height:100%;width:0;background:#E31B22}
@keyframes ws-hint{0%,100%{transform:scaleY(.35);opacity:.5}50%{transform:scaleY(1);opacity:1}}
/* Navigation: kommt am Ende des Intros von unten hoch, bleibt danach als fixer Header */
body.ws-has-intro .elementor-location-header{display:none}
.ws-nav{position:fixed;left:0;right:0;top:0;z-index:50;transition:visibility 0s linear .0s;}
.ws-nav.is-hidden{visibility:hidden}
.ws-nav{padding:0 max(40px,calc((100% - 1280px)/2));box-sizing:border-box;transform:translateY(100vh);will-change:transform;font-family:Manrope,sans-serif;color:#fff;transition:background-color .35s ease,box-shadow .35s ease}
.ws-nav__in{width:100%;max-width:1280px;margin:0 auto;padding:26px 0;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:32px}
.ws-nav__logo{display:block}
body .ws-nav__logo img{width:210px;height:auto;display:block;filter:brightness(0) invert(1);transition:filter .35s}
.ws-intro__menu{list-style:none;margin:0;padding:0;display:flex;gap:36px}
body .ws-intro__menu a{font:600 15px/1 Manrope,sans-serif;color:#fff;text-decoration:none;transition:color .15s}
body .ws-intro__menu a:hover,body .ws-intro__menu .current-menu-item>a{color:#E31B22}
.ws-nav__right{display:flex;align-items:center;gap:28px}
body .ws-nav .ws-lang__a{color:rgba(255,255,255,.55)}
body .ws-nav .ws-lang__a.is-active{color:#fff}
body .ws-nav__tel{display:inline-flex;align-items:center;height:42px;padding:0 22px;border-radius:4px;background:#E31B22;font:700 14px/1 Manrope,sans-serif;color:#fff;text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s}
body .ws-nav__tel:hover{background:#fff;color:#212124}
/* nach dem Intro: weisser Header, dunkle Schrift, Logo in Farbe */
.ws-nav.is-solid{background:#fff;color:#212124;box-shadow:0 1px 0 #E0E0E3}
body .ws-nav.is-solid .ws-nav__logo img{filter:none}
body .ws-nav.is-solid .ws-intro__menu a{color:#212124}
body .ws-nav.is-solid .ws-intro__menu a:hover,body .ws-nav.is-solid .ws-intro__menu .current-menu-item>a{color:#E31B22}
body .ws-nav.is-solid .ws-lang__a{color:#99999E}
body .ws-nav.is-solid .ws-lang__a.is-active{color:#212124}
body .ws-nav.is-solid .ws-nav__tel{background:#E31B22;color:#fff}
body .ws-nav.is-solid .ws-nav__tel:hover{background:#212124;color:#fff}
/* Hero-Band nach dem Intro: nur die Keyfacts */
body.ws-has-intro .ws-hero{min-height:0}
body.ws-has-intro .ws-hero__in{display:none}
@media(max-width:1024px){.ws-nav__in{padding:20px 0}.ws-intro__menu,.ws-nav__tel{display:none}body .ws-nav__logo img{width:170px}.ws-intro__copy{bottom:96px}.ws-intro__title{font-size:52px}}
@media(max-width:767px){.ws-intro{height:240vh}.ws-intro__copy{bottom:72px;padding:0 24px}.ws-nav{padding:0 24px}.ws-intro__title{font-size:40px}.ws-intro__sub{font-size:17px}.ws-nav__in{padding:18px 0}}
@media(prefers-reduced-motion:reduce){.ws-intro{height:100vh;height:100svh}.ws-intro__copy{opacity:1;transform:none}.ws-intro__hint{display:none}.ws-nav{transform:none}}
/* WordPress-Adminleiste */
body.admin-bar .ws-nav{top:32px}
body.admin-bar .ws-intro__stage{top:32px}
@media(max-width:782px){body.admin-bar .ws-nav{top:46px}body.admin-bar .ws-intro__stage{top:46px}}

/* Burger + Panel (bis 1024px) */
body .ws-nav__burger,body .ws-nav__burger:hover,body .ws-nav__burger:focus,body .ws-nav__burger:active{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;box-shadow:none;outline:0;color:inherit}
body .ws-nav__burger:focus-visible{outline:2px solid #E31B22;outline-offset:2px}
.ws-nav__burger i{display:block;height:2px;width:24px;background:currentColor;transition:transform .25s,opacity .2s}
.ws-nav.is-open .ws-nav__burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ws-nav.is-open .ws-nav__burger i:nth-child(2){opacity:0}
.ws-nav.is-open .ws-nav__burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ws-nav__panel{display:none}
@media(max-width:1024px){
  body .ws-nav__burger,body .ws-nav__burger:hover,body .ws-nav__burger:focus,body .ws-nav__burger:active{display:flex;color:#fff;flex:none}
  .ws-nav__in{gap:16px}
  .ws-nav__logo{flex:none;min-width:0}
  .ws-nav__right>.ws-lang,.ws-nav__right>.ws-nav__tel{display:none}
  .ws-nav__menu{display:none}
  body .ws-nav.is-solid .ws-nav__burger,body .ws-nav.is-solid .ws-nav__burger:hover,body .ws-nav.is-solid .ws-nav__burger:focus,body .ws-nav.is-solid .ws-nav__burger:active{color:#212124}
  body .ws-nav.is-open .ws-nav__burger,body .ws-nav.is-open .ws-nav__burger:focus,body .ws-nav.is-open .ws-nav__burger:active,body .ws-nav.is-solid.is-open .ws-nav__burger{color:#E31B22}
  .ws-nav__panel{display:none;position:absolute;left:0;right:0;top:100%;height:100vh;height:100dvh;background:#1A1A1B;color:#fff;padding:24px 40px 120px;box-sizing:border-box;overflow:auto}
  .ws-nav.is-open .ws-nav__panel{display:block}
  .ws-nav.is-open{background:#1A1A1B;color:#fff}
  body .ws-nav.is-open .ws-nav__logo img{filter:brightness(0) invert(1)}
  .ws-nav__panel .ws-intro__menu{display:flex;flex-direction:column;gap:0}
  body .ws-nav__panel .ws-intro__menu a{display:block;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font:800 28px/1.1 Manrope,sans-serif;color:#fff}
  .ws-nav__panelfoot{display:flex;flex-direction:column;gap:20px;margin-top:32px;align-items:flex-start}
  body .ws-nav__panelfoot .ws-lang{gap:22px}\n  body .ws-nav .ws-nav__panelfoot .ws-lang__a{display:inline-flex!important;flex-direction:row;align-items:center;gap:9px;color:rgba(255,255,255,.6);font-size:15px;line-height:1}\n  body .ws-nav .ws-nav__panelfoot .ws-lang__flag{width:20px;height:14px;border-radius:2px;object-fit:cover;display:inline-block;flex:none}
  body .ws-nav__panelfoot .ws-lang__a.is-active{color:#fff}
  body .ws-nav__panelfoot .ws-nav__tel{display:inline-flex}
  body.ws-nav-open{overflow:hidden}
}
@media(max-width:767px){.ws-nav__panel{padding:16px 24px 120px}body .ws-nav__panel .ws-intro__menu a{font-size:24px}}
/* Header auf Unterseiten: fix oben, Seite bekommt Platz */
body.ws-has-nav .elementor-location-header{display:none}
.ws-nav.is-static{transform:none!important;visibility:visible!important}
body.ws-has-nav{padding-top:94px}
@media(max-width:1024px){body.ws-has-nav{padding-top:74px}}
@media(max-width:767px){body.ws-has-nav{padding-top:70px}}

/* Kit-Ueberschriftenfarbe (h1 dunkel) darf im Intro nicht greifen */
body .ws-intro__title,body .ws-intro .ws-intro__title{color:#fff}
body .ws-intro__sub{color:#fff}
body.elementor-kit-18 .ws-intro__title,body .ws-intro h1.ws-intro__title{color:#fff!important}

/* Panel-Farben muessen is-solid schlagen */
@media(max-width:1024px){body .ws-nav.is-open .ws-nav__panel .ws-intro__menu a,body .ws-nav.is-solid.is-open .ws-nav__panel .ws-intro__menu a{color:#fff}body .ws-nav.is-open .ws-nav__panel .ws-intro__menu a:hover,body .ws-nav.is-open .ws-nav__panel .ws-intro__menu .current-menu-item>a{color:#E31B22}body .ws-nav.is-open .ws-nav__panelfoot .ws-lang__a,body .ws-nav.is-solid.is-open .ws-nav__panelfoot .ws-lang__a{color:rgba(255,255,255,.6)}body .ws-nav.is-open .ws-nav__panelfoot .ws-lang__a.is-active,body .ws-nav.is-solid.is-open .ws-nav__panelfoot .ws-lang__a.is-active{color:#fff}}

/* Panel: Flagge + Sprache in einer Zeile */
@media(max-width:1024px){body .ws-nav .ws-nav__panelfoot .ws-lang{display:flex;gap:22px;align-items:center}body .ws-nav .ws-nav__panelfoot .ws-lang__a{display:inline-flex!important;flex-direction:row;align-items:center;gap:9px;font-size:15px;line-height:1}body .ws-nav .ws-nav__panelfoot .ws-lang__flag{display:inline-block!important;width:20px;height:14px;border-radius:2px;object-fit:cover;flex:none}}

/* Vignette Handy: Text liegt auf der Scheibe, daher staerkerer Verlauf von unten */
@media(max-width:767px){.ws-intro__vignette{background:linear-gradient(to bottom,rgba(5,5,6,.6) 0%,rgba(5,5,6,0) 18%,rgba(5,5,6,0) 34%,rgba(5,5,6,.55) 52%,rgba(5,5,6,.9) 70%,rgba(5,5,6,.97) 100%)}}
@media(min-width:768px) and (max-width:1024px){.ws-intro__vignette{background:linear-gradient(to bottom,rgba(5,5,6,.55) 0%,rgba(5,5,6,0) 22%,rgba(5,5,6,0) 45%,rgba(5,5,6,.6) 65%,rgba(5,5,6,.94) 100%)}}
