/* ==========================================================================
   ZENTRIV – Design-System für Elementor
   Farben:  #0A0E0F Hintergrund · #0F1719 Fläche · #131D20 Karte · #1F2D31 Linie
            #2DD4BF Teal · #5EEAD4 Teal hell · #04211E Dunkel auf Teal
   Schrift: Archivo (Überschriften) · Geist (Text) · Chakra Petch (Labels)
   ========================================================================== */

:root{
	--zv-bg:#0A0E0F;--zv-bg2:#0F1719;--zv-bg3:#131D20;--zv-line:#1F2D31;--zv-line2:#2B3D41;
	--zv-teal:#2DD4BF;--zv-teal2:#5EEAD4;--zv-ink:#04211E;--zv-white:#F1F5F4;--zv-text:#C8D4D2;
	--zv-muted:#A3B3B1;--zv-muted2:#8A9A98;--zv-amber:#FBBF24;
	--zv-ease:cubic-bezier(.2,.8,.2,1);
	--zv-label:'Chakra Petch',ui-sans-serif,system-ui,sans-serif;
	--zv-head:'Archivo',ui-sans-serif,system-ui,sans-serif;
	--zv-body:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ----------------------------------------------------------------- Basis */
html{scroll-behavior:smooth}
body.zv-site{background:var(--zv-bg);color:var(--zv-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
.zv-site ::selection{background:var(--zv-teal);color:var(--zv-ink)}
.zv-site .elementor-heading-title{text-wrap:pretty;overflow-wrap:break-word;font-stretch:110%}
.zv-roll .elementor-heading-title{font-stretch:125% !important}
/* Strich-Icons: nie füllen */
.zv-site .zvi-svg,.zv-site .zv-ico{fill:none !important;stroke:currentColor}
.zv-site .elementor-icon-list-icon .zvi-svg{stroke:var(--e-icon-list-icon-color,currentColor);width:1em;height:1em}
.zv-site .elementor-icon-list-icon{display:inline-flex;align-items:center}
.zv-site .elementor-widget-text-editor p{margin:0;text-wrap:pretty}
.zv-site .elementor-widget-text-editor p+p{margin-top:.8em}
.zv-site .elementor-widget-text-editor strong{color:var(--zv-white);font-weight:600}
.zv-site .zv-sec{position:relative}
.zv-site [id]{scroll-margin-top:0}
.zv-maxw-540{max-width:540px}
.zv-maxw-560{max-width:560px}
.zv-maxw-420{max-width:420px}
.zv-mt-auto{margin-top:auto !important}
.zv-mr6{margin-right:6px}
.zv-w500 p{font-weight:500}
.zv-ico{flex:none;display:inline-block;vertical-align:middle}

/* Outline-Wörter: in Überschriften <em>Wort</em> schreiben */
.zv-site .elementor-heading-title em,.zv-out{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--zv-teal);paint-order:stroke}
.zv-teal .elementor-heading-title em,.zv-out-dark{-webkit-text-stroke-color:var(--zv-ink)}
@media (max-width:760px){.zv-site .elementor-heading-title em,.zv-out{-webkit-text-stroke-width:1.3px}}

/* Labels */
.zv-label .elementor-heading-title{font-feature-settings:"tnum"}

/* --------------------------------------------------------- Wort-Animation */
.zv-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.16em .16em .24em;margin:-.16em -.16em -.24em}
.zv-w>span{display:inline-block}
.zv-js .zv-reveal:not(.zv-split) .elementor-heading-title{visibility:hidden}
.zv-ready .zv-reveal .elementor-heading-title{visibility:visible}
.zv-js .zv-reveal.zv-split:not(.is-in) .zv-w>span{transform:translateY(calc(100% + .34em))}
.zv-js .zv-reveal.is-in .zv-w>span{transform:none;transition:transform 1.05s var(--zv-ease);transition-delay:calc(var(--i,0) * 70ms)}
.zv-js .zv-reveal--load.is-in .zv-w>span{transition-delay:calc(.08s + var(--i,0) * 90ms)}
.zv-js .zv-up:not(.is-in){opacity:0;transform:translateY(46px)}
.zv-js .zv-up.is-in{opacity:1;transform:none;transition:opacity .9s ease,transform 1.1s var(--zv-ease)}
.zv-js .zv-gline{transform:scaleX(0);transform-origin:left}
.zv-js .zv-gline.is-in{transform:scaleX(1);transition:transform 1.6s cubic-bezier(.7,0,.2,1)}
.zv-gline{height:2px;min-height:2px !important;background:linear-gradient(90deg,var(--zv-teal),#134E4A)}

/* --------------------------------------------------------------- Buttons */
.zv-site .zv-btn .elementor-button{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:16px 28px;border-radius:999px;border:1px solid transparent;background:var(--zv-teal);color:var(--zv-ink);font-family:var(--zv-body);font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;transition:box-shadow .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease}
.zv-site .zv-btn .elementor-button:hover,.zv-site .zv-btn .elementor-button:focus-visible{background:var(--zv-teal);color:var(--zv-ink);box-shadow:0 14px 40px -12px rgba(45,212,191,.7)}
.zv-site .zv-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:12px}
.zv-site .zv-btn .elementor-button-icon{display:inline-flex;font-size:18px}
.zv-site .zv-btn .elementor-button-icon svg{width:18px;height:18px}
.zv-site .zv-btn--ghost .elementor-button{background:transparent;border-color:var(--zv-line2);color:var(--zv-white);font-weight:400;padding:16px 26px}
.zv-site .zv-btn--ghost .elementor-button:hover,.zv-site .zv-btn--ghost .elementor-button:focus-visible{background:transparent;color:var(--zv-white);border-color:var(--zv-teal);box-shadow:none}
.zv-site .zv-btn--link .elementor-button{background:transparent;border:0;padding:0;min-height:44px;color:var(--zv-teal2);font-size:15px;font-weight:500;gap:8px;border-radius:0}
.zv-site .zv-btn--link .elementor-button-content-wrapper{gap:8px;transition:gap .25s ease}
.zv-site .zv-btn--link .elementor-button:hover{background:transparent;box-shadow:none;color:var(--zv-white)}
.zv-site .zv-btn--link .elementor-button:hover .elementor-button-content-wrapper{gap:14px}
.zv-site .zv-btn--link .elementor-button-icon svg{width:16px;height:16px}
.zv-site .zv-btn--chip .elementor-button{background:transparent;border-color:var(--zv-line2);color:var(--zv-white);min-height:46px;padding:10px 18px;font-size:14px;font-weight:400;gap:8px}
.zv-site .zv-btn--chip .elementor-button-content-wrapper{gap:8px}
.zv-site .zv-btn--chip .elementor-button-icon{color:var(--zv-teal2)}
.zv-site .zv-btn--chip .elementor-button-icon svg{width:14px;height:14px}
.zv-site .zv-btn--chip .elementor-button:hover{background:transparent;border-color:var(--zv-teal);box-shadow:none;color:var(--zv-white)}
.zv-site .zv-btn--sm .elementor-button{min-height:48px;padding:12px 22px;font-size:15px;gap:10px}
.zv-site .zv-btn--sm .elementor-button-icon svg{width:14px;height:14px}
.zv-site .zv-btn--ghost.zv-btn--sm .elementor-button{min-height:40px;padding:8px 16px;font-size:14px;color:var(--zv-text)}
.zv-mag .elementor-button,a.zv-mag{transform:translate(var(--bx,0px),var(--by,0px));transition:transform .4s var(--zv-ease),box-shadow .3s ease,background-color .3s ease,border-color .3s ease}
/* Text-Roll beim Hover */
.zv-rl{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.3}
.zv-rl>span{position:relative;display:inline-block;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.zv-rl>span::after{content:attr(data-t);position:absolute;left:0;top:100%;color:var(--zv-teal2);white-space:nowrap}
a:hover .zv-rl>span,button:hover .zv-rl>span{transform:translateY(-100%)}
.zv-btn:not(.zv-btn--link):not(.zv-btn--chip) .elementor-button:hover .zv-rl>span::after{color:inherit}
/* Pfeil-Link (in Widgets) */
.zv-site a.zv-arrowlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--zv-teal2);font-size:15px;font-weight:500;text-decoration:none;transition:gap .25s ease,color .2s ease;align-self:flex-start}
.zv-site a.zv-arrowlink:hover{gap:14px;color:var(--zv-white)}
/* „Weiter →“ in verlinkten Karten */
.zv-linktext{margin-top:auto !important}
.zv-linktext .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;min-height:40px}
.zv-linktext .elementor-heading-title::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s ease}
a:hover>.zv-linktext .elementor-heading-title::after,a.e-con:hover .zv-linktext .elementor-heading-title::after{transform:translateX(4px)}

/* Elementor-Icons aus der ZENTRIV-Bibliothek */
.zvi-svg{width:1em;height:1em;display:inline-block;vertical-align:middle}
.elementor-icon .zvi-svg{width:1em;height:1em}

/* --------------------------------------------------------- Tilt-Karten */
.zv-tilt{position:relative;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s var(--zv-ease),border-color .3s ease}
.zv-tilt:hover{border-color:rgba(45,212,191,.5) !important}
.zv-tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--px,50%) var(--py,0%),rgba(45,212,191,.15),transparent 45%);opacity:0;transition:opacity .3s ease;z-index:2}
.zv-tilt:hover::after{opacity:1}
a.e-con{text-decoration:none;color:inherit}

/* Cursor-Ring */
.zv-cursor{position:fixed;left:0;top:0;opacity:var(--co,0);width:36px;height:36px;margin:-18px 0 0 -18px;border:1.5px solid rgba(94,234,212,.75);border-radius:50%;pointer-events:none;z-index:99999;transform:translate3d(var(--cx,-200px),var(--cy,-200px),0);transition:width .3s ease,height .3s ease,margin .3s ease,background-color .3s ease,opacity .3s ease}
.zv-hot .zv-cursor{width:72px;height:72px;margin:-36px 0 0 -36px;background:rgba(45,212,191,.12);border-color:rgba(94,234,212,.4)}
@media (hover:none){.zv-cursor{display:none !important}}

/* Spotlight (folgt der Maus) */
.zv-spotlight::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(760px circle at var(--mx,72%) var(--my,34%),rgba(45,212,191,.15),transparent 60%)}
.zv-spotlight>.e-con-inner{position:relative;z-index:2}

/* =============================================================== HEADER */
.zv-header.e-con{padding:0 !important;min-height:0 !important;--min-height:0px}
.zv-nav{position:fixed;top:0;left:0;right:0;z-index:60;pointer-events:none}
body.admin-bar .zv-nav{top:32px}
@media (max-width:782px){body.admin-bar .zv-nav{top:46px}}
.zv-nav--edit{position:relative}
.zv-prog{position:absolute;left:0;right:0;top:0;height:2px;background:var(--zv-teal);transform:scaleX(var(--sp,0));transform-origin:left}
.zv-nav-in{position:absolute;top:16px;left:0;right:0;padding:0 20px;pointer-events:auto}
.zv-nav--edit .zv-nav-in{position:relative;top:0;padding:16px 20px}
.zv-navbar{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.zv-site a.zv-logo{display:flex;align-items:center;min-height:48px;padding:6px 18px;margin-left:-18px;border-radius:999px;border:1px solid rgba(31,45,49,0);background:rgba(15,23,25,0);color:var(--zv-white);text-decoration:none;transition:background-color .4s ease,border-color .4s ease}
.zv-nav.is-scrolled a.zv-logo{background:rgba(15,23,25,.82);border-color:var(--zv-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.zv-logo img{display:block;height:42px;width:auto;filter:drop-shadow(0 2px 14px rgba(0,0,0,.55));transition:transform .4s var(--zv-ease)}
.zv-logo:hover img{transform:scale(1.03)}
.zv-logo-txt{font-family:var(--zv-head);font-weight:800;font-size:22px;letter-spacing:.2em}
.zv-pill-links{display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;background:rgba(15,23,25,.8);border:1px solid var(--zv-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.zv-site .zv-pill-links a.zv-plink,.zv-site .zv-pill-links button.zv-ddbtn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 15px;border-radius:999px;border:0;background:transparent;color:var(--zv-text);font-family:var(--zv-body);font-size:14px;font-weight:400;line-height:1.3;text-decoration:none;cursor:pointer;transition:background-color .3s ease,color .3s ease}
.zv-site .zv-pill-links button.zv-ddbtn{padding:8px 12px 8px 15px}
.zv-site .zv-pill-links a.zv-plink:hover,.zv-site .zv-pill-links button.zv-ddbtn:hover,.zv-site .zv-pill-links button.zv-ddbtn:focus{background:transparent;color:var(--zv-white)}
.zv-site .zv-pill-links .is-active,.zv-site .zv-pill-links button.zv-ddbtn[aria-expanded="true"]{background:#1A2A2D !important;color:var(--zv-white) !important}
.zv-ddchev{transition:transform .3s ease}
.zv-ddbtn[aria-expanded="true"] .zv-ddchev{transform:rotate(180deg)}
.zv-plink--hint{padding:8px 14px;font-size:13px;color:var(--zv-muted2)}
.zv-nav-actions{display:flex;align-items:center;gap:8px}
.zv-site a.zv-navcta{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 22px;border-radius:999px;background:var(--zv-teal);color:var(--zv-ink);font-size:15px;font-weight:600;text-decoration:none}
.zv-site a.zv-navcta:hover{color:var(--zv-ink);box-shadow:0 14px 40px -12px rgba(45,212,191,.7)}
.zv-site button.zv-menu-btn{display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:999px;background:rgba(15,23,25,.85);border:1px solid var(--zv-line);color:var(--zv-white);cursor:pointer}
.zv-site button.zv-menu-btn:hover,.zv-site button.zv-menu-btn:focus{background:rgba(15,23,25,.95);color:var(--zv-white)}
.zv-menu-btn .zv-i-close{display:none}
.zv-menu-btn[aria-expanded="true"] .zv-i-close{display:block}
.zv-menu-btn[aria-expanded="true"] .zv-i-open{display:none}
.zv-site .zv-nav :focus-visible{outline:2px solid var(--zv-teal);outline-offset:2px}

/* Dropdowns */
.zv-dd{max-width:1240px;margin:12px auto 0;padding:12px;border-radius:28px;border:1px solid var(--zv-line);background:rgba(11,17,19,.97);box-shadow:0 40px 90px -30px rgba(0,0,0,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:zvDdIn .34s var(--zv-ease) both;transform-origin:50% 0}
.zv-dd[hidden]{display:none}
.zv-dd .elementor{--e-con-grid-template-columns:auto}
.zv-dd--list{display:flex;flex-direction:column;gap:8px;max-width:520px}
@keyframes zvDdIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.zv-mega.e-con{padding:0}
.zv-site .zv-ddcard,.zv-site .zv-ddrow,.zv-site .zv-ddfeat{color:var(--zv-white);text-decoration:none;transition:border-color .3s ease,background-color .3s ease,transform .45s var(--zv-ease)}
.zv-site .zv-ddcard:hover{border-color:rgba(45,212,191,.55) !important;background-color:#131D20 !important;transform:translateY(-2px)}
.zv-site .zv-ddrow:hover{background-color:#131D20 !important;border-color:var(--zv-line2) !important}
.zv-site .zv-ddfeat:hover{border-color:rgba(45,212,191,.55) !important}
.zv-ddarr .elementor-icon,.zv-ddarr{color:var(--zv-teal2);transition:transform .3s ease}
.zv-ddcard:hover .zv-ddarr,.zv-ddrow:hover .zv-ddarr,.zv-ddfeat:hover .zv-ddarr{transform:translateX(4px)}
.zv-ddname .elementor-heading-title,.zv-ddname{transition:color .25s ease}
.zv-ddrow:hover .zv-ddname .elementor-heading-title,.zv-ddcl:hover .zv-ddname,.zv-ddcard:hover .zv-ddname .elementor-heading-title{color:var(--zv-teal2)}
.zv-ddhead{padding:10px 4px 2px}
.zv-ddcta .elementor-button{width:100%;justify-content:space-between;border-radius:16px !important;min-height:52px !important;padding:14px 18px !important;font-size:15px !important}
.zv-ddcta .elementor-button-content-wrapper{width:100%;justify-content:space-between}
.zv-ddcta{margin-top:auto !important}
.zv-ddfeat-img{position:relative;overflow:hidden;border-bottom:1px solid var(--zv-line);flex:1 1 150px !important;min-height:150px}
.zv-ddfeat-img>.elementor-widget-image{position:absolute;inset:0}
.zv-ddfeat-img>.elementor-widget-image img{height:100% !important;width:100%;object-fit:cover;object-position:50% 0}
.zv-ddfeat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,25,0) 40%,rgba(15,23,25,.85) 100%);pointer-events:none}
.zv-ddimg img{transition:transform .9s cubic-bezier(.2,.7,.2,1);width:100%}
.zv-ddfeat:hover .zv-ddimg img{transform:scale(1.05)}
.zv-ddcol{border-left:1px solid var(--zv-line);padding:0 4px}
.zv-reflist{display:flex;flex-direction:column;gap:2px}
.zv-reflist-lbl{padding:10px 12px 8px;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--zv-teal2);text-transform:uppercase}
.zv-reflist-lbl span{color:var(--zv-muted2)}
.zv-site a.zv-ddcl{display:flex;flex-direction:column;gap:3px;padding:8px 12px;border-radius:12px;text-decoration:none;transition:background-color .25s ease}
.zv-site a.zv-ddcl:hover{background:#131D20}
.zv-ddcl .zv-ddname{font-size:15px;font-weight:500;line-height:1.3;color:var(--zv-white)}
.zv-ddcl-sub{font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.1em;color:var(--zv-muted2);text-transform:uppercase}
.zv-site a.zv-ddrow:not(.e-con){display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--zv-line);background:var(--zv-bg2)}
.zv-ddrow-t{flex:1;display:flex;flex-direction:column;gap:4px}
.zv-ddrow-t .zv-ddname{font-size:15px;font-weight:600}
.zv-ddsub{font-size:13px;line-height:1.4;color:var(--zv-muted)}

/* Mobilmenü */
.zv-mmenu{max-width:1240px;margin:10px auto 0;padding:10px;border-radius:24px;background:rgba(11,17,19,.98);border:1px solid var(--zv-line);box-shadow:0 30px 80px -30px rgba(0,0,0,.85);max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px}
.zv-mmenu[hidden]{display:none}
.zv-macc{border-radius:18px;border:1px solid var(--zv-line);background:var(--zv-bg2)}
.zv-macc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;color:var(--zv-white);font-family:var(--zv-head);font-stretch:112%;font-weight:700;font-size:22px}
.zv-macc>summary::-webkit-details-marker{display:none}
.zv-mchev{transition:transform .3s ease}
.zv-macc[open] .zv-mchev{transform:rotate(180deg)}
.zv-macc-in{display:flex;flex-direction:column;gap:2px;padding:0 6px 10px}
.zv-site a.zv-mlink{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:14px;color:var(--zv-white);font-size:17px;font-weight:600;text-decoration:none;transition:background-color .25s ease}
.zv-site a.zv-mlink:hover{background:#131D20;color:var(--zv-white)}
.zv-site a.zv-mlink--l{padding:14px 16px;font-family:var(--zv-head);font-stretch:112%;font-weight:700;font-size:22px}
.zv-site a.zv-mlink--s{display:block;padding:9px 10px;border-radius:12px;font-size:14px;font-weight:400;color:var(--zv-text)}
.zv-mgroup{padding:12px 14px 4px;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--zv-teal2);text-transform:uppercase}
.zv-mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px;padding:0 4px}
.zv-site a.zv-mcta{margin-top:4px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 18px;border-radius:16px;background:var(--zv-teal);color:var(--zv-ink);font-size:16px;font-weight:600;text-decoration:none}
@media (max-width:1120px){
	.zv-pill-links{display:none !important}
	.zv-site button.zv-menu-btn{display:inline-flex}
	.zv-dd{display:none !important}
}
@media (min-width:1121px){.zv-mmenu{display:none !important}}
@media (max-width:480px){.zv-site a.zv-logo{padding:6px 12px;margin-left:-12px}.zv-logo img{height:32px}}

/* ================================================================= HERO */
.zv-hero{isolation:isolate}
.zv-hero>.elementor-background-video-container{inset:-3%;overflow:hidden}
.zv-hero .elementor-background-video-hosted{transform-origin:62% 42%;animation:zvKen 32s ease-in-out infinite alternate,zvVidIn 2.4s ease-out both}
@keyframes zvKen{from{transform:scale(1.06)}to{transform:scale(1.2) rotate(.8deg)}}
@keyframes zvVidIn{from{opacity:0;filter:blur(10px) saturate(.6)}to{opacity:1;filter:none}}
.zv-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
	background:linear-gradient(180deg,rgba(10,14,15,.7) 0%,rgba(10,14,15,0) 22%,rgba(10,14,15,0) 68%,#0A0E0F 100%),linear-gradient(90deg,rgba(10,14,15,.94) 0%,rgba(10,14,15,.84) 34%,rgba(10,14,15,.42) 66%,rgba(10,14,15,.58) 100%)}
.zv-hscan{position:absolute;left:0;right:0;top:0;height:38%;z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(180deg,rgba(94,234,212,0) 0%,rgba(94,234,212,.10) 50%,rgba(94,234,212,0) 100%);animation:zvScan 9s cubic-bezier(.6,0,.4,1) infinite}
@keyframes zvScan{0%{transform:translateY(-110%)}100%{transform:translateY(300%)}}
.zv-hero>.e-con-inner{position:relative;z-index:3}

/* Hero-Zentrale */
.elementor-widget-zv-hub,.elementor-widget-zv-hubcard,.elementor-widget-zv-stations,.elementor-widget-zv-refs,.elementor-widget-zv-process,.elementor-widget-zv-radar{width:100%}
.zv-hubwrap{display:flex;justify-content:center;width:100%}
.zv-hub{position:relative;width:min(480px,100%);aspect-ratio:1/1;transform:perspective(1100px) rotateX(calc(var(--ty,0) * -9deg)) rotateY(calc(var(--tx,0) * 12deg));transition:transform .5s var(--zv-ease)}
.zv-orbit{position:absolute;border-radius:50%;border:1.5px dashed rgba(94,234,212,.6)}
.zv-o1{inset:19%;animation:zvSpin 44s linear infinite}
.zv-o2{inset:1%;border-color:rgba(94,234,212,.32);animation:zvSpin 84s linear infinite reverse}
.zv-c1{animation:zvSpin 44s linear infinite reverse}
.zv-c2{animation:zvSpin 84s linear infinite}
.zv-paused .zv-o1,.zv-paused .zv-o2,.zv-paused .zv-c1,.zv-paused .zv-c2{animation-play-state:paused}
.zv-hub-bg{position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(10,14,15,.94) 0%,rgba(10,14,15,.86) 44%,rgba(10,14,15,.45) 62%,rgba(10,14,15,0) 72%);pointer-events:none}
.zv-hub-sweep{position:absolute;inset:1%;border-radius:50%;background:conic-gradient(from 0deg,rgba(45,212,191,0) 0deg,rgba(45,212,191,0) 290deg,rgba(45,212,191,.22) 345deg,rgba(94,234,212,.6) 360deg);-webkit-mask-image:radial-gradient(circle,transparent 36%,#000 37%);mask-image:radial-gradient(circle,transparent 36%,#000 37%);animation:zvSpin 6s linear infinite;pointer-events:none}
.zv-hglow{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.38),rgba(45,212,191,0) 70%);animation:zvBreath 3.6s ease-in-out infinite alternate;pointer-events:none}
@keyframes zvBreath{from{transform:scale(.88);opacity:.55}to{transform:scale(1.14);opacity:1}}
@keyframes zvSpin{to{transform:rotate(360deg)}}
.zv-node{position:absolute;transform:translate(-50%,-50%);z-index:3}
.zv-satlbl{display:block;padding:5px 10px;border-radius:999px;background:rgba(15,23,25,.92);border:1px solid rgba(94,234,212,.38);font-family:var(--zv-label);font-weight:600;font-size:11px;color:var(--zv-text);white-space:nowrap;box-shadow:0 0 18px -6px rgba(45,212,191,.5)}
.zv-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.zv-links line{stroke:rgba(94,234,212,.95);stroke-width:2;stroke-dasharray:4 5;animation:zvFlow 1s linear infinite;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(45,212,191,.8))}
@keyframes zvFlow{to{stroke-dashoffset:-18}}
.zv-core{position:absolute;inset:36.5%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#5EEAD4 0%,#14A594 30%,#0E7A6E 55%,#134E4A 100%);box-shadow:0 0 140px 6px rgba(45,212,191,.7),0 0 46px rgba(94,234,212,.55),inset 0 0 0 1px rgba(241,245,244,.28);display:flex;align-items:center;justify-content:center;z-index:2}
.zv-core img{position:relative;width:50%;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(4,33,30,.45))}
.zv-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(94,234,212,.85);animation:zvRing 3s ease-out infinite}
.zv-ring.r2{animation-delay:1.7s}
@keyframes zvRing{from{transform:scale(1);opacity:.9}to{transform:scale(2.7);opacity:0}}
.zv-site button.zv-nodebtn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:999px;border:1px solid rgba(94,234,212,.7);background:rgba(15,23,25,.92);color:var(--zv-white);font-family:var(--zv-body);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;box-shadow:0 12px 30px -12px rgba(0,0,0,.9),0 0 24px -6px rgba(45,212,191,.55);transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}
.zv-site button.zv-nodebtn:hover,.zv-site button.zv-nodebtn:focus{transform:scale(1.06);background:rgba(15,23,25,.92);color:var(--zv-white)}
.zv-site button.zv-nodebtn.is-on{background:var(--zv-teal);color:var(--zv-ink);border-color:var(--zv-teal2)}
@media (max-width:760px){.zv-sat{display:none !important}}

/* Modul-Karte */
.zv-hubcard{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border-radius:20px;border:1px solid var(--zv-line);background:rgba(15,23,25,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.zv-hubcard-top{display:flex;justify-content:space-between;gap:12px;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em}
.zv-hubcard-num{color:var(--zv-teal2)}
.zv-hubcard-hint{color:var(--zv-muted2)}
.zv-hubcard-body{display:flex;flex-direction:column;gap:12px}
.zv-hubcard-title{font-family:var(--zv-head);font-stretch:110%;font-weight:750;font-size:clamp(22px,7vw,26px);line-height:1.1;letter-spacing:-.02em;color:var(--zv-white)}
.zv-hubcard-tags{display:flex;flex-wrap:wrap;gap:6px}
.zv-hubcard-tags span{padding:5px 11px;border-radius:999px;border:1px solid var(--zv-line2);font-size:13px;color:var(--zv-text)}
.zv-panel-in{animation:zvIn .6s ease both}
@keyframes zvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ======================================================== SCHNELLEINSTIEG */
.zv-pains{z-index:2}
.zv-site a.zv-pain{transition:background-color .35s ease,border-color .35s ease,transform .5s var(--zv-ease)}
.zv-site a.zv-pain:hover,.zv-site a.zv-pain:focus-visible{background-color:#0F2A28 !important;border-color:rgba(45,212,191,.55) !important;transform:translateY(-4px)}
.zv-site a.zv-pain:focus-visible{outline:2px solid var(--zv-teal2);outline-offset:3px}
.zv-parrow .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--zv-line2);color:var(--zv-teal2) !important;font-size:14px !important;transition:transform .45s var(--zv-ease),background-color .3s ease,color .3s ease,border-color .3s ease}
.zv-parrow .elementor-icon svg{width:14px;height:14px}
.zv-pain:hover .zv-parrow .elementor-icon{transform:rotate(-45deg);background:var(--zv-teal);border-color:var(--zv-teal);color:var(--zv-ink) !important}
.zv-pain .zv-psol p{transition:color .3s ease}
.zv-pain:hover .zv-psol p{color:var(--zv-text) !important}
.zv-pain .zv-label .elementor-heading-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zv-pain>.elementor-element:first-child{min-width:0}

/* ===================================================== LEISTUNGS-AKKORDEON */
.zv-acc-item{transition:background-color .4s ease}
.zv-acc-item.zv-open{background-color:rgba(45,212,191,.04)}
.zv-acc-head{cursor:pointer;-webkit-tap-highlight-color:transparent}
.zv-acc-head:focus-visible{outline:2px solid var(--zv-teal);outline-offset:-2px}
.zv-rownum .elementor-heading-title{font-feature-settings:"tnum"}
.zv-rowtitle .elementor-heading-title{transition:transform .55s var(--zv-ease),color .3s ease}
.zv-acc-head:hover .zv-rowtitle .elementor-heading-title{transform:translateX(16px);color:var(--zv-teal2)}
.zv-arrow .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;border:1px solid var(--zv-line2);color:var(--zv-teal2) !important;font-size:22px !important;transition:transform .45s var(--zv-ease),background-color .3s ease,color .3s ease}
.zv-arrow .elementor-icon svg{width:22px;height:22px}
.zv-acc-head:hover .zv-arrow .elementor-icon{transform:rotate(-45deg)}
.zv-open .zv-arrow .elementor-icon{background:var(--zv-teal);color:var(--zv-ink) !important}
.zv-acc-panel{display:grid !important;grid-template-rows:0fr;transition:grid-template-rows .7s var(--zv-ease);padding:0 !important}
.zv-acc-panel>.e-con{min-height:0 !important;overflow:hidden;padding:0 !important}
.zv-open>.zv-acc-panel{grid-template-rows:1fr}
.elementor-editor-active .zv-acc-panel{grid-template-rows:1fr}
.zv-for{font-family:var(--zv-label);font-weight:600;font-size:12px;letter-spacing:.1em;color:var(--zv-teal2)}
.zv-dotlist .elementor-icon-list-items{display:flex;flex-direction:column}
.zv-dotlist .elementor-icon-list-item{display:flex !important;align-items:center;gap:14px;padding:12px 0 !important;margin:0 !important;border-bottom:1px solid var(--zv-line)}
.zv-dotlist .elementor-icon-list-item::before{content:"";flex:none;width:8px;height:8px;border:2px solid var(--zv-teal);border-radius:50%;box-sizing:content-box}
.zv-dotlist .elementor-icon-list-icon{display:none !important}
.zv-dotlist .elementor-icon-list-text{padding:0 !important}
.zv-rowprev{animation:zvPrevIn .7s var(--zv-ease) both}
@keyframes zvPrevIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:760px){.zv-rowtags{display:none !important}}
@media (max-width:600px){.zv-acc-head.e-con{--gap:12px;--row-gap:12px;--column-gap:12px;--padding-top:28px;--padding-bottom:28px;--padding-left:0px;--padding-right:0px}.zv-rowtitle .elementor-heading-title{font-size:clamp(21px,6.6vw,28px) !important}.zv-arrow .elementor-icon{width:42px;height:42px}}

/* Mini-Vorschau */
.zv-deco{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:18px;background:#131D20;border:1px solid rgba(45,212,191,.3);width:100%;max-width:250px}
.zv-deco-lbl{font-family:var(--zv-label);font-weight:600;font-size:10.5px;letter-spacing:.12em;color:var(--zv-muted2)}
.zv-deco-web{display:flex;flex-direction:column;gap:8px}
.zv-dots{display:flex;gap:5px}
.zv-dots span{width:7px;height:7px;border-radius:50%;background:var(--zv-line2)}
.zv-deco-hero{height:78px;border-radius:10px;background:linear-gradient(135deg,#2DD4BF,#0E7A6E);display:flex;flex-direction:column;justify-content:flex-end;gap:5px;padding:12px}
.zv-deco-hero span:first-child{width:70%;height:8px;border-radius:4px;background:rgba(4,33,30,.6)}
.zv-deco-hero span:last-child{width:40%;height:6px;border-radius:4px;background:rgba(4,33,30,.4)}
.zv-deco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.zv-deco-grid span{height:34px;border-radius:6px;background:var(--zv-bg2)}
.zv-deco-toast{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--zv-bg);border:1px solid var(--zv-line);font-size:13px;color:var(--zv-white)}
.zv-pulse{flex:none;width:8px;height:8px;border-radius:50%;background:var(--zv-teal);animation:zvPulse 2.2s ease-out infinite}
@keyframes zvPulse{0%{box-shadow:0 0 0 0 rgba(45,212,191,.6)}100%{box-shadow:0 0 0 10px rgba(45,212,191,0)}}
.zv-deco-call{display:flex;flex-direction:column;gap:10px}
.zv-deco-row{display:flex;justify-content:space-between;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--zv-teal2)}
.zv-mute{color:var(--zv-muted2)}
.zv-deco-note{padding:10px 12px;border-radius:12px;background:rgba(45,212,191,.12);border:1px solid rgba(45,212,191,.3);font-size:13px;color:var(--zv-white)}
.zv-deco-it{display:flex;flex-direction:column;gap:8px;font-family:var(--zv-label);font-weight:600;font-size:12px;color:var(--zv-white)}
.zv-deco-it>div{display:flex;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--zv-bg);border:1px solid var(--zv-line)}
.zv-blink{color:var(--zv-teal);animation:zvDot 2.4s ease-in-out infinite}
@keyframes zvDot{0%,100%{opacity:1}50%{opacity:.35}}
.zv-bars{display:flex;align-items:flex-end;gap:4px;height:46px}
.zv-bars span{flex:1;height:100%;border-radius:2px;animation:zvBar 1.1s ease-in-out infinite;transform-origin:bottom}
.zv-bars--slim{height:32px}
.zv-bars--slim span{flex:none;width:5px;border-radius:3px}
.zv-bars span:nth-child(2n){animation-delay:.18s}.zv-bars span:nth-child(3n){animation-delay:.36s}.zv-bars span:nth-child(5n){animation-delay:.54s}
@keyframes zvBar{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}

/* ============================================================ STATIONEN */
.zv-stations{display:flex;flex-direction:column;gap:52px}
.zv-pipe-wrap{overflow-x:auto;margin-top:-18px;padding-bottom:6px}
.zv-pipe{position:relative;min-width:760px;padding-top:24px}
.zv-pipe-line{position:absolute;left:75px;right:75px;top:59px;height:2px;background:var(--zv-line)}
.zv-fill{position:relative;height:100%;width:0;background:linear-gradient(90deg,#0E7A6E,#5EEAD4);transition:width 1s cubic-bezier(.7,0,.2,1)}
.zv-fill::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--zv-teal2);box-shadow:0 0 18px 5px rgba(45,212,191,.55)}
.zv-pipe-row{position:relative;display:flex;justify-content:space-between}
.zv-site button.zv-stationbtn{width:150px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0;background:transparent;border:0;color:var(--zv-white);font-family:var(--zv-body);cursor:pointer;border-radius:0}
.zv-site button.zv-stationbtn:hover,.zv-site button.zv-stationbtn:focus{background:transparent;color:var(--zv-white)}
.zv-station{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;border:1.5px solid var(--zv-line2);background:var(--zv-bg2);color:var(--zv-muted2);font-family:var(--zv-label);font-weight:600;font-size:15px;transition:background-color .35s ease,border-color .35s ease,color .35s ease,transform .35s ease}
.zv-stationbtn:hover .zv-station{transform:scale(1.08)}
.zv-stationbtn.is-done .zv-station{border-color:var(--zv-teal);background:#0F2A28;color:var(--zv-teal2)}
.zv-stationbtn.is-on .zv-station{border-color:var(--zv-teal);background:var(--zv-teal);color:var(--zv-ink);animation:zvStPulse 2.4s ease-out infinite}
@keyframes zvStPulse{0%{box-shadow:0 0 0 0 rgba(45,212,191,.45)}100%{box-shadow:0 0 0 16px rgba(45,212,191,0)}}
.zv-st-title{font-family:var(--zv-head);font-stretch:108%;font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--zv-muted);line-height:1.3;text-align:center}
.zv-stationbtn.is-on .zv-st-title{color:var(--zv-white)}
.zv-st-pillar{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.1em;color:var(--zv-muted2)}
.zv-stpanel{display:flex;flex-wrap:wrap;gap:24px}
.zv-stpanel[hidden]{display:none}
.zv-stcard{flex:1.2 1 480px;min-width:0;display:flex;flex-direction:column;gap:18px;padding:clamp(28px,4vw,44px);border-radius:28px;border:1px solid var(--zv-line);background:radial-gradient(ellipse 80% 80% at 100% 0%,rgba(45,212,191,.13) 0%,rgba(19,29,32,0) 60%),#131D20}
.zv-stbadge{align-self:flex-start;padding:6px 12px;border-radius:999px;background:rgba(45,212,191,.12);border:1px solid rgba(45,212,191,.3);font-family:var(--zv-label);font-weight:600;font-size:12px;letter-spacing:.1em;color:var(--zv-teal2)}
.zv-site h3.zv-sttitle{margin:0;font-family:var(--zv-head);font-stretch:110%;font-weight:800;font-size:clamp(32px,3.6vw,52px);line-height:1;letter-spacing:-.035em;color:var(--zv-white)}
.zv-sttext{margin:0;max-width:560px;font-size:18px;line-height:1.6;color:var(--zv-text)}
.zv-sttools{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px;border-top:1px solid var(--zv-line)}
.zv-sttools span{padding:7px 13px;border-radius:999px;border:1px solid var(--zv-line2);font-size:14px;color:var(--zv-white)}
.zv-stlog{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:28px;border:1px solid var(--zv-line);background:var(--zv-bg);font-family:var(--zv-label);font-weight:600}
.zv-stlog-top{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.12em;color:var(--zv-muted2)}
.zv-log{display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--zv-text)}
.zv-log>div{display:flex;gap:10px;opacity:0;animation:zvIn .5s ease forwards;animation-delay:calc(var(--i,0) * 420ms + 250ms)}
.zv-log-c{color:var(--zv-teal)}
.zv-caret{display:inline-block;margin-top:auto;width:.55em;height:1em;background:var(--zv-teal);vertical-align:-2px;animation:zvBlink 1s steps(1) infinite}
@keyframes zvBlink{50%{opacity:0}}
@media (max-width:720px){.zv-pipe-wrap{overflow:visible}.zv-pipe{min-width:0}.zv-site button.zv-stationbtn{width:auto;flex:1 1 0;min-width:0;gap:10px}.zv-station{width:46px;height:46px;font-size:13px}.zv-pipe-line{left:10%;right:10%;top:46px}.zv-st-title,.zv-st-pillar{display:none !important}}

/* ================================================================ 3·2·1 */
.zv-teal{z-index:2;color:var(--zv-ink)}
.zv-roll .elementor-heading-title{display:block;height:1em;overflow:hidden;line-height:1 !important;font-feature-settings:"tnum"}
.zv-rollcol{display:inline-block;transition:transform 2.2s var(--zv-ease)}
.zv-rollcol>span{display:block;height:1em}

/* =========================================================== REFERENZEN */
.zv-chips{display:flex;flex-wrap:wrap;gap:8px}
.zv-site button.zv-chip{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:999px;border:1px solid var(--zv-line2);background:transparent;color:var(--zv-text);font-family:var(--zv-body);font-size:14px;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.zv-site button.zv-chip:hover,.zv-site button.zv-chip:focus{background:transparent;color:var(--zv-text);border-color:var(--zv-teal)}
.zv-site button.zv-chip.is-on{background:var(--zv-teal);border-color:var(--zv-teal);color:var(--zv-ink)}
.zv-chip span{font-family:var(--zv-label);font-weight:600;font-size:12px;opacity:.7}
.zv-refgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(276px,100%),1fr));gap:18px}
.zv-ref{display:flex;flex-direction:column;border:1px solid var(--zv-line);border-radius:22px;background:var(--zv-bg2);overflow:hidden}
.zv-ref[hidden]{display:none}
.zv-ref.zv-in{animation:zvCard .8s var(--zv-ease) backwards;animation-delay:var(--d,0ms)}
@keyframes zvCard{from{opacity:0;translate:0 34px}to{opacity:1;translate:0 0}}
.zv-ref-media{position:relative;height:196px;overflow:hidden;background:var(--zv-bg3);border-bottom:1px solid var(--zv-line)}
.zv-ref-media>.zv-dots{position:absolute;top:12px;left:16px;z-index:4}
.zv-ref-media>.zv-dots span{background:#3A4D51}
.zv-ref-media img.zv-shotimg{position:absolute;left:14px;top:32px;width:calc(100% - 28px);height:calc(100% - 32px);max-width:none;object-fit:cover;object-position:50% 0%;border-radius:9px 9px 0 0;border:1px solid var(--zv-line2);border-bottom:0;background:var(--zv-bg);display:block;transition:object-position 6s cubic-bezier(.45,0,.2,1)}
.zv-ref:hover img.zv-shotimg{object-position:50% 100%}
.zv-ref-logos{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse 80% 90% at 50% 0%,rgba(45,212,191,.12),rgba(19,29,32,0) 70%),#131D20}
.zv-ref-logos.is-multi{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
.zv-logotile{display:flex;align-items:center;justify-content:center;width:64%;height:124px;padding:16px 24px;border-radius:12px;background:#fff;box-shadow:0 14px 30px -18px rgba(0,0,0,.9);transition:transform .5s var(--zv-ease)}
.is-multi .zv-logotile{width:100%;height:100%;padding:8px 12px}
.zv-logotile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.zv-ref:hover .zv-logotile{transform:translateY(-4px)}
.zv-shot{position:absolute;left:14px;right:14px;top:32px;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:9px 9px 0 0;background:var(--zv-bg);border:1px solid var(--zv-line2);transition:transform 2.8s cubic-bezier(.45,0,.2,1)}
.zv-ref:hover .zv-shot{transform:translateY(-54%)}
.zv-shot-top{display:flex;justify-content:space-between;align-items:center}
.zv-shot-top>span:first-child{width:42px;height:7px;border-radius:4px;background:var(--zv-teal)}
.zv-shot-top i{display:inline-block;width:16px;height:4px;margin-left:4px;border-radius:2px;background:var(--zv-line2)}
.zv-shot-hero{height:92px;border-radius:7px;background:linear-gradient(135deg,#2DD4BF,#0E7A6E);display:flex;flex-direction:column;justify-content:flex-end;gap:5px;padding:11px}
.zv-shot-hero span:first-child{width:72%;height:8px;border-radius:4px;background:rgba(4,33,30,.55)}
.zv-shot-hero span:last-child{width:44%;height:6px;border-radius:4px;background:rgba(4,33,30,.35)}
.zv-shot-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.zv-shot-g3 span{height:46px;border-radius:6px;background:var(--zv-bg3)}
.zv-shot-l{width:86%;height:5px;border-radius:3px;background:var(--zv-line)}
.zv-shot-l.s{width:64%}
.zv-shot-box{height:84px;border-radius:7px;background:var(--zv-bg3);border:1px solid var(--zv-line)}
.zv-ref-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px}
.zv-ref-meta{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.1em;color:var(--zv-muted2)}
.zv-ref-client{font-family:var(--zv-head);font-stretch:110%;font-weight:750;font-size:24px;line-height:1.05;letter-spacing:-.02em;color:var(--zv-white)}
.zv-site h3.zv-ref-title{margin:0;font-family:var(--zv-body);font-size:16px;font-weight:500;line-height:1.4;color:var(--zv-white);letter-spacing:0}
.zv-ref-text{margin:0;font-size:14px;line-height:1.55;color:var(--zv-muted)}
.zv-ref-body .zv-tags{margin-top:auto;padding-top:6px}
.zv-empty{padding:24px;border:1px dashed var(--zv-line2);border-radius:16px;color:var(--zv-muted2);font-size:14px}

/* Schlagworte */
.zv-tags{display:flex;flex-wrap:wrap;gap:6px}
.zv-tags span{border-radius:999px}
.zv-tags--caps span{padding:4px 9px;border:1px solid var(--zv-line2);font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.08em;color:var(--zv-text);text-transform:uppercase}
.zv-tags--pill span{padding:5px 11px;border:1px solid var(--zv-line2);font-size:13px;color:var(--zv-text)}
.zv-tags--soft span{padding:4px 10px;background:var(--zv-bg3);border:1px solid var(--zv-line);font-size:12px;color:var(--zv-text)}

/* ============================================================== PROZESSE */
.zv-proc{position:relative;display:flex;flex-direction:column;gap:20px;height:100%;padding:clamp(22px,3.4vw,40px);border-radius:30px;border:1px solid rgba(45,212,191,.3);background:radial-gradient(ellipse 70% 80% at 0% 0%,rgba(45,212,191,.14) 0%,rgba(19,29,32,0) 60%),#131D20}
.zv-proc-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.zv-proc-lbl{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--zv-muted)}
.zv-ptogs{display:inline-flex;padding:4px;border-radius:999px;background:var(--zv-bg);border:1px solid var(--zv-line)}
.zv-site button.zv-ptog{min-height:40px;padding:8px 18px;border-radius:999px;border:0;background:transparent;color:var(--zv-muted);font-family:var(--zv-body);font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .3s ease,color .3s ease}
.zv-site button.zv-ptog:hover,.zv-site button.zv-ptog:focus{background:transparent;color:var(--zv-white)}
.zv-site .is-a button.zv-ptog[data-k="a"]{background:var(--zv-line2);color:var(--zv-white)}
.zv-site .is-b button.zv-ptog[data-k="b"]{background:var(--zv-teal);color:var(--zv-ink)}
.zv-proc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.zv-metric{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:16px;background:var(--zv-bg);border:1px solid var(--zv-line)}
.zv-mlabel{font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.12em;color:var(--zv-muted2)}
.zv-mval{font-family:var(--zv-head);font-stretch:118%;font-weight:900;font-size:clamp(24px,2.6vw,32px);line-height:1;letter-spacing:-.03em;color:var(--zv-amber);transition:color .4s ease}
.is-a .zv-metric.is-first .zv-mval{color:var(--zv-white)}
.is-b .zv-mval{color:var(--zv-teal2)}
.zv-proc-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.zv-proc-list[hidden]{display:none}
.zv-prow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;border-radius:16px;border:1px solid var(--zv-line);background:var(--zv-bg);animation:zvProw .55s var(--zv-ease) both;animation-delay:calc(var(--i) * 70ms)}
@keyframes zvProw{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.zv-prow-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--zv-line);color:var(--zv-muted2);font-family:var(--zv-label);font-weight:600;font-size:12px}
.zv-prow-t{flex:1 1 200px;min-width:0;font-size:15px;line-height:1.4;color:var(--zv-muted)}
.zv-ptag{flex:none;padding:4px 10px;border-radius:999px;border:1px solid rgba(251,191,36,.4);font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.08em;color:var(--zv-amber)}
.zv-proc-list[data-k="b"] .zv-prow{border-color:rgba(45,212,191,.35);background:rgba(45,212,191,.06)}
.zv-proc-list[data-k="b"] .zv-prow-n{background:var(--zv-teal);color:var(--zv-ink)}
.zv-proc-list[data-k="b"] .zv-prow-t{color:var(--zv-white)}
.zv-proc-list[data-k="b"] .zv-ptag{border-color:rgba(45,212,191,.45);color:var(--zv-teal2)}
.zv-proc-note{margin:auto 0 0;font-size:13px;color:var(--zv-muted2)}
@media (max-width:520px){.zv-ptag{margin-left:48px}}
@media (max-width:380px){.zv-mlabel{letter-spacing:.05em}}
.zv-pcard{flex:1 1 auto}
.zv-dashcard{border:1px dashed rgba(45,212,191,.4) !important}

/* ================================================================== TEAM */
.zv-teamcard{overflow:hidden}
.zv-por{position:relative;overflow:hidden;background:var(--zv-bg3);border-bottom:1px solid var(--zv-line)}
.zv-por::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,25,0) 52%,rgba(15,23,25,.9) 100%),linear-gradient(135deg,rgba(45,212,191,.08),rgba(19,78,74,.24))}
.zv-porimg img{display:block;width:100%;transform:scale(1.001);filter:saturate(.92) contrast(1.02);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.zv-tilt:hover .zv-porimg img{transform:scale(1.045);filter:saturate(1.02) contrast(1.04)}

/* Radar */
.zv-radarcard{display:flex;flex-direction:column;gap:18px;height:100%;padding:26px;border-radius:28px;border:1px solid var(--zv-line);background:var(--zv-bg2)}
.zv-radar-top{display:flex;justify-content:space-between;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--zv-muted2)}
.zv-radar-top span:first-child{color:var(--zv-teal2)}
.zv-radar{position:relative;width:100%;max-width:330px;aspect-ratio:1/1;margin:0 auto;border-radius:50%;background:radial-gradient(circle,#131D20 0%,#0A0E0F 72%);overflow:hidden}
.zv-rr{position:absolute;border-radius:50%;border:1px solid var(--zv-line)}
.zv-rr.r0{inset:0;border-color:var(--zv-line2)}.zv-rr.r1{inset:12.5%}.zv-rr.r2{inset:25%}.zv-rr.r3{inset:37.5%}
.zv-rx{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--zv-line)}
.zv-ry{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--zv-line)}
.zv-radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(45,212,191,.38),rgba(45,212,191,0) 24%,rgba(45,212,191,0) 100%);animation:zvSpin 6s linear infinite}
.zv-rc{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--zv-teal);box-shadow:0 0 20px var(--zv-teal)}
.zv-rc-l{position:absolute;left:50%;top:50%;transform:translate(10px,-26px);font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.06em;color:var(--zv-white);white-space:nowrap}
.zv-rp{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--zv-teal)}
.zv-rp.is-big{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--zv-teal2);animation:zvPulse 2.6s ease-out infinite}
.zv-rpl{position:absolute;transform:translate(-50%,6px);font-family:var(--zv-label);font-weight:600;font-size:9px;color:var(--zv-muted2);white-space:nowrap}
.zv-rpl.is-big{transform:translate(-50%,8px);font-size:10px;color:var(--zv-text)}
.zv-rpl.is-above{transform:translate(-50%,-18px)}
.zv-rpl.is-big.is-above{transform:translate(-50%,-22px)}
.zv-radar-text{margin:0;font-size:15px;line-height:1.6;color:var(--zv-muted)}

/* =================================================================== FAQ */
.zv-site .zv-faqacc .e-n-accordion{border-top:1px solid var(--zv-line)}
.zv-site .zv-faqacc .e-n-accordion-item{border-bottom:1px solid var(--zv-line)}
.zv-site .zv-faqacc .e-n-accordion-item-title{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:20px 4px !important;border:0 !important;background:transparent !important;cursor:pointer;list-style:none}
.zv-site .zv-faqacc .e-n-accordion-item-title::-webkit-details-marker{display:none}
.zv-site .zv-faqacc .e-n-accordion-item-title-text{margin:0;font-family:var(--zv-head);font-stretch:106%;font-weight:650;font-size:20px;line-height:1.3;letter-spacing:-.01em;color:var(--zv-white);transition:color .25s ease}
.zv-site .zv-faqacc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{color:var(--zv-teal2)}
.zv-site .zv-faqacc .e-n-accordion-item-title-icon{flex:none;display:inline-flex !important;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--zv-line2);color:var(--zv-teal2);transition:transform .35s var(--zv-ease),background-color .3s ease,color .3s ease,border-color .3s ease}
.zv-site .zv-faqacc .e-n-accordion-item-title-icon span{display:inline-flex;font-size:16px;color:inherit}
.zv-site .zv-faqacc .e-n-accordion-item-title-icon svg{width:16px;height:16px;fill:none;stroke:currentColor}
.zv-site .zv-faqacc .e-n-accordion-item-title-icon .e-opened{display:none}
.zv-site .zv-faqacc .e-n-accordion-item-title-icon .e-closed{display:inline-flex}
.zv-site .zv-faqacc .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon{transform:rotate(45deg);background:var(--zv-teal);border-color:var(--zv-teal);color:var(--zv-ink)}
.zv-site .zv-faqacc .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon{border-color:var(--zv-teal)}
.zv-site .zv-faqacc .e-n-accordion-item>.e-con{border:0 !important;background:transparent !important}

/* =============================================================== KONTAKT */
.zv-cta2{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:18px;max-width:100%;min-height:96px;padding:14px 14px 14px 16px;border-radius:999px;background:linear-gradient(115deg,#5EEAD4 0%,#2DD4BF 42%,#14B8A6 100%);color:var(--zv-ink) !important;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 30px 70px -28px rgba(45,212,191,.75)}
.zv-cta2::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1.5px solid rgba(45,212,191,.75);pointer-events:none;z-index:-1;animation:zvCtaRing 2.8s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes zvCtaRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.06,1.32);opacity:0}}
.zv-cta2-sheen{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.zv-cta2-sheen::before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 100%);transform:translateX(-160%) skewX(-18deg);animation:zvCtaSheen 5s ease-in-out infinite}
@keyframes zvCtaSheen{0%,58%{transform:translateX(-160%) skewX(-18deg)}88%,100%{transform:translateX(340%) skewX(-18deg)}}
.zv-cta2-av{position:relative;flex:none;display:inline-flex}
.zv-cta2-av img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--zv-teal);display:block}
.zv-cta2-av .zv-cta2-av2{margin-left:-16px;transition:margin .45s var(--zv-ease)}
.zv-cta2:hover .zv-cta2-av2{margin-left:-6px}
.zv-cta2-txt{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px;padding-right:6px}
.zv-cta2-t{font-family:var(--zv-head);font-stretch:110%;font-weight:800;font-size:clamp(18px,1.6vw,22px);line-height:1.05;letter-spacing:-.02em;white-space:nowrap}
.zv-cta2-s{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.1em;color:rgba(4,33,30,.72);white-space:nowrap}
.zv-cta2-arr{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--zv-ink);color:var(--zv-teal2);transition:transform .5s var(--zv-ease)}
.zv-cta2-arr svg{transition:transform .5s var(--zv-ease)}
.zv-cta2:hover .zv-cta2-arr{transform:scale(1.08)}
.zv-cta2:hover .zv-cta2-arr svg{transform:rotate(45deg)}
.zv-cta2:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 36px 80px -24px rgba(45,212,191,.95)}
.zv-cta2:focus-visible{outline:2px solid var(--zv-white);outline-offset:5px}
@media (max-width:520px){.zv-cta2{width:100%;gap:12px;padding:12px;min-height:80px}.zv-cta2-av img{width:44px;height:44px}.zv-cta2-av .zv-cta2-av2{margin-left:-14px}.zv-cta2-arr{width:52px;height:52px;margin-left:auto}.zv-cta2-t,.zv-cta2-s{white-space:normal}.zv-cta2-s{letter-spacing:.06em;line-height:1.35}}
@media (max-width:380px){.zv-cta2{gap:10px}.zv-cta2-av img{width:36px;height:36px;border-width:2px}.zv-cta2-arr{width:44px;height:44px}.zv-cta2-t{font-size:17px}}
@media (prefers-reduced-motion:reduce){.zv-cta2::after,.zv-cta2-sheen::before{animation:none;opacity:0}}
.zv-contactlist .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:12px 32px}
.zv-contactlist .elementor-icon-list-item{margin:0 !important;padding:0 !important}
.zv-contactlist .elementor-icon-list-item a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.zv-contactlist .elementor-icon-list-item::after{display:none !important}
.zv-ilist .elementor-icon-list-icon svg{width:18px;height:18px}
.zv-site .zv-ilist .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--zv-teal2)}

/* ================================================================ FOOTER */
.zv-footer{z-index:2;overflow:hidden}
.zv-footer::before{content:"";position:absolute;left:50%;top:-1px;width:min(760px,80%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(45,212,191,0),#2DD4BF,rgba(45,212,191,0));z-index:1}
.zv-footer::after{content:"";position:absolute;left:50%;top:-220px;width:900px;height:440px;transform:translateX(-50%);background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(45,212,191,.10),rgba(10,14,15,0) 70%);pointer-events:none}
.zv-footer>.e-con-inner{position:relative;z-index:2}
.zv-flogo img{height:40px !important;width:auto !important;display:block}
.zv-flogo a{display:inline-flex}
.zv-flinks .elementor-icon-list-items{display:flex;flex-direction:column;gap:4px}
.zv-flinks .elementor-icon-list-item{margin:0 !important;padding:0 !important}
.zv-flinks .elementor-icon-list-item>a,.zv-flinks .elementor-icon-list-item>span{display:inline-flex !important;align-items:center;gap:6px;min-height:32px;text-decoration:none;transition:transform .3s var(--zv-ease)}
.zv-flinks .elementor-icon-list-item>a:hover{transform:translateX(4px)}
.zv-flinks .elementor-icon-list-icon svg{width:15px;height:15px}
.zv-faddr .elementor-icon-list-item:first-child>span{align-items:flex-start}
.zv-faddr .elementor-icon-list-item:first-child .elementor-icon-list-icon{margin-top:4px}
.zv-site .zv-soc .elementor-social-icon{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--zv-line2);background:var(--zv-bg2);color:var(--zv-text);font-size:18px;transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .3s var(--zv-ease)}
.zv-site .zv-soc .elementor-social-icon svg{width:18px;height:18px;fill:none !important;stroke:currentColor}
.zv-site .zv-soc .elementor-social-icon:hover{background:var(--zv-teal);border-color:var(--zv-teal);color:var(--zv-ink);transform:translateY(-3px)}
.zv-soc .elementor-social-icons-wrapper{display:flex !important;justify-content:flex-start !important;gap:10px}
.zv-soc .elementor-grid{--grid-column-gap:10px}
.zv-site .zv-fcta .elementor-button:hover{transform:translateY(-2px)}
.zv-legal .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 22px}
.zv-legal .elementor-icon-list-item{margin:0 !important;padding:0 !important}
.zv-legal .elementor-icon-list-item::after{display:none !important}
.zv-legal a{text-decoration:none}
.zv-site .zv-totop .elementor-button{border-color:var(--zv-line2);color:var(--zv-text)}
.zv-site .zv-totop .elementor-button:hover{background:var(--zv-teal);border-color:var(--zv-teal);color:var(--zv-ink)}
.zv-totop .elementor-button-text::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat}

/* ======================================================== Bewegung reduzieren */
@media (prefers-reduced-motion:reduce){
	.zv-site *,.zv-site *::before,.zv-site *::after{animation:none !important;transition:none !important}
	.zv-js .zv-up,.zv-js .zv-reveal .zv-w>span{opacity:1 !important;transform:none !important}
	.zv-log>div{opacity:1 !important}
	.zv-cursor{display:none}
}

/* ============================================================ Editor-Ansicht */
.elementor-editor-active .zv-up{opacity:1 !important;transform:none !important}
.elementor-editor-active .zv-reveal .elementor-heading-title{visibility:visible !important}
.elementor-editor-active .zv-gline{transform:none !important}

/* Flex-Basis für Widgets (vom Vorlagen-Generator erzeugt) */
/* bases */
.elementor-element.zv-b250{--flex-basis:250px}
.elementor-element.zv-b300{--flex-basis:300px}
.elementor-element.zv-b340{--flex-basis:340px}
.elementor-element.zv-b360{--flex-basis:360px}
.elementor-element.zv-b380{--flex-basis:380px}
.elementor-element.zv-b560{--flex-basis:560px}
.elementor-element.zv-b600{--flex-basis:600px}
.elementor-element.zv-b640{--flex-basis:640px}
/* /bases */
