
:root{--ease-io:cubic-bezier(.65,0,.35,1);--ease-out:cubic-bezier(.22,1,.36,1);--ease-expo-io:cubic-bezier(.87,0,.13,1)}
html{scroll-behavior:auto}

/* ---------- Scroll reveal (JS adds .sl-rv / .sl-in) ---------- */
html.sl-js .sl-rv{opacity:0;transform:translate3d(0,1.25em,0);transition:opacity 1.2s var(--ease-out),transform 1.2s var(--ease-out);transition-delay:var(--d,0ms)}
html.sl-js .sl-rv.sl-in{opacity:1;transform:none}
html.sl-js .sl-rv.sl-split{opacity:1;transform:none;transition:none}
.sl-line{display:block;overflow:hidden;padding:.08em 0 .14em;margin:-.08em 0 -.14em}
.sl-line-in{display:block;transform:translate3d(0,125%,0);transition:transform 1.15s var(--ease-out);transition-delay:calc(var(--d,0ms) + var(--l,0)*110ms)}
.sl-in .sl-line-in{transform:none}
.sl-nomotion,.sl-nomotion *{transition:none!important}
/* footer wordmark rises out of a mask */
html.sl-js .footer-logo.sl-rv{opacity:1;transform:none;clip-path:inset(100% 0 0 0);transition:clip-path 1.6s var(--ease-io);transition-delay:var(--d,0ms)}
html.sl-js .footer-logo.sl-rv.sl-in{clip-path:inset(0 0 0 0)}

/* ---------- Navigation ---------- */
.nav-bar{transition:transform .8s var(--ease-io);will-change:transform}
.nav-bar.sl-nav-hidden{transform:translate3d(0,-140%,0)}
.nav-container{transition:background-color .7s var(--ease-io),border-color .7s var(--ease-io)}
.nav-bar.sl-nav-solid .nav-container{background-color:#8d85f4;border-color:#ffffff1f}
.nav-container .button.mobile-hide{border:1px solid transparent}
.nav-bar.sl-nav-solid .nav-container .button.mobile-hide{border-color:#fff}
.nav-link,.dropdown-text,.footer-links{transition:color .35s var(--ease-io)}
.nav-menu>a.nav-link{text-decoration:none}
.social-links{transition:opacity .35s var(--ease-io),translate .45s var(--ease-out)}
.social-links:hover{translate:0 -.15em}
/* dropdown arrow: crossfade instead of a display swap */
.dropdown-arrow.peach,.dropdown-arrow.is-white{display:block!important;transition:opacity .35s var(--ease-io)}
.dropdown-arrow.peach{opacity:0}
.dropdown-toggle.w--open .dropdown-arrow.peach{opacity:1}
.dropdown-toggle.w--open .dropdown-arrow.is-white{opacity:0}
.dropdown-toggle.w--open .dropdown-text{color:#ef8b6e}
.links-wrapper.is-dropdown .dropdown-links{transition:color .35s var(--ease-io),transform .45s var(--ease-out)}
.links-wrapper.is-dropdown .dropdown-icons{transition:transform .45s var(--ease-out)}
.links-wrapper.is-dropdown:hover .dropdown-links{color:#ef8b6e;transform:translate3d(.3em,0,0)}
.links-wrapper.is-dropdown:hover .dropdown-icons{transform:scale(1.08)}
@media (min-width:992px){
  /* panel keeps its open geometry + transparent bg while closing (Webflow's #ddd default caused the grey box) */
  .drop-down .dropdown-navigation{display:block;visibility:hidden;pointer-events:none;background-color:transparent;z-index:999;width:50em;margin-top:3px;margin-left:-268px;transform:translate3d(0,-.6em,0);transition:transform .5s var(--ease-io),visibility 0s linear .3s}
  .drop-down .dropdown-navigation.service{margin-left:-223px}
  .drop-down .dropdown-navigation.service.breite{width:30em;margin-left:0}
  .drop-down .dropdown-navigation.w--open{visibility:visible;pointer-events:auto;transform:none;transition:transform .6s var(--ease-io),visibility 0s}
  /* fade the blurred panel itself: opacity on a parent would switch its backdrop blur off mid-animation */
  .drop-down .dropdown-inner-wrapper{opacity:0;transition:opacity .22s var(--ease-io)}
  .drop-down .dropdown-navigation.w--open .dropdown-inner-wrapper{opacity:1;transition:opacity .45s var(--ease-io) .06s}
  .dropdown-navigation .links-content-wrapper>*{opacity:0;transform:translate3d(0,.6em,0);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}
  .dropdown-navigation .links-wrapper.is-dropdown{opacity:0;transform:translate3d(0,.6em,0);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}
  .dropdown-navigation.w--open .links-content-wrapper>*,.dropdown-navigation.w--open .links-wrapper.is-dropdown{opacity:1;transform:none;transition:opacity .5s var(--ease-out),transform .7s var(--ease-out);transition-delay:calc(.1s + var(--i,0)*.045s)}
}
/* mobile menu: burger morphs, links stagger in */
.hamburger .top-bar,.hamburger .bottom-bar{transition:transform .6s var(--ease-io)}
.hamburger .middle-bar{transition:opacity .35s var(--ease-io),transform .6s var(--ease-io)}
.hamburger.w--open .top-bar{transform:translate3d(0,7.5px,0) rotate(45deg)}
.hamburger.w--open .middle-bar{opacity:0;transform:scaleX(.4)}
.hamburger.w--open .bottom-bar{transform:translate3d(0,-9px,0) rotate(-45deg)}
@keyframes sl-fade-up{from{opacity:0;transform:translate3d(0,1em,0)}to{opacity:1;transform:none}}
@keyframes sl-fade{from{opacity:0}to{opacity:1}}
@media (max-width:991px){
  .w-nav-overlay [data-nav-menu-open] .sl-mi{animation:sl-fade-up .8s var(--ease-out) both;animation-delay:calc(.18s + var(--i,0)*.06s)}
  .drop-down .dropdown-navigation.w--open{animation:sl-fade .5s var(--ease-io) both}
}

/* ---------- Buttons: fill wipe instead of hard background swap ---------- */
.button-primary,.button.mobile-hide,.button.desktop-hide,.button.is-secondary{position:relative;isolation:isolate;overflow:hidden;
  transition:color .45s var(--ease-io),border-color .45s var(--ease-io),scale .35s var(--ease-io),opacity 1.2s var(--ease-out) var(--d,0ms),transform 1.2s var(--ease-out) var(--d,0ms)}
.button-primary::before,.button.mobile-hide::before,.button.desktop-hide::before,.button.is-secondary::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background-color:#fff;transform:scaleY(0);transform-origin:50% 0;transition:transform .6s var(--ease-expo-io);pointer-events:none}
.button-primary:hover::before,.button.mobile-hide:hover::before,.button.desktop-hide:hover::before,.button.is-secondary:hover::before{transform:scaleY(1);transform-origin:50% 100%}
.button-primary:active,.button.mobile-hide:active,.button.desktop-hide:active,.button.is-secondary:active{scale:.97}
.button-primary.button-primary:hover{background-image:linear-gradient(265deg,#8d85f4,#6a60f1);background-color:transparent}
.button.mobile-hide.mobile-hide:hover,.button.desktop-hide.desktop-hide:hover{background-image:linear-gradient(264deg,#8d85f4,#7970f2);background-color:transparent;color:#1a1a1a}
.button.is-secondary.is-secondary:hover{background-color:#ffffff17;color:#1a1a1a}
html.sl-js .button-primary.sl-rv,html.sl-js .button.sl-rv{transition:color .45s var(--ease-io),border-color .45s var(--ease-io),scale .35s var(--ease-io),opacity 1.2s var(--ease-out) var(--d,0ms),transform 1.2s var(--ease-out) var(--d,0ms)}
.button-primary .text-size-medium{transition:color .45s var(--ease-io)}
.button-primary:hover .text-size-medium{color:#1a1a1a}
.button-primary .arrow-wrapper{border:1px solid transparent;transition:border-color .45s var(--ease-io)}
.button-primary .arrow-wrapper .gradient-bg,.button-primary .arrow-wrapper .white-bg{display:block!important;transition:opacity .45s var(--ease-io)}
.button-primary .arrow-wrapper .gradient-bg{opacity:0}
.button-primary:hover .arrow-wrapper .gradient-bg{opacity:1}
.button-primary:hover .arrow-wrapper .white-bg{opacity:0}
.left-arrow,.right-arrow{transition:scale .45s var(--ease-out),opacity .35s var(--ease-io)}
.left-arrow:hover,.right-arrow:hover{scale:1.06}
.w-slider.sl-drag .w-slider-mask{cursor:grab}
.w-slider.sl-dragging .w-slider-mask{cursor:grabbing;user-select:none;-webkit-user-select:none}
.w-slider.sl-drag .w-slide{transition:translate .6s var(--ease-out)}
.w-slider.sl-dragging .w-slide{transition:none}

/* ---------- Tabs ---------- */
.tab-link{transition:color .45s var(--ease-io),background-color .6s var(--ease-io)}
.sl-tabs-live .w-tab-pane.w--tab-active{animation:sl-fade-up .9s var(--ease-out) both}
.tab-link .text-wrapper{transition:height .8s var(--ease-io)}
/* Fokusbereiche: equal tabs (no overflow, no width jump) + a sliding highlight */
@media (min-width:992px){.tabs-menu .tab-link.is-unsere,.tabs-menu .tab-link.is-unsere.w--current,.tabs-menu .tab-link.is-unsere.last,.tabs-menu .tab-link.is-unsere.last.w--current{flex:1 1 0;width:auto;min-width:0;max-width:none}}
.sl-ind{position:absolute;left:0;top:0;bottom:0;z-index:0;pointer-events:none;background-size:cover;background-position:0 0;transition:transform .8s var(--ease-expo-io),width .8s var(--ease-expo-io)}
.sl-ind-on .tab-link{position:relative;z-index:1}
.sl-ind-on .tab-link.w--current{background-image:none;background-color:transparent}
.w-tab-content.sl-h{overflow:hidden;transition:height .7s var(--ease-io)}
.tab-link .bottom-line{transform:scaleX(0);transform-origin:0 50%;transition:transform .9s var(--ease-io)}
.tab-link.w--current .bottom-line{transform:scaleX(1);transition:transform 1.4s var(--ease-expo-io) .15s}
.tab-link.w--current .text-wrapper>*{transition:opacity .6s var(--ease-io) .25s}
.tab-link:not(.w--current) .text-wrapper>*{opacity:0;transition:opacity .25s var(--ease-io)}
@media (max-width:991px){
  .tab-link .tab-img-wrapper.is-inside-tabs{display:none}
  .tab-link.w--current .tab-img-wrapper.is-inside-tabs{display:flex;animation:sl-fade-up .9s var(--ease-out) .15s both}
}

/* ---------- Accordion (click; hover previews the dark state) ---------- */
.accordion-wrapper .answer-wrapper{align-items:flex-start;transition:height .8s var(--ease-io)}
.accordion-wrapper .inner-content-wrapper{transition:opacity .6s var(--ease-io),transform .75s var(--ease-out)}
.accordion-wrapper:not(.sl-acc-open) .inner-content-wrapper{opacity:0;transform:translate3d(0,.75em,0);transition:opacity .3s var(--ease-io),transform .4s var(--ease-io)}
.accordion-wrapper.sl-acc-open .inner-content-wrapper{transition:opacity .7s var(--ease-io) .2s,transform .9s var(--ease-out) .2s}
.accordion-wrapper .bg-image{display:block!important;opacity:0;transition:opacity .5s var(--ease-io)}
.accordion-wrapper .numbers,.accordion-wrapper .question-wrapper .heading-style-h2{transition:color .45s var(--ease-io),opacity .45s var(--ease-io)}
.accordion-wrapper .plus{transition:transform .6s var(--ease-io),background-color .45s var(--ease-io)}
.accordion-wrapper .minus{transition:filter .45s var(--ease-io)}
.accordion-wrapper .question-wrapper:hover .bg-image,.accordion-wrapper.sl-acc-open .bg-image{opacity:1}
.accordion-wrapper .question-wrapper:hover .numbers,.accordion-wrapper .question-wrapper:hover .heading-style-h2,
.accordion-wrapper.sl-acc-open .numbers,.accordion-wrapper.sl-acc-open .question-wrapper .heading-style-h2{color:#fff}
.accordion-wrapper .question-wrapper:hover .plus,.accordion-wrapper.sl-acc-open .plus{background-color:#fff}
.accordion-wrapper .question-wrapper:hover .minus,.accordion-wrapper.sl-acc-open .minus{filter:invert(100%)}
.accordion-wrapper.sl-acc-open .plus{transform:rotate(90deg)}

/* ---------- Prozess timeline (JS sets classes, dot is lerped) ---------- */
.prozess-section .cards-wrapper{transition:opacity .9s var(--ease-io)}
.prozess-section .cards.is-first,.prozess-section .cards.is-second,.prozess-section .cards.is-third{transition:opacity .9s var(--ease-io),transform .9s var(--ease-out)}
.prozess-section .purple-grid{transition:opacity 1.1s var(--ease-io)}
.prozess-section .animation-dots{will-change:transform}

/* ---------- Starter: lines draw, circles pop, labels rise ---------- */
html.sl-js .sl-draw{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease-io);transition-delay:var(--d,0ms)}
html.sl-js .sl-draw.sl-in{clip-path:inset(0 0 0 0)}
html.sl-js .sl-pop{opacity:0;transform:scale(.8);transition:opacity .9s var(--ease-io),transform 1.1s var(--ease-out);transition-delay:var(--d,0ms)}
html.sl-js .sl-pop.sl-in{opacity:1;transform:none}
html.sl-js .sl-rise>*{transform:translate3d(0,110%,0);transition:transform 1.1s var(--ease-out);transition-delay:var(--d,0ms)}
html.sl-js .sl-rise.sl-in>*{transform:none}

/* ---------- Blog article: table of contents + share (left, sticky) ---------- */
.content-wrapper.is-blog-detail.sl-toc-on{max-width:none;display:grid;grid-template-columns:24em minmax(0,1fr);column-gap:5em;align-items:start}
.sl-toc-on .blog-detail{max-width:70em}
.sl-toc{position:sticky;top:9.5em;display:flex;flex-direction:column;gap:2em;padding:2.25em 2em;border-radius:1.25em;background-color:#f5f4fe;border:1px solid #e7e5fc;font-family:Nohemi,Arial,sans-serif}
.sl-toc-title{margin:0;font-size:2em;line-height:1.1;font-weight:500;color:#1a1a1a}
.sl-toc-list{display:flex;flex-direction:column;gap:.25em;margin:-.5em 0 0;padding:0;list-style:none}
.sl-toc-link{position:relative;display:block;padding:.75em 1em;border-radius:.6em;font-size:1.15em;line-height:1.35;color:#4d4d4d;text-decoration:none;overflow:hidden;isolation:isolate;transition:color .45s var(--ease-io)}
.sl-toc-link::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:linear-gradient(265deg,#8d85f4,#6a60f1);opacity:0;transform:scaleX(.96);transform-origin:0 50%;transition:opacity .5s var(--ease-io),transform .6s var(--ease-io)}
.sl-toc-link:hover{color:#6a60f1}
.sl-toc-link.is-active{color:#fff}
.sl-toc-link.is-active::before{opacity:1;transform:none}
.sl-share{display:flex;flex-direction:column;gap:1.1em;padding-top:2em;border-top:1px solid #e1defb}
.sl-share-title{font-size:1.35em;line-height:1.2;color:#1a1a1a}
.sl-share-row{display:flex;gap:.75em}
.sl-share-btn{position:relative;display:flex;align-items:center;justify-content:center;width:3.5em;height:3.5em;border-radius:.75em;border:1px solid #e1defb;background-color:#fff;color:#6a60f1;cursor:pointer;padding:0;transition:background-color .45s var(--ease-io),color .45s var(--ease-io),border-color .45s var(--ease-io),translate .45s var(--ease-out)}
.sl-share-btn svg{width:1.45em;height:1.45em;display:block}
.sl-share-btn:hover{background-color:#6a60f1;border-color:#6a60f1;color:#fff;translate:0 -.15em}
.sl-share-btn::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + .6em);padding:.45em .7em;border-radius:.4em;background-color:#1a1a1a;color:#fff;font-size:.95em;white-space:nowrap;pointer-events:none;opacity:0;transform:translate3d(-50%,.3em,0);transition:opacity .35s var(--ease-io),transform .45s var(--ease-out)}
.sl-share-btn.is-copied::after{opacity:1;transform:translate3d(-50%,0,0)}
.sl-toc-acc{display:grid;grid-template-rows:1fr}
.sl-toc-acc>.sl-toc-list{min-height:0;overflow:hidden}
.sl-toc-head{display:flex;align-items:center;justify-content:space-between;gap:1em;background:none;border:0;padding:0;font:inherit;text-align:left;cursor:default}
.sl-toc-chev{display:none}
@media (max-width:991px){
  .content-wrapper.is-blog-detail.sl-toc-on{grid-template-columns:minmax(0,1fr);row-gap:3em}
  .sl-toc{position:relative;top:auto;gap:1.5em;padding:1.5em}
  .sl-toc-head{cursor:pointer;width:100%}
  .sl-toc-title{font-size:1.6em}
  .sl-toc-chev{display:block;width:1.4em;height:1.4em;color:#6a60f1;transition:transform .6s var(--ease-io)}
  .sl-toc.is-open .sl-toc-chev{transform:rotate(180deg)}
  .sl-toc-acc{grid-template-rows:0fr;margin-top:-1.5em;transition:grid-template-rows .7s var(--ease-io),margin-top .7s var(--ease-io)}
  .sl-toc.is-open .sl-toc-acc{grid-template-rows:1fr;margin-top:0}
  .sl-toc-acc>.sl-toc-list{margin:0;opacity:0;transition:opacity .35s var(--ease-io)}
  .sl-toc.is-open .sl-toc-acc>.sl-toc-list{opacity:1;transition:opacity .6s var(--ease-io) .15s}
  .sl-toc-link{font-size:1em;padding:.7em .9em}
  .sl-share{padding-top:1.5em}
  .sl-share-title{font-size:1.1em}
}

/* ---------- Parallax decor ---------- */
.image-absolute.sl-px{will-change:transform}
