.elementor-kit-1399{--e-global-color-primary:#9651FA;--e-global-color-secondary:#508CFF;--e-global-color-text:#F7F8FC;--e-global-color-accent:#A374FF;--e-global-color-dbfc879:#080B16;--e-global-color-311f6c3:#0D1120;--e-global-color-a9ee62f:#151A2B;--e-global-color-9821be7:#1D2440;--e-global-color-e1be936:#303650;--e-global-color-67d1628:#AC72FF;--e-global-color-10757d7:#70A5FF;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:60px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:42px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;}.elementor-kit-1399 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Virby Studio – globale Design-Effekte */
/* lange Wörter auf dem Handy trennen */
@media (max-width:767px){.elementor-heading-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}}

:root{--vs-p:#9651FA;--vs-p2:#6E7BFF;--vs-a:#A374FF;--vs-line:#303650}
::selection{background:rgba(150,81,250,.45);color:#fff}
html{scroll-behavior:smooth;scrollbar-color:#3a3360 #080B16}
body:not(.elementor-editor-active){background-color:#080B16}
body:not(.elementor-editor-active)::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%)}
body:not(.elementor-editor-active)::after{content:"";position:fixed;width:900px;height:900px;left:-300px;top:30%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(150,81,250,.14),transparent 60%);filter:blur(20px);animation:vsOrb 22s ease-in-out infinite alternate}
@keyframes vsOrb{0%{transform:translate(0,0)}50%{transform:translate(70vw,-30vh)}100%{transform:translate(30vw,20vh)}}
body > .elementor,.site-main,.page-content,.hfeed > .elementor,footer,.e-con-boxed{position:relative;z-index:1}
/* eyebrow labels */
.vs-eyebrow .elementor-heading-title{display:inline-flex!important;align-items:center;gap:10px;padding:7px 14px 7px 12px;border:1px solid rgba(163,116,255,.35);border-radius:999px;background:rgba(150,81,250,.08);font-size:12px!important;letter-spacing:2.5px!important}
.vs-eyebrow .elementor-heading-title:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--vs-a);box-shadow:0 0 10px var(--vs-a);animation:vsPulse 2s ease-in-out infinite}
@keyframes vsPulse{50%{opacity:.35}}
/* gradient headings */
.vs-h2 .elementor-heading-title{background:linear-gradient(100deg,#fff 0%,#fff 45%,#CDB6FF 75%,#8FB1FF 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.virby-gradient .elementor-heading-title{background:linear-gradient(90deg,#B07CFF,#7E8BFF,#C79BFF,#B07CFF)!important;background-size:250% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:vsShift 7s linear infinite}
@keyframes vsShift{to{background-position:250% 0}}
/* dividers */
.elementor-widget-divider .elementor-divider-separator{border:0!important;height:3px;background:linear-gradient(90deg,var(--vs-p),var(--vs-p2),transparent);border-radius:3px}
/* cards */
.vs-card,.vs-pk,.vs-faq details{position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(30,36,60,.75),rgba(16,20,36,.75))!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vs-pk{overflow:visible}
.vs-card::before,.vs-pk::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(150,81,250,.20),transparent 45%);opacity:0;transition:opacity .35s;z-index:0}
.vs-card:hover::before,.vs-pk:hover::after{opacity:1}
.vs-card>*{position:relative;z-index:1}
.vs-card .elementor-icon{width:56px;height:56px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,rgba(150,81,250,.25),rgba(110,123,255,.12));border:1px solid rgba(163,116,255,.3);box-shadow:inset 0 0 20px rgba(150,81,250,.15)}
.vs-card .elementor-icon i,.vs-card .elementor-icon svg{font-size:24px!important;width:24px;height:24px}
/* buttons */
.vs-btn .elementor-button,input.wpcf7-submit,.vs-pk.hot .vs-pbtn{background:linear-gradient(135deg,#9651FA 0%,#7B6BFF 100%)!important;box-shadow:0 10px 30px -10px rgba(150,81,250,.75),inset 0 1px 0 rgba(255,255,255,.2);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s!important}
.vs-btn .elementor-button:hover,input.wpcf7-submit:hover,.vs-pk.hot .vs-pbtn:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(150,81,250,.95),inset 0 1px 0 rgba(255,255,255,.25)}
.vs-btn .elementor-button:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s}
.vs-btn .elementor-button:hover:after{left:140%}
.vs-ghost .elementor-button{backdrop-filter:blur(6px);background:rgba(150,81,250,.06)!important;transition:background .25s,transform .25s!important}
.vs-ghost .elementor-button:hover{background:rgba(150,81,250,.22)!important;transform:translateY(-2px)}
/* step numbers */
.vs-num .elementor-heading-title{background:linear-gradient(135deg,#C9A8FF,#7B6BFF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:44px!important}
/* skills marquee fade edges */
.elementor-widget-n-carousel{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
/* reveal */
.vs-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.vs-reveal.vs-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.vs-reveal{opacity:1;transform:none;transition:none}body::after,.virby-gradient .elementor-heading-title{animation:none!important}}

body:not(.home) main.site-main .elementor > .e-con:first-child{background:none!important;isolation:isolate}
body:not(.home) main.site-main .elementor > .e-con:first-child::before{content:"";position:absolute;inset:-120px 0 -140px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 85% 15%,rgba(150,81,250,.32),transparent 60%),radial-gradient(ellipse 50% 60% at 5% 90%,rgba(80,140,255,.14),transparent 60%);-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}

body .elementor .e-con-boxed,.elementor-location-header .e-con-boxed,footer .e-con-boxed{--content-width:1500px!important}
.elementor-widget-n-carousel .swiper-wrapper{transition-timing-function:linear!important}
/* SCALE-START */
a,.elementor a,.elementor-icon-box-title a,.elementor-heading-title a,.elementor-icon-list-item a,.elementor-button,.elementor-widget-text-editor a{text-decoration:none!important}
@media(min-width:1025px){
.vs-eyebrow .elementor-heading-title{font-size:13px!important;padding:8px 16px 8px 14px}
.vs-h2 h2.elementor-heading-title{font-size:58px!important;line-height:1.1!important}
.vs-h2 h1.elementor-heading-title{font-size:76px!important;line-height:1.05!important}
.vs-card{padding:44px 40px!important}
.vs-card .elementor-icon{width:64px;height:64px;border-radius:16px}
.vs-card .elementor-icon i,.vs-card .elementor-icon svg{font-size:28px!important;width:28px;height:28px}
.elementor-icon-box-title,.elementor-icon-box-title a{font-size:27px!important;line-height:1.25!important}
.elementor-icon-box-description{font-size:17.5px!important;line-height:1.7!important}
body:not(.elementor-editor-active) .elementor .elementor-widget-text-editor:not(footer *){font-size:19px!important}
.vs-card .elementor-widget-heading h3 .elementor-heading-title,.vs-card h3.elementor-heading-title{font-size:28px!important}
.vs-card .elementor-icon-list-text{font-size:18px!important}
.vs-btn .elementor-button,.vs-ghost .elementor-button{font-size:17px!important;padding:18px 32px!important}
.elementor-location-header .elementor-button{font-size:16px!important;padding:14px 26px!important}
.vs-card .vs-btn .elementor-button,.vs-card .vs-ghost .elementor-button{font-size:15px!important;padding:14px 24px!important}
.vs-pk{padding:44px 36px}.vs-pk h3{font-size:32px}.vs-sub{font-size:16px}.vs-price{font-size:20px}.vs-pk li{font-size:16.5px}.vs-pbtn{font-size:17px;padding:17px 24px}
.vs-faq{max-width:1000px}.vs-faq summary{font-size:20px;padding:26px 40px 26px 0}.vs-faq details p{font-size:17px}
.vs-num .elementor-heading-title{font-size:54px!important}
.wpcf7 label{font-size:15px!important}.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 select,.wpcf7 textarea{font-size:16px!important;padding:16px 18px!important}
.wpcf7 input.wpcf7-submit{font-size:17px!important;padding:18px 28px!important}
}
/* SCALE-END */

.vs-h2 .elementor-heading-title,.virby-gradient .elementor-heading-title,.vs-num .elementor-heading-title{padding-bottom:.14em!important;margin-bottom:-.14em!important;overflow:visible!important}
.vs-h2 h2.elementor-heading-title{line-height:1.18!important}.vs-h2 h1.elementor-heading-title{line-height:1.12!important}
[id]{scroll-margin-top:110px}
/* LINKS */
.wpcf7 a,.elementor-widget-text-editor a:not(.elementor-button){color:#C9A8FF!important;text-decoration:none!important;border-bottom:1px solid rgba(201,168,255,.4);transition:color .2s,border-color .2s}
.wpcf7 a:hover,.elementor-widget-text-editor a:not(.elementor-button):hover{color:#fff!important;border-bottom-color:#fff}
.elementor-widget-text-editor a[href="/#services"]{border-bottom:0}

/* Header immer über dem Inhalt */
body > .elementor.elementor-location-header{z-index:999}

/* Kontakt-Popup (Footer) */
.vs-modal{position:fixed!important;inset:0;z-index:100000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.vs-modal.is-open{opacity:1;visibility:visible;transition:opacity .25s}
body > .elementor.elementor-location-footer:has(.vs-modal.is-open){z-index:100000}
.vs-modal-card{max-width:680px;max-height:calc(100dvh - 40px);transform:translateY(16px) scale(.98);transition:transform .3s}
.vs-modal.is-open .vs-modal-card{transform:none}
html.vs-modal-lock{overflow:hidden}
body.home .vs-modal{display:none!important}/* End custom CSS */