.elementor-kit-5{--e-global-color-primary:#040D24;--e-global-color-secondary:#2D303A;--e-global-color-text:#040D24;--e-global-color-accent:#ADAF60;--e-global-color-pool_citron:#ADAF60;--e-global-color-pool_white:#FFFFFF;--e-global-color-pool_mist:#EBEBEB;--e-global-color-pool_footer:#2D303A;--e-global-color-pool_navy:#040E23;--e-global-color-pool_pink:#CC3366;--e-global-color-pool_ash:#8C949D;--e-global-color-pool_steel:#AABBCC;--e-global-color-pool_red:#FD1903;--e-global-typography-primary-font-family:"ITC Avant Garde Gothic";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"ITC Avant Garde Gothic";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"ITC Avant Garde Gothic";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"ITC Avant Garde Gothic";--e-global-typography-accent-font-weight:500;--e-global-typography-pool_hero-font-family:"ITC Avant Garde Gothic";--e-global-typography-pool_hero-font-size:74px;--e-global-typography-pool_hero-font-weight:600;--e-global-typography-pool_hero-line-height:1.02em;--e-global-typography-pool_lead-font-family:"ITC Avant Garde Gothic";--e-global-typography-pool_lead-font-size:26px;--e-global-typography-pool_lead-font-weight:500;--e-global-typography-pool_lead-line-height:1.35em;color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:18px;font-weight:400;line-height:1.55em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#FFFFFF;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:18px;font-weight:500;color:#000000;box-shadow:5px 5px 20px 0px rgba(0,0,0,0.2);border-radius:0px 0px 0px 0px;padding:18px 34px 18px 34px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#040D24;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#040D24;}.elementor-kit-5 a:hover{color:#59C82A;}.elementor-kit-5 h1{color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:46px;font-weight:600;line-height:1.08em;}.elementor-kit-5 h2{color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:42px;font-weight:600;line-height:1.12em;}.elementor-kit-5 h3{color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:28px;font-weight:600;line-height:1.2em;}.elementor-kit-5 h4{color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:24px;font-weight:600;line-height:1.25em;}.elementor-kit-5 h5{color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:20px;font-weight:600;line-height:1.3em;}.elementor-kit-5 h6{color:#040D24;font-family:"ITC Avant Garde Gothic", sans-serif;font-size:18px;font-weight:600;line-height:1.35em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1362px;}.e-con{--container-max-width:1362px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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-kit-5{font-size:17px;}.elementor-kit-5 h1{font-size:38px;}.elementor-kit-5 h2{font-size:34px;}.elementor-kit-5 h3{font-size:25px;}.elementor-kit-5 h4{font-size:22px;}.elementor-kit-5 h5{font-size:18px;}.elementor-kit-5 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:16px;}.elementor-kit-5 h1{font-size:30px;}.elementor-kit-5 h2{font-size:28px;}.elementor-kit-5 h3{font-size:22px;}.elementor-kit-5 h4{font-size:20px;}.elementor-kit-5 h5{font-size:17px;}.elementor-kit-5 h6{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Pool Vision fluid scaling (Figma authored at 1920) ===== */

/* 1. Page gutters scale with viewport instead of fixed 140/271px */
.elementor-element-plsvc001 > .e-con-inner,
.elementor-element-plprj001 > .e-con-inner,
.elementor-element-plvis001 > .e-con-inner,
.elementor-element-pltrst01 > .e-con-inner,
.elementor-element-plkomp01 > .e-con-inner,
.elementor-element-svcards1 > .e-con-inner,
.elementor-element-svproj01 > .e-con-inner{max-width:1640px;margin-inline:auto}

@media(min-width:1025px) and (max-width:1800px){
 .elementor-element-plsvc001,.elementor-element-plprj001,.elementor-element-plvis001,
 .elementor-element-pltrst01,.elementor-element-plkomp01,.elementor-element-plcase01,
 .elementor-element-svcards1,.elementor-element-svproj01,.elementor-element-svhero01,
 .elementor-element-plhero01{
   padding-left:clamp(24px,3.5vw,140px)!important;padding-right:clamp(24px,3.5vw,140px)!important;
 }
 .elementor-element-plki0001,.elementor-element-plantr01,.elementor-element-plteam01,
 .elementor-element-svki0001,.elementor-element-svantr01{
   padding-left:clamp(24px,7vw,271px)!important;padding-right:clamp(24px,7vw,271px)!important;
 }
}

/* 2. Card rows: stay 3-up, shrink instead of wrapping */
@media(min-width:1025px){
 .elementor-element-plsvccs1,.elementor-element-svcardc1,.elementor-element-svprojc1,
 .elementor-element-absvcc01,.elementor-element-abprojc1{flex-wrap:nowrap!important}
 .elementor-element-plsvcc01:not(.swiper-slide),.elementor-element-plsvcc02:not(.swiper-slide),.elementor-element-plsvcc03:not(.swiper-slide),.elementor-element-plsvcc04:not(.swiper-slide),.elementor-element-plsvcc05:not(.swiper-slide),
 .elementor-element-svcd1:not(.swiper-slide),.elementor-element-svcd2:not(.swiper-slide),.elementor-element-svcd3:not(.swiper-slide),.elementor-element-svcd4:not(.swiper-slide),.elementor-element-svcd5:not(.swiper-slide),
 .elementor-element-svpc1:not(.swiper-slide),.elementor-element-svpc2:not(.swiper-slide),.elementor-element-svpc3:not(.swiper-slide),
 .elementor-element-absc1:not(.swiper-slide),.elementor-element-absc2:not(.swiper-slide),.elementor-element-absc3:not(.swiper-slide),.elementor-element-absc4:not(.swiper-slide),.elementor-element-absc5:not(.swiper-slide),
 .elementor-element-abpc1:not(.swiper-slide),.elementor-element-abpc2:not(.swiper-slide),.elementor-element-abpc3:not(.swiper-slide){
   width:auto!important;flex:1 1 0!important;min-width:0!important;
 }
}

/* 3. Hero + heading type scales down on laptop widths */
@media(min-width:1025px) and (max-width:1600px){
 .elementor-element-plh1_001 h1,.elementor-element-svhereh1 h1{font-size:clamp(40px,4.2vw,72px)!important;line-height:1.08!important}
 .elementor-element-plantrh1 h2,.elementor-element-svantrh1 h2{font-size:clamp(40px,4.6vw,74px)!important}
 .elementor-element-plkih001 h2,.elementor-element-svkih001 h2,
 .elementor-element-plsvcht1 h2,.elementor-element-svcardh1 h2,
 .elementor-element-plprjt01 h2,.elementor-element-svprojt1 h2,
 .elementor-element-pltrsthd h2,.elementor-element-plteamh1 h2,
 .elementor-element-plvish01 h2,.elementor-element-plkomph1 h2,
 .elementor-element-plcaseh1 h2,.elementor-element-plfcth01 p{font-size:clamp(28px,2.9vw,46px)!important}
 .elementor-element-plkib001,.elementor-element-svkib001,
 .elementor-element-plantrp1,.elementor-element-svantrp1{font-size:clamp(17px,1.35vw,26px)!important}
 .elementor-element-plkis001 .elementor-heading-title,
 .elementor-element-plkis002 .elementor-heading-title{font-size:clamp(38px,4vw,66px)!important}
}

/* 4. Element max-widths must not exceed their column */
.elementor-widget-text-editor{max-width:100%}
.elementor-element-plkib001,.elementor-element-svkib001,
.elementor-element-plantrp1,.elementor-element-svantrp1{width:100%!important}

/* 5. Footer link columns breathe instead of forcing overflow */
@media(min-width:1025px) and (max-width:1600px){
 .elementor-element-plflnk01{gap:clamp(40px,6vw,134px)!important}
}

/* 6. Wani case: image column must shrink */
@media(min-width:1025px) and (max-width:1600px){
 .elementor-element-plcasel1{width:auto!important;flex:1 1 0!important;min-width:0!important}
 .elementor-element-plcaser1{flex:0 1 auto!important;min-width:0!important}
 .elementor-element-plcaser1 img{width:100%!important;height:auto!important;max-height:560px;object-fit:cover}
}

/* 7. Arrow carousels: rows with Figma prev/next arrows become Swiper tracks.
   Layout stays identical; Swiper sets slide width inline, so no !important width
   rule may target a .swiper-slide (see section 2). */
.pv-carousel.swiper-initialized{display:block!important;position:relative;overflow:hidden;width:100%;gap:0!important;flex-wrap:nowrap!important}
.pv-carousel.swiper-initialized > .swiper-wrapper{display:flex;align-items:stretch;box-sizing:content-box}
.pv-carousel.swiper-initialized > .swiper-wrapper > .swiper-slide{flex:0 0 auto!important;height:auto!important;min-width:0!important;max-width:none!important}
.pv-carousel-arrow{cursor:pointer;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}
.pv-carousel-arrow img{pointer-events:none}
.pv-carousel-arrow:focus-visible{outline:2px solid #ADAF60;outline-offset:6px}
/* Inert states keep the arrows in place u2014 they are part of the Figma composition. */
.pv-carousel-arrow.pv-arrow-disabled,.pv-carousel-arrow.pv-arrow-lock{opacity:.28;pointer-events:none;cursor:default}


/* 8. Projekte u2014 u00dcbersicht (page 202) + Loop Item (template 201) */
.elementor-element-pjlist > .e-con-inner,
.elementor-element-pjhero > .e-con-inner{max-width:1640px;margin-inline:auto}
@media(min-width:1025px) and (max-width:1800px){
 .elementor-element-pjhero,.elementor-element-pjlist{
   padding-left:clamp(24px,3.5vw,140px)!important;padding-right:clamp(24px,3.5vw,140px)!important;
 }
}
/* Figma authors the row at 705 + 590; keep the ratio, never the pixels. */
@media(min-width:1025px){
 .elementor-element-pjimgc{width:auto!important;flex:705 1 0!important;min-width:0!important}
 .elementor-element-pjtxtc{width:auto!important;flex:590 1 0!important;min-width:0!important}
}
@media(min-width:1025px) and (max-width:1600px){
 .elementor-element-pjheroh h1{font-size:clamp(40px,4.2vw,72px)!important;line-height:1.08!important}
 .elementor-element-pjttl h2{font-size:clamp(28px,2.9vw,46px)!important}
 .elementor-element-pjdsc{font-size:clamp(17px,1.4vw,22px)!important}
}
.elementor-element-pjherop{max-width:802px}
/* Projects with no detail page show no case link (class from post_class). */
.pv-no-case .elementor-element-pjbtn{display:none!important}




/* 9. Projekt-Detailseiten u2014 Werte direkt aus Figma 2085:567 */
.elementor-element-pdintro > .e-con-inner,.elementor-element-pdshow > .e-con-inner,.elementor-element-pdcontent > .e-con-inner,.elementor-element-pdcase > .e-con-inner,.elementor-element-pdrel > .e-con-inner,.elementor-element-pdrelc > .e-con-inner{max-width:1362px;margin-inline:auto}
@media(min-width:1025px) and (max-width:1800px){.elementor-element-pdhero,.elementor-element-pdintro,.elementor-element-pdshow,.elementor-element-pdcontent,.elementor-element-pdcase,.elementor-element-pdrel,.elementor-element-pdrelc{padding-left:clamp(24px,3.5vw,140px)!important;padding-right:clamp(24px,3.5vw,140px)!important}}
/* 869 / 423 aus Figma u2014 Verhu00e4ltnis statt fester Pixel */
@media(min-width:1025px){.elementor-element-pdinl,.elementor-element-pdctl{width:auto!important;flex:869 1 0!important;min-width:0!important}.elementor-element-pdinr,.elementor-element-pdctr{width:auto!important;flex:423 0 0!important;min-width:0!important}}
.pv-kunde{font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:600;font-size:28px;letter-spacing:1.08px;line-height:32.4px;color:#152636;margin:0}
.pv-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:17px 15px}
.pv-tag{background:rgba(196,198,205,.3);color:#152636;font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:400;font-size:13.5px;line-height:1.5;padding:10px 22px;border-radius:72px}
/* Akkordeon */
.pv-acc{width:100%}
.pv-acc-item{border-bottom:.4px solid #9D9D9D}
.pv-acc-item:first-child{border-top:.4px solid #9D9D9D}
.pv-acc-head{width:100%;display:flex;align-items:center;gap:24px;background:none;border:0;padding:32px 0;cursor:pointer;text-align:left;font-family:"ITC Avant Garde Gothic",sans-serif}
.pv-acc-num{font-size:22px;font-weight:500;color:#040D24;min-width:34px}
.pv-acc-label{flex:1;font-size:22px;font-weight:500;line-height:1.4;text-transform:uppercase;color:#040D24}
.pv-acc-icon{position:relative;width:24px;height:24px;flex:0 0 24px}
.pv-acc-icon::before,.pv-acc-icon::after{content:"";position:absolute;background:#040D24;transition:opacity .2s ease,transform .2s ease}
.pv-acc-icon::before{left:0;top:11px;width:24px;height:1.5px}
.pv-acc-icon::after{left:11px;top:0;width:1.5px;height:24px}
.pv-acc-item.is-open .pv-acc-icon::after{opacity:0;transform:rotate(90deg)}
.pv-acc-panel{padding:0 0 32px 48px}
.pv-acc-body{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:18px;font-weight:400;line-height:1.4;color:#666;max-width:1075px}
.pv-acc-body p{margin:0 0 12px}
.pv-acc-body ul{margin:8px 0 0;padding-left:27px}
.pv-acc-body li{margin:0 0 2px}
.pv-acc-head:focus-visible{outline:2px solid #ADAF60;outline-offset:2px}
@media(max-width:767px){.pv-acc-head{gap:14px;padding:22px 0}.pv-acc-num,.pv-acc-label{font-size:16px}.pv-acc-panel{padding:0 0 22px 0}.pv-acc-body{font-size:15px}.pv-kunde{font-size:22px;line-height:1.3}}

/* 10. Content-Sektion u2014 Tabs + Medien-Karussell */
.pv-media{width:100%;display:flex;flex-direction:column;align-items:center;gap:70px}
.pv-media-tabs{display:flex}
.pv-media-tab{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:22px;font-weight:500;line-height:24px;padding:10px 25px;height:48px;background:#fff;color:#040D24;border:1px solid #040D24;cursor:pointer}
.pv-media-tab.is-active{background:#040D24;color:#fff;box-shadow:5px 5px 10px rgba(0,0,0,.2)}
.pv-media-track{display:flex;gap:24px;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pv-media-track::-webkit-scrollbar{display:none}
.pv-media-slide{position:relative;flex:0 0 386px;max-width:386px;scroll-snap-align:start}
.pv-media-img{width:100%;height:688px;object-fit:cover;display:block}
.pv-media-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pv-media-play span{width:102px;height:102px;border-radius:50%;background:rgba(255,255,255,.85);position:relative;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.pv-media-play span::after{content:"";position:absolute;left:42px;top:33px;border-left:30px solid #040D24;border-top:18px solid transparent;border-bottom:18px solid transparent}
.pv-media-nav{display:flex;gap:18px}
.pv-media-prev,.pv-media-next{width:80px;height:80px;border:0;background:none;cursor:pointer;background-repeat:no-repeat;background-size:contain;background-position:center}
.pv-media-prev{background-image:url('https://thepoolvision.com/wp-content/uploads/2026/07/pool-arrow-prev.svg')}
.pv-media-next{background-image:url('https://thepoolvision.com/wp-content/uploads/2026/07/pool-arrow-next.svg')}
@media(max-width:767px){.pv-media{gap:32px}.pv-media-slide{flex:0 0 78%;max-width:78%}.pv-media-img{height:auto;aspect-ratio:386/688}.pv-media-tab{font-size:15px;padding:8px 14px;height:auto}.pv-media-prev,.pv-media-next{width:46px;height:46px}.pv-media-play span{width:64px;height:64px}.pv-media-play span::after{left:26px;top:20px;border-left:20px solid #040D24;border-top:12px solid transparent;border-bottom:12px solid transparent}}


/* 11. Projektkarten (loop item 227) u2014 Figma 2085:730 */
@media(min-width:1025px){.elementor-element-pdrela{flex:0 0 80px!important}.elementor-element-pdrelw{flex:1 1 0!important;min-width:0!important}}
.elementor-element-pkcard{height:100%}
.pv-cat{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:12px;font-weight:600;line-height:1.5;color:#040D24;margin:0}
.pv-result{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:18px;font-weight:500;line-height:2;color:#040D24;margin:0;padding-top:10px;display:flex;align-items:baseline;gap:8px}
.pv-result::before{content:"";display:block;width:118px;height:1px;background:#040D24;position:absolute;transform:translateY(-14px)}
.pv-result-arrow{color:#040D24;font-weight:600}
.elementor-element-pkres{position:relative;padding-top:14px}
.elementor-element-pkdesc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pv-no-case .elementor-element-pjbtn{display:none!important}
.pv-no-website .elementor-element-pdbsite{display:none!important}
@media(max-width:767px){.pv-result{font-size:15px}.pv-cat{font-size:11px}}


/* 12. Leere Sektionen ausblenden u2014 eine Vorlage fu00fcr alle Projekte */
.pv-no-hero .elementor-element-pdhero,
.pv-no-show .elementor-element-pdshow,
.pv-no-fb1 .elementor-element-pdfb1,
.pv-no-fb2 .elementor-element-pdfb2,
.pv-no-content .elementor-element-pdcontent,
.pv-no-case .elementor-element-pdcase,
.pv-no-website .elementor-element-pdbsite,
.pv-no-sc1 .elementor-element-pdsc1,
.pv-no-sc2 .elementor-element-pdsc2,
.pv-no-sc3 .elementor-element-pdsc3{display:none!important}




/* 13. Hero- und Showcase-Komposition u2014 Geometrie aus Figma 2086:912 / 2085:654 */
/* Hero-Bu00fchne 1098u00d7738: Desktop 1002u00d7553 links mittig, Phone 350u00d7738 rechts daru00fcber */
.elementor-element-pdherow{position:relative!important;width:100%!important;max-width:1098px;margin-inline:auto!important;aspect-ratio:1098/738;display:block!important;padding:0!important;gap:0!important}
.elementor-element-pdherow .elementor-element-pdheroi{position:absolute;left:0;top:50%;transform:translateY(-50%);width:91.26%}
.elementor-element-pdherow .elementor-element-pdherop{position:absolute;left:68.12%;top:0;width:31.88%}
.elementor-element-pdherow img{width:100%;height:auto;display:block;border-radius:50px}
.elementor-element-pdherow .elementor-element-pdherop img{border-radius:40px}
/* Showcase-Bu00fchne 1362u00d7930: 900u00d7562 oben links, 900u00d7487 unten rechts u00fcberlappend */
.elementor-element-pdshoww{position:relative!important;width:100%!important;aspect-ratio:1362/930;display:block!important;padding:0!important;gap:0!important}
.elementor-element-pdshoww .elementor-element-pdsc1{position:absolute;left:0;top:0;width:66.08%}
.elementor-element-pdshoww .elementor-element-pdsc2,
.elementor-element-pdshoww .elementor-element-pdsc3{position:absolute;right:0;top:47.67%;width:66.08%}
.elementor-element-pdshoww img{width:100%;height:auto;display:block;border-radius:50px}
@media(max-width:1024px){.elementor-element-pdherow img,.elementor-element-pdshoww img{border-radius:24px}}
/* Unter 768px verliert die u00dcberlappung ihren Sinn u2014 sauber stapeln. */
@media(max-width:767px){
 .elementor-element-pdherow,.elementor-element-pdshoww{position:static!important;aspect-ratio:auto!important;display:flex!important;flex-direction:column;gap:16px!important;max-width:none}
 .elementor-element-pdherow .elementor-element-pdheroi,.elementor-element-pdherow .elementor-element-pdherop,
 .elementor-element-pdshoww .elementor-element-pdsc1,.elementor-element-pdshoww .elementor-element-pdsc2,.elementor-element-pdshoww .elementor-element-pdsc3{position:static;transform:none;width:100%}
 .elementor-element-pdherow .elementor-element-pdherop{max-width:62%;margin-inline:auto}
 .elementor-element-pdherow img,.elementor-element-pdshoww img{border-radius:20px}
}


/* 14. Korrekturen: Akkordeon, Karten-Slider, CTA-Band, Seitenru00e4nder */

/* u2014 Akkordeon: kein Theme-Button-Hintergrund, Figma-Hairlines u2014 */
.pv-acc-head{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;-webkit-appearance:none;appearance:none;color:#040D24!important;width:100%;display:flex;align-items:center;gap:24px;padding:32px 0;cursor:pointer;text-align:left;font-family:"ITC Avant Garde Gothic",sans-serif}
.pv-acc-head:hover,.pv-acc-head:focus{background:transparent!important;color:#040D24!important}
.pv-acc-item.is-empty .pv-acc-head{cursor:default;opacity:.85}
.pv-acc-item.is-empty .pv-acc-icon::before,.pv-acc-item.is-empty .pv-acc-icon::after{opacity:.45}
.pv-acc-panel{padding:0 0 32px 58px}
.pv-acc-body p{margin:0 0 14px}
.pv-acc-body p:last-child{margin-bottom:0}

/* u2014 Ergebnis-Slider: Loop Grid als Swiper-Track, Karten gleich hoch u2014 */
.elementor-element-pdrelg .elementor-loop-container,
.elementor-element-pdrelw .elementor-loop-container{display:flex!important;grid-template-columns:none!important;gap:0!important;width:100%}
.elementor-element-pdrelg .swiper-slide,
.elementor-element-pdrelw .swiper-slide{height:auto!important;display:flex!important}
.elementor-element-pdrelg .swiper-slide > *,
.elementor-element-pdrelw .swiper-slide > *{width:100%!important;max-width:100%!important}
.elementor-element-pkcard{overflow:hidden!important;height:100%;display:flex;flex-direction:column}
.elementor-element-pkcard .elementor-element-pkimg img{border-radius:0!important}
.elementor-element-pkbody{margin-top:auto}
.pv-carousel,.elementor-element-pdrelw .swiper{padding-block:6px}

/* u2014 CTA-Band im Footer: Gru00f6u00dfe an den Viewport binden (war 48px fix) u2014 */
.elementor-element-plfcth01 .elementor-heading-title{font-size:clamp(22px,2.3vw,44px)!important;line-height:1.18!important}
.elementor-element-plfbtn01 .elementor-button,.elementor-element-plfbtn02 .elementor-button,.elementor-element-plfgit01 .elementor-button{font-size:clamp(14px,1.1vw,20px)!important;line-height:1.3!important;padding:11px 20px!important;white-space:nowrap}
.elementor-element-plfbtns1{max-width:340px}
@media(max-width:1440px){.elementor-element-plfcta01{padding-top:48px!important;padding-bottom:48px!important}}

/* u2014 Einheitliche Seitenru00e4nder auf allen Projekt-/u00dcbersichtsseiten u2014 */
@media(max-width:1024px){
 .elementor-element-pdhero,.elementor-element-pdintro,.elementor-element-pdshow,.elementor-element-pdcontent,.elementor-element-pdcase,.elementor-element-pdrel,.elementor-element-pdrelc,.elementor-element-pjhero,.elementor-element-pjlist{padding-left:clamp(16px,4vw,40px)!important;padding-right:clamp(16px,4vw,40px)!important}
}

/* u2014 Typografie fluide halten, damit nichts auf 13" u00fcberlu00e4uft u2014 */
@media(max-width:1600px){
 .elementor-element-pdinh h1{font-size:clamp(22px,2.4vw,38px)!important}
 .elementor-element-pdcth h2{font-size:clamp(22px,2.4vw,38px)!important}
 .elementor-element-pdint,.elementor-element-pdctt{font-size:clamp(16px,1.35vw,22px)!important}
 .pv-kunde{font-size:clamp(20px,1.7vw,28px)!important;line-height:1.2!important}
 .pv-acc-num,.pv-acc-label{font-size:clamp(15px,1.35vw,22px)!important}
 .pv-acc-body{font-size:clamp(14px,1.15vw,18px)!important}
 .elementor-element-pdrelh h2{font-size:clamp(26px,2.8vw,46px)!important}
}


/* 15. Medien-Tabs u2014 zwei Su00e4tze, einer sichtbar */
.pv-media-viewport{width:100%;position:relative}
.pv-media-track{display:none}
.pv-media-track.is-active{display:flex}
.pv-media-tab.is-empty{opacity:.45;cursor:not-allowed}
.pv-media-tab:not(.is-active):not(.is-empty):hover{background:#f2f2f4}


/* 16. Mobile & Tablet u2014 Projekt-Detailseiten */
/* Ein <style> darf nie als Slide sichtbar werden. */
.swiper-slide style,.elementor-loop-container style,.pv-carousel style{display:none!important}

@media(max-width:1024px){
 .elementor-element-pdintro > .e-con-inner > .elementor-element-pdinrow,
 .elementor-element-pdcontent > .e-con-inner > .elementor-element-pdctrow{flex-direction:column!important;gap:32px!important}
 .elementor-element-pdinl,.elementor-element-pdinr,.elementor-element-pdctl,.elementor-element-pdctr{width:100%!important;flex:0 0 auto!important;max-width:none!important}
 .elementor-element-pdbtns{justify-content:flex-start!important}
 .elementor-element-pdrelc{flex-direction:column-reverse!important;align-items:center!important}
 .elementor-element-pdrela{flex-direction:row!important;width:auto!important;flex:0 0 auto!important;justify-content:center!important;gap:16px!important}
 .elementor-element-pdrelw{width:100%!important}
}

@media(max-width:767px){
 /* Textblu00f6cke: Blocksatz erzeugt auf schmalen Displays Lu00f6cher */
 .elementor-element-pdint,.elementor-element-pdctt{text-align:left!important;font-size:16px!important;letter-spacing:.2px!important;line-height:1.6!important}
 .elementor-element-pdinh h1,.elementor-element-pdcth h2{font-size:24px!important;letter-spacing:.4px!important;line-height:1.25!important}
 .elementor-element-pdrelh h2{font-size:24px!important}
 .pv-kunde{font-size:20px!important}
 .pv-tag{font-size:12px!important;padding:8px 16px!important}
 .pv-tags{gap:10px 8px!important}
 /* Akkordeon */
 .pv-acc-head{gap:12px!important;padding:20px 0!important;align-items:flex-start!important}
 .pv-acc-num{font-size:14px!important;min-width:26px!important}
 .pv-acc-label{font-size:14px!important;line-height:1.35!important;letter-spacing:.3px!important}
 .pv-acc-icon{width:18px!important;height:18px!important;flex:0 0 18px!important;margin-top:2px}
 .pv-acc-icon::before{top:8px;width:18px}
 .pv-acc-icon::after{left:8px;height:18px}
 .pv-acc-panel{padding:0 0 20px 38px!important}
 .pv-acc-body{font-size:14px!important;line-height:1.6!important}
 .pv-acc-body ul{padding-left:18px!important}
 /* Buttons nebeneinander u2192 volle Breite */
 .elementor-element-pdbtns{flex-direction:column!important;align-items:stretch!important;gap:12px!important}
 .elementor-element-pdbmore .elementor-button,.elementor-element-pdbsite .elementor-button{width:100%;font-size:15px!important;padding:12px 18px!important}
 /* Medien-Karussell */
 .pv-media{gap:24px!important}
 .pv-media-tabs{width:100%}
 .pv-media-tab{flex:1 1 0;font-size:13px!important;padding:10px 8px!important;height:auto!important;line-height:1.25!important}
 .pv-media-slide{flex:0 0 74%!important;max-width:74%!important}
 /* Ergebnis-Karten */
 .elementor-element-pkcard{border-radius:16px!important}
 .elementor-element-pkimg img{height:200px!important;border-radius:16px 16px 0 0!important}
 .elementor-element-pkbody{padding:16px!important}
 .elementor-element-pktitle h3{font-size:20px!important}
 .elementor-element-pkdesc{font-size:14px!important}
 .pv-result{font-size:14px!important}
 .pv-result::before{width:90px}
 /* CTA-Band */
 .elementor-element-plfcth01 .elementor-heading-title{font-size:22px!important;line-height:1.25!important}
 .elementor-element-plfbtns1{max-width:none!important;width:100%}
 .elementor-element-plfbtn01 .elementor-button,.elementor-element-plfbtn02 .elementor-button{width:100%;font-size:15px!important}
}

@media(max-width:480px){
 .pv-media-slide{flex:0 0 82%!important;max-width:82%!important}
 .elementor-element-pdinh h1,.elementor-element-pdcth h2{font-size:22px!important}
}


/* 17. Ergebnis-Karten: Bild sauber in der Karte halten, Luft dazwischen */
.elementor-element-pdrelg .swiper-slide,
.elementor-element-pdrelw .swiper-slide{box-sizing:border-box}
.elementor-element-pdrelg .swiper-slide > .elementor-element,
.elementor-element-pdrelw .swiper-slide > .elementor-element{width:100%!important;max-width:100%!important}
/* Die Karte selbst begrenzt das Bild u2014 sonst lu00e4uft es in die Lu00fccke. */
.elementor-element-pkcard{overflow:hidden!important;border-radius:20px!important;height:100%;display:flex;flex-direction:column;box-sizing:border-box;max-width:100%}
.elementor-element-pkimg{width:100%;max-width:100%;overflow:hidden}
.elementor-element-pkimg .elementor-widget-container{width:100%;line-height:0}
.elementor-element-pkimg img{width:100%!important;max-width:100%!important;height:280px;object-fit:cover;display:block;border-radius:0!important}
@media(min-width:1025px){
 .elementor-element-pkimg img{height:260px}
 .elementor-element-pkbody{padding:20px 28px 24px!important}
 .elementor-element-pktitle h3{font-size:24px!important}
 .elementor-element-pkdesc{font-size:16px!important}
 .pv-result{font-size:15px!important}
}
@media(min-width:1600px){
 .elementor-element-pkimg img{height:290px}
 .elementor-element-pktitle h3{font-size:26px!important}
}


/* 18. Karten-Reihen (Startseite / Leistungen / u00dcber uns) u2014 Figma 2001:117 */
/* Swiper rechnet die Slide-Breite selbst aus; Elementors feste 437px du00fcrfen
   dabei nicht dazwischenfunken, sonst lu00e4uft der Text aus der Karte. */
.pv-carousel.swiper-initialized{overflow:hidden!important}
.pv-carousel.swiper-initialized > .swiper-wrapper > .swiper-slide{box-sizing:border-box!important;flex:0 0 auto!important;min-width:0!important;max-width:none!important;height:auto!important}
.pv-carousel.swiper-initialized > .swiper-wrapper > .swiper-slide > *{width:100%!important;max-width:100%!important;min-width:0!important}
/* Kartentext darf nie u00fcber die Kartenkante laufen. */
.elementor-element-plsvcc01,.elementor-element-plsvcc02,.elementor-element-plsvcc03,.elementor-element-plsvcc04,.elementor-element-plsvcc05,
.elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,.elementor-element-svcd4,.elementor-element-svcd5,
.elementor-element-svpc1,.elementor-element-svpc2,.elementor-element-svpc3,
.elementor-element-absc1,.elementor-element-absc2,.elementor-element-absc3,.elementor-element-absc4,.elementor-element-absc5,
.elementor-element-abpc1,.elementor-element-abpc2,.elementor-element-abpc3{
  box-sizing:border-box!important;overflow-wrap:anywhere;word-break:normal;
}
.pv-carousel .elementor-widget-heading,.pv-carousel .elementor-widget-text-editor{min-width:0;max-width:100%}
/* Karten skalieren mit dem Viewport statt bei 437px zu klemmen. */
@media(min-width:1025px) and (max-width:1700px){
 .elementor-element-plsvcc01 .elementor-widget-heading .elementor-heading-title,
 .elementor-element-plsvcc02 .elementor-widget-heading .elementor-heading-title,
 .elementor-element-plsvcc03 .elementor-widget-heading .elementor-heading-title,
 .elementor-element-plsvcc04 .elementor-widget-heading .elementor-heading-title,
 .elementor-element-plsvcc05 .elementor-widget-heading .elementor-heading-title{font-size:clamp(20px,1.75vw,28px)!important}
 .elementor-element-plsvcc01 .elementor-widget-text-editor,
 .elementor-element-plsvcc02 .elementor-widget-text-editor,
 .elementor-element-plsvcc03 .elementor-widget-text-editor,
 .elementor-element-plsvcc04 .elementor-widget-text-editor,
 .elementor-element-plsvcc05 .elementor-widget-text-editor{font-size:clamp(15px,1.35vw,22px)!important}
}


/* 19. Startseite u2014 Hero + Karten-Reihe nach Figma 2001:76 / 2001:109 */
/* Figma-Innenspalte ist 1362px, die Reihe darunter 1640px. */
.elementor-element-plhero01 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-plsvc001 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
.elementor-element-plcont01{width:100%;max-width:1362px}
.elementor-element-plcopy01{max-width:660px}
/* Hero skaliert zwischen 1024 und 1920 mit, statt bei 1205px zu klemmen. */
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-plhero01{min-height:clamp(720px,62.8vw,1205px)!important;padding-top:clamp(190px,16.8vw,322px)!important;padding-bottom:clamp(90px,16vw,308px)!important;padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-pleyeb01 .elementor-heading-title{font-size:clamp(26px,2.5vw,48px)!important;line-height:1.3!important}
 .elementor-element-plh1_001 .elementor-heading-title{font-size:clamp(38px,3.75vw,72px)!important;line-height:1.05!important}
 .elementor-element-pllead01{font-size:clamp(15px,1.05vw,18px)!important}
 .elementor-element-plsvc001{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
}
@media(max-width:1024px){
 .elementor-element-plcopy01{max-width:none}
 .elementor-element-plcont01{flex-direction:column!important;align-items:flex-start!important;gap:32px!important}
}
@media(max-width:767px){
 .elementor-element-plhero01{min-height:0!important}
 .elementor-element-plplay01{display:none}
 .elementor-element-plcta001 .elementor-button{width:100%}
}


/* 20. Startseite u2014 Abschnitte 3u20139 nach Figma 2001:139 u2026 2001:258 */
/* Innenspalten: Figma nutzt 1362px (dunkle Bu00e4nder) bzw. 1640px (helle). */
.elementor-element-plki0001 > .e-con-inner,
.elementor-element-plantr01 > .e-con-inner,
.elementor-element-plteam01 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-plprj001 > .e-con-inner,
.elementor-element-plvis001 > .e-con-inner,
.elementor-element-plcase01 > .e-con-inner,
.elementor-element-pltrst01 > .e-con-inner,
.elementor-element-plkomp01 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
/* Spaltenbreiten aus Figma u2014 als Verhu00e4ltnis, nie als feste Pixel. */
@media(min-width:1025px){
 .elementor-element-plkil001{flex:1004 1 0;min-width:0}
 .elementor-element-plkir001{flex:358 0 0;min-width:0}
 .elementor-element-plprjr01{flex:1067 1 0;min-width:0}
 .elementor-element-plvist01,.elementor-element-plkompt1{flex:0 0 590px;max-width:590px}
 .elementor-element-plcasel1{flex:789 1 0;min-width:0}
 .elementor-element-plcaser1{flex:712 1 0;min-width:0}
 .elementor-element-plteamt1{flex:0 0 615px;max-width:615px;margin-left:auto}
 .elementor-element-plprjh01{max-width:590px;margin-left:auto}
 .elementor-element-pltrsthd .elementor-heading-title{max-width:686px;margin-inline:auto}
 .elementor-element-pltrstsb{max-width:808px;margin-inline:auto}
 .elementor-element-plantrp1{max-width:897px;margin-inline:auto}
 .elementor-element-plkib001{max-width:897px}
}
/* Rechtsbu00fcndige Blu00f6cke laut Figma. */
.elementor-element-plprjh01,.elementor-element-plprjt01,.elementor-element-plprjs01,
.elementor-element-plvist01,.elementor-element-plvish01,.elementor-element-plvisp01,
.elementor-element-plkompt1,.elementor-element-plkomph1,.elementor-element-plkomps1,.elementor-element-plkompp1,
.elementor-element-plkir001,.elementor-element-plkis001,.elementor-element-plkis002,.elementor-element-plkis003{text-align:right}
.elementor-element-plantrh1,.elementor-element-plantrp1,.elementor-element-pltrsthd,.elementor-element-pltrstsb{text-align:center}
/* Fluide Typo zwischen 1024 und 1920 u2014 sonst klemmt alles auf 13". */
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-plki0001,.elementor-element-plantr01,.elementor-element-plteam01{padding-left:clamp(24px,14.1vw,271px)!important;padding-right:clamp(24px,14.1vw,271px)!important}
 .elementor-element-plprj001,.elementor-element-plvis001,.elementor-element-pltrst01,.elementor-element-plkomp01{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-plcase01{padding-left:clamp(24px,7.24vw,139px)!important;padding-right:clamp(24px,7.24vw,139px)!important}
 .elementor-element-plkih001 .elementor-heading-title,.elementor-element-plprjt01 .elementor-heading-title,.elementor-element-plvish01 .elementor-heading-title,.elementor-element-pltrsthd .elementor-heading-title,.elementor-element-plteamh1 .elementor-heading-title,.elementor-element-plkomph1 .elementor-heading-title{font-size:clamp(28px,2.4vw,46px)!important;line-height:1.12!important}
 .elementor-element-plantrh1 .elementor-heading-title{font-size:clamp(32px,3.85vw,74px)!important;line-height:1.05!important}
 .elementor-element-plkis001 .elementor-heading-title,.elementor-element-plkis002 .elementor-heading-title{font-size:clamp(36px,3.44vw,66px)!important}
 .elementor-element-plkib001,.elementor-element-plantrp1{font-size:clamp(16px,1.35vw,26px)!important}
 .elementor-element-plcaseh1 .elementor-heading-title{font-size:clamp(24px,2.19vw,42px)!important;line-height:1.4!important}
 .elementor-element-plprjs01,.elementor-element-plvisp01,.elementor-element-pltrstsb,.elementor-element-plteamp1,.elementor-element-plkompp1,.elementor-element-plkomps1{font-size:clamp(15px,1.15vw,22px)!important;line-height:1.45!important}
}
/* Mobil: alles linksbu00fcndig, Bilder du00fcrfen nicht u00fcberlaufen. */
@media(max-width:767px){
 .elementor-element-plprjh01,.elementor-element-plprjt01,.elementor-element-plprjs01,
 .elementor-element-plvist01,.elementor-element-plvish01,.elementor-element-plvisp01,
 .elementor-element-plkompt1,.elementor-element-plkomph1,.elementor-element-plkomps1,.elementor-element-plkompp1,
 .elementor-element-plkir001,.elementor-element-plkis001,.elementor-element-plkis002,.elementor-element-plkis003{text-align:left!important}
 .elementor-element-plvism01 img,.elementor-element-plkompm1 img{max-width:220px;height:auto}
 .elementor-element-plcaser1 img,.elementor-element-pltrstwl img{width:100%;height:auto}
 .elementor-element-plkic001 .elementor-button,.elementor-element-plprjb01 .elementor-button,.elementor-element-plcaseb1 .elementor-button,.elementor-element-plantrb1 .elementor-button,.elementor-element-pltrstbn .elementor-button,.elementor-element-plteamb1 .elementor-button,.elementor-element-plkompb1 .elementor-button{width:100%}
}


/* 21. Leistungen u2014 Figma 2001:300 */
.elementor-element-svhero01 > .e-con-inner,.elementor-element-svki0001 > .e-con-inner,.elementor-element-svantr01 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-svcards1 > .e-con-inner,.elementor-element-svproj01 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
.elementor-element-svherec1{max-width:660px}
@media(min-width:1025px){
 .elementor-element-svkil001{flex:1004 1 0;min-width:0}
 .elementor-element-svkib002{flex:271 0 0}
 .elementor-element-svkib002 .elementor-button{width:271px;height:54px}
 .elementor-element-svkib001,.elementor-element-svkie001{max-width:897px}
 .elementor-element-svprojt1 .elementor-heading-title{max-width:1112px}
 .elementor-element-svantrp1{max-width:897px}
 .elementor-element-svcardh1{text-align:center}
}
.elementor-element-svantrh1,.elementor-element-svantrp1,.elementor-element-svcardh1{text-align:center}
/* Aufzu00e4hlungen in den Karten u2014 Figma: list-disc, Einzug 27px, lh 2 */
.elementor-element-svcd1l ul,.elementor-element-svcd2l ul,.elementor-element-svcd3l ul,.elementor-element-svcd4l ul,.elementor-element-svcd5l ul{list-style:disc;margin:0;padding-left:27px}
.elementor-element-svcd1l li,.elementor-element-svcd2l li,.elementor-element-svcd3l li{margin:0}
.elementor-element-svpc1r ul,.elementor-element-svpc2r ul,.elementor-element-svpc3r ul{list-style:disc;margin:0;padding-left:27px}
/* Projektkarten: Bild 437u00d7313, oben abgerundet, Karte 20px */
.elementor-element-svpc1,.elementor-element-svpc2,.elementor-element-svpc3{overflow:hidden;border-radius:20px}
.elementor-element-svpc1i img,.elementor-element-svpc2i img,.elementor-element-svpc3i img{width:100%;height:313px;object-fit:cover;display:block;border-radius:0}
/* Fluide Typo 1024u20131920 */
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-svhero01{min-height:clamp(660px,52.9vw,1015px)!important;padding-top:clamp(190px,16.8vw,322px)!important;padding-bottom:clamp(90px,16vw,308px)!important;padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-svki0001,.elementor-element-svantr01{padding-left:clamp(24px,14.1vw,271px)!important;padding-right:clamp(24px,14.1vw,271px)!important}
 .elementor-element-svcards1,.elementor-element-svproj01{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-svheree1 .elementor-heading-title{font-size:clamp(26px,2.5vw,48px)!important;line-height:1.3!important}
 .elementor-element-svhereh1 .elementor-heading-title{font-size:clamp(38px,3.75vw,72px)!important;line-height:1.08!important}
 .elementor-element-svcardh1 .elementor-heading-title,.elementor-element-svkih001 .elementor-heading-title,.elementor-element-svprojt1 .elementor-heading-title{font-size:clamp(28px,2.4vw,46px)!important;line-height:1.12!important}
 .elementor-element-svantrh1 .elementor-heading-title{font-size:clamp(32px,3.85vw,74px)!important;line-height:1.05!important}
 .elementor-element-svkib001,.elementor-element-svantrp1{font-size:clamp(16px,1.35vw,26px)!important}
 .elementor-element-svkie001 .elementor-heading-title{font-size:clamp(18px,1.46vw,28px)!important}
}
@media(max-width:1024px){
 .elementor-element-svkib002{width:100%}
 .elementor-element-svherbt1{flex-wrap:wrap}
}
@media(max-width:767px){
 .elementor-element-svhero01{min-height:0!important}
 .elementor-element-svherpl1{display:none}
 .elementor-element-svherb01 .elementor-button,.elementor-element-svherb02 .elementor-button,.elementor-element-svkib002 .elementor-button,.elementor-element-svprojb1 .elementor-button,.elementor-element-svantrb1 .elementor-button{width:100%}
 .elementor-element-svpc1i img,.elementor-element-svpc2i img,.elementor-element-svpc3i img{height:220px}
}


/* 22. Wer wir sind u2014 Figma 2001:669 */
.elementor-element-abhero01 > .e-con-inner,.elementor-element-abteam01 > .e-con-inner,.elementor-element-abantr01 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-abmue01 > .e-con-inner,.elementor-element-abaus01 > .e-con-inner,.elementor-element-abkurz01 > .e-con-inner,.elementor-element-absvc001 > .e-con-inner,.elementor-element-abproj01 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
@media(min-width:1025px){
 .elementor-element-abheroc1{max-width:806px}
 .elementor-element-abherop1{max-width:778px}
 .elementor-element-abteamt1{flex:0 0 615px;max-width:615px;margin-left:auto}
 .elementor-element-abmue01i{flex:734 1 0;min-width:0}
 .elementor-element-abmue01t{flex:588 0 0;max-width:588px}
 .elementor-element-abaus01t{flex:681 1 0;min-width:0}
 .elementor-element-abaus01i{flex:640 1 0;min-width:0}
 .elementor-element-abkurzt1{flex:681 1 0;min-width:0}
 .elementor-element-abkurzi1{flex:0 0 400px}
 .elementor-element-absvch01{max-width:590px}
 .elementor-element-abprojt1 .elementor-heading-title{max-width:1112px}
 .elementor-element-abantrp1{max-width:897px}
}
.elementor-element-absvcht1,.elementor-element-absvchs1,.elementor-element-abantrh1,.elementor-element-abantrp1{text-align:center}
/* Karten-Aufzu00e4hlungen: Figma list-disc, Einzug 33px, lh 2 */
.elementor-element-absc1l ul,.elementor-element-absc2l ul,.elementor-element-absc3l ul,.elementor-element-absc4l ul,.elementor-element-absc5l ul{list-style:disc;margin:0;padding-left:33px}
.elementor-element-abpc1r ul,.elementor-element-abpc2r ul,.elementor-element-abpc3r ul{list-style:disc;margin:0;padding-left:27px}
.elementor-element-abpc1,.elementor-element-abpc2,.elementor-element-abpc3{overflow:hidden;border-radius:20px}
.elementor-element-abpc1i img,.elementor-element-abpc2i img,.elementor-element-abpc3i img{width:100%;height:313px;object-fit:cover;display:block;border-radius:0}
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-abhero01{min-height:clamp(430px,30.3vw,582px)!important;padding-top:clamp(180px,15.6vw,300px)!important;padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-abteam01,.elementor-element-abantr01{padding-left:clamp(24px,14.1vw,271px)!important;padding-right:clamp(24px,14.1vw,271px)!important}
 .elementor-element-abmue01,.elementor-element-abaus01,.elementor-element-abkurz01{padding-left:clamp(24px,7.24vw,139px)!important;padding-right:clamp(24px,7.24vw,139px)!important}
 .elementor-element-absvc001,.elementor-element-abproj01{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-abheroh1 .elementor-heading-title{font-size:clamp(34px,3.75vw,72px)!important;line-height:1.08!important}
 .elementor-element-abteamh1 .elementor-heading-title,.elementor-element-absvcht1 .elementor-heading-title,.elementor-element-abprojt1 .elementor-heading-title{font-size:clamp(28px,2.4vw,46px)!important;line-height:1.12!important}
 .elementor-element-abmue01h .elementor-heading-title,.elementor-element-abaus01h .elementor-heading-title,.elementor-element-abkurzh1 .elementor-heading-title{font-size:clamp(24px,2.19vw,42px)!important;line-height:1.35!important}
 .elementor-element-abantrh1 .elementor-heading-title{font-size:clamp(32px,3.85vw,74px)!important;line-height:1.05!important}
 .elementor-element-abantrp1{font-size:clamp(16px,1.35vw,26px)!important}
 .elementor-element-absc1l,.elementor-element-absc2l,.elementor-element-absc3l,.elementor-element-absc4l,.elementor-element-absc5l{font-size:clamp(15px,1.15vw,22px)!important}
 .elementor-element-abkurz01{gap:clamp(40px,14.6vw,280px)!important}
}
@media(max-width:767px){
 .elementor-element-abhero01{min-height:0!important}
 .elementor-element-abkurz01{gap:28px!important}
 .elementor-element-abkurzm1 img{max-width:220px;height:auto}
 .elementor-element-abteamb1 .elementor-button,.elementor-element-abprojb1 .elementor-button,.elementor-element-abantrb1 .elementor-button{width:100%}
 .elementor-element-abpc1i img,.elementor-element-abpc2i img,.elementor-element-abpc3i img{height:220px}
}


/* 23. Projekte u2014 Desktop 2001:462 / Mobil 2257:992 (390px) */
.elementor-element-pjhero > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-pjlist > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
@media(min-width:1025px){
 .elementor-element-pjheroh .elementor-heading-title{max-width:620px}
 .elementor-element-pjherop{max-width:802px}
 .elementor-element-pjbtn .elementor-button{width:212px}
}
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-pjhero{min-height:clamp(430px,31.25vw,600px)!important;padding-top:clamp(180px,15.6vw,300px)!important;padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-pjlist{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-pjheroh h1{font-size:clamp(38px,3.75vw,72px)!important;line-height:1.05!important}
 .elementor-element-pjttl h2{font-size:clamp(28px,2.4vw,46px)!important;line-height:1.1!important}
 .elementor-element-pjdsc{font-size:clamp(16px,1.15vw,22px)!important;line-height:1.4!important}
}
/* u2014 Mobil: Figma 390px-Frame u2014
   Hero 461px u00b7 Bild 358u00d7257 mit 16px Rand u00b7 Text 354px mit 18px Rand
   Reihe: 40px oben, 40px Abstand Bildu2192Text, 40px unten u00b7 Button 212u00d748 */
@media(max-width:767px){
 .elementor-element-pjhero{min-height:461px!important;padding:130px 16px 40px!important;justify-content:flex-end!important}
 .elementor-element-pjheroh h1{font-size:36px!important;line-height:1.1!important}
 .elementor-element-pjherop{font-size:15px!important;line-height:1.5!important}
 .elementor-element-pjlist{padding:0!important}
 .elementor-element-pjrow{flex-direction:column!important;gap:40px!important;padding:40px 0!important;align-items:stretch!important}
 .elementor-element-pjimgc{padding-inline:16px!important}
 .elementor-element-pjimg img{width:100%!important;height:auto!important;aspect-ratio:358/257!important;object-fit:cover;border-radius:0}
 .elementor-element-pjtxtc{padding-inline:18px!important;gap:20px!important}
 .elementor-element-pjttl h2{font-size:32px!important;line-height:43px!important}
 .elementor-element-pjdsc{font-size:18px!important;line-height:30px!important;text-align:left!important}
 .elementor-element-pjbtn .elementor-button{width:212px;font-size:20px!important;padding:12px 18px!important}
}
@media(max-width:390px){
 .elementor-element-pjbtn .elementor-button{width:100%}
 .elementor-element-pjttl h2{font-size:28px!important;line-height:36px!important}
 .elementor-element-pjdsc{font-size:16px!important;line-height:26px!important}
}


/* 24. KI & Automatisierung u2014 Figma 2001:905 */
.elementor-element-kihero01 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-kiwarum1 > .e-con-inner,.elementor-element-kiagen01 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
.elementor-element-kiproz01 > .e-con-inner,.elementor-element-kibran01 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
@media(min-width:1025px){
 .elementor-element-kiheroe1 .elementor-heading-title{max-width:1176px}
 .elementor-element-kiheroh1 .elementor-heading-title{max-width:911px}
 .elementor-element-kiware01,.elementor-element-kiwars01{max-width:1090px;margin-inline:auto}
 .elementor-element-kiwart01 .elementor-heading-title{max-width:1288px;margin-inline:auto}
 .elementor-element-kiagens1{max-width:725px}
 .elementor-element-kiprozs1{max-width:568px}
 .elementor-element-kibrans1{max-width:1063px}
 .elementor-element-kiagenr1,.elementor-element-kiagenr2{max-width:1227px;margin-inline:auto}
 .elementor-element-kiprozl1{max-width:720px;width:100%}
 .elementor-element-kiwc1,.elementor-element-kiwc2,.elementor-element-kiwc3{flex:0 0 437px;max-width:437px}
 .elementor-element-kiag1,.elementor-element-kiag2,.elementor-element-kiag3,.elementor-element-kiag4,.elementor-element-kiag5,.elementor-element-kiag6{flex:1 1 0;min-width:0}
 .elementor-element-kib1,.elementor-element-kib2,.elementor-element-kib3,.elementor-element-kib4,.elementor-element-kib5,.elementor-element-kib6,.elementor-element-kib7,.elementor-element-kib8{flex:0 0 253px;max-width:253px;min-height:221px}
 .elementor-element-kips1n,.elementor-element-kips2n,.elementor-element-kips3n,.elementor-element-kips4n,.elementor-element-kips5n{flex:0 0 100px}
}
.elementor-element-kiagenh1,.elementor-element-kiprozh1,.elementor-element-kibranh1,.elementor-element-kiwarh01{text-align:center}
/* Emoji-Zeilen: in Figma weiu00df auf hellem Grund u2014 sie tragen die Farbe der Emoji selbst */
.elementor-element-kiag1i .elementor-heading-title,.elementor-element-kiag2i .elementor-heading-title,.elementor-element-kiag3i .elementor-heading-title,.elementor-element-kiag4i .elementor-heading-title,.elementor-element-kiag5i .elementor-heading-title,.elementor-element-kiag6i .elementor-heading-title{font-size:56px;line-height:44.8px}
.elementor-element-kib1i .elementor-heading-title,.elementor-element-kib2i .elementor-heading-title,.elementor-element-kib3i .elementor-heading-title,.elementor-element-kib4i .elementor-heading-title,.elementor-element-kib5i .elementor-heading-title,.elementor-element-kib6i .elementor-heading-title,.elementor-element-kib7i .elementor-heading-title,.elementor-element-kib8i .elementor-heading-title{font-size:24px;line-height:36px}
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-kihero01{min-height:clamp(660px,52.9vw,1015px)!important;padding-top:clamp(190px,16.8vw,322px)!important;padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-kiwarum1,.elementor-element-kiagen01,.elementor-element-kiproz01,.elementor-element-kibran01{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-kiheroe1 .elementor-heading-title{font-size:clamp(22px,2.19vw,42px)!important;line-height:1.3!important}
 .elementor-element-kiheroh1 .elementor-heading-title{font-size:clamp(34px,3.75vw,72px)!important;line-height:1.08!important}
 .elementor-element-kiwart01 .elementor-heading-title,.elementor-element-kiagent1 .elementor-heading-title,.elementor-element-kiprozt1 .elementor-heading-title,.elementor-element-kibrant1 .elementor-heading-title{font-size:clamp(26px,2.4vw,46px)!important;line-height:1.15!important}
 .elementor-element-kiwc1t .elementor-heading-title,.elementor-element-kiwc2t .elementor-heading-title,.elementor-element-kiwc3t .elementor-heading-title{font-size:clamp(22px,1.88vw,36px)!important}
 .elementor-element-kips1n .elementor-heading-title,.elementor-element-kips2n .elementor-heading-title,.elementor-element-kips3n .elementor-heading-title,.elementor-element-kips4n .elementor-heading-title,.elementor-element-kips5n .elementor-heading-title{font-size:clamp(38px,3.85vw,74px)!important}
}
@media(max-width:1024px){
 .elementor-element-kibranr1{gap:16px!important}
 .elementor-element-kib1,.elementor-element-kib2,.elementor-element-kib3,.elementor-element-kib4,.elementor-element-kib5,.elementor-element-kib6,.elementor-element-kib7,.elementor-element-kib8,.elementor-element-kib9{flex:1 1 220px;min-width:220px}
}
@media(max-width:767px){
 .elementor-element-kihero01{min-height:0!important}
 .elementor-element-kiherpl1{display:none}
 .elementor-element-kiherb01 .elementor-button,.elementor-element-kiherb02 .elementor-button{width:100%}
 .elementor-element-kib1,.elementor-element-kib2,.elementor-element-kib3,.elementor-element-kib4,.elementor-element-kib5,.elementor-element-kib6,.elementor-element-kib7,.elementor-element-kib8,.elementor-element-kib9{flex:1 1 100%;min-width:0}
 .elementor-element-kips1,.elementor-element-kips2,.elementor-element-kips3,.elementor-element-kips4,.elementor-element-kips5{flex-direction:column!important;gap:8px!important}
}


/* 25. KI V2 u2014 Figma 2117:982 */
.elementor-element-k2hero01 > .e-con-inner,.elementor-element-k2cmp001 > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
.elementor-element-k2stat01 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
@media(min-width:1025px){
 .elementor-element-k2statt1 .elementor-heading-title{max-width:1288px;margin-inline:auto}
 .elementor-element-k2stats1{max-width:1090px;margin-inline:auto}
 .elementor-element-k2cmps01{max-width:568px}
 .elementor-element-k2konp01{max-width:808px}
 .elementor-element-k2sc1,.elementor-element-k2sc2,.elementor-element-k2sc3{flex:0 0 437px;max-width:437px}
 .elementor-element-k2kon001{max-width:1360px;margin-inline:auto}
 .elementor-element-v2kips1n,.elementor-element-v2kips2n,.elementor-element-v2kips3n,.elementor-element-v2kips4n,.elementor-element-v2kips5n{flex:0 0 100px}
}
.elementor-element-k2stath1,.elementor-element-k2cmph01,.elementor-element-k2konh01,.elementor-element-k2konp01{text-align:center}
/* Vergleichstabelle: Figma fu00e4rbt "ohne" rot, "mit" gru00fcn */
.elementor-element-k2cmpw01 table{width:100%;border-collapse:collapse}
.elementor-element-k2cmpw01 th{font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:600;font-size:18px;color:#040E23;text-align:left;padding:12px 24px;border-bottom:1px solid #B8B8B8}
.elementor-element-k2cmpw01 td{font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:500;font-size:16px;padding:22px 24px;border-bottom:1px solid #B8B8B8;vertical-align:middle}
.elementor-element-k2cmpw01 td:first-child{color:#040E23}
.elementor-element-k2cmpw01 td:nth-child(2){color:#FF0F0F}
.elementor-element-k2cmpw01 td:nth-child(3){color:#23AC6A}
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-k2hero01{min-height:clamp(760px,62.8vw,1205px)!important;padding-top:clamp(190px,16.8vw,322px)!important;padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-k2stat01,.elementor-element-k2cmp001,.elementor-element-k2kon001{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-k2heroe1 .elementor-heading-title{font-size:clamp(22px,2.19vw,42px)!important;line-height:1.3!important}
 .elementor-element-k2heroh1 .elementor-heading-title{font-size:clamp(34px,3.75vw,72px)!important;line-height:1.08!important}
 .elementor-element-k2statt1 .elementor-heading-title,.elementor-element-k2cmpt01 .elementor-heading-title,.elementor-element-k2konh01 .elementor-heading-title{font-size:clamp(26px,2.4vw,46px)!important;line-height:1.2!important}
 .elementor-element-k2sc1n .elementor-heading-title,.elementor-element-k2sc2n .elementor-heading-title,.elementor-element-k2sc3n .elementor-heading-title{font-size:clamp(24px,1.88vw,36px)!important}
}
@media(max-width:767px){
 .elementor-element-k2hero01{min-height:0!important}
 .elementor-element-k2herpl1{display:none}
 .elementor-element-k2herb01 .elementor-button,.elementor-element-k2herb02 .elementor-button,.elementor-element-k2konb01 .elementor-button,.elementor-element-k2konb02 .elementor-button{width:100%}
 .elementor-element-k2cmpw01{overflow-x:auto}
 .elementor-element-k2cmpw01 table{min-width:560px}
 .elementor-element-k2cmpw01 td,.elementor-element-k2cmpw01 th{padding:12px;font-size:14px}
 .elementor-element-v2kips1,.elementor-element-v2kips2,.elementor-element-v2kips3,.elementor-element-v2kips4,.elementor-element-v2kips5{flex-direction:column!important;gap:8px!important}
}


/* 26. Projekt-Detail Mobil u2014 Figma 2372:1138 (390px)
   Inhaltsspalte 354px bei 18px Rand u00b7 Hero 407px u00b7 Pfeile 60px */
@media(max-width:767px){
 .elementor-element-pdhero{min-height:407px!important;padding:120px 18px 40px!important}
 .elementor-element-pdintro,.elementor-element-pdcontent,.elementor-element-pdcase,.elementor-element-pdrel,.elementor-element-pdrelc,.elementor-element-pdshow{padding-left:18px!important;padding-right:18px!important}
 .elementor-element-pdintro{padding-top:40px!important;padding-bottom:40px!important}
 .elementor-element-pdinrow,.elementor-element-pdctrow{gap:70px!important}
 /* Intro: u00dcberschrift 24/31, Flieu00dftext 17/27, Kunde 28 */
 .elementor-element-pdinh h1,.elementor-element-pdcth h2{font-size:24px!important;line-height:31px!important;letter-spacing:.4px!important}
 .elementor-element-pdint,.elementor-element-pdctt{font-size:17px!important;line-height:27px!important;text-align:left!important}
 .pv-kunde{font-size:28px!important;line-height:33px!important}
 .elementor-element-pdlkun .elementor-heading-title,.elementor-element-pdllei .elementor-heading-title,.elementor-element-pdctll .elementor-heading-title{font-size:16px!important;line-height:22px!important}
 /* Pills: 40px hoch, Abstu00e4nde 17/15 wie im Frame */
 .pv-tags{gap:17px 15px!important}
 .pv-tag{height:40px;display:flex;align-items:center;font-size:13.5px!important;padding:10px 22px!important}
 /* Buttons: gestapelt, Figma-Breiten statt voller Breite */
 .elementor-element-pdbtns{flex-direction:column!important;align-items:flex-start!important;gap:20px!important}
 .elementor-element-pdbmore .elementor-button{width:214px;justify-content:center}
 .elementor-element-pdbsite .elementor-button{width:181px;justify-content:center}
 .elementor-element-pdbmore .elementor-button,.elementor-element-pdbsite .elementor-button{height:48px;font-size:18px!important;padding:12px 25px!important}
 /* Showcase: gestapelt, 10px Abstand, 354px breit */
 .elementor-element-pdshoww{gap:10px!important}
 /* Vollbild: randlos, darf u00fcber die Spalte hinauslaufen */
 .elementor-element-pdfb1,.elementor-element-pdfb2{padding:0!important}
 /* Tabs: untereinander, 286px breit, zentriert */
 .pv-media-tabs{flex-direction:column;width:286px;margin-inline:auto}
 .pv-media-tab{flex:none;width:100%;height:50.5px;font-size:18px!important;padding:13px 20px!important}
 /* Medien: 386px breite Slides, 24px Abstand */
 .pv-media-slide{flex:0 0 386px!important;max-width:386px!important}
 .pv-media-track{gap:24px!important}
 .pv-media-play span{width:102px;height:102px}
 .pv-media-play span::after{left:42px;top:33px;border-left:30px solid #040D24;border-top:18px solid transparent;border-bottom:18px solid transparent}
 /* Pfeile: 60px, nicht 46px */
 .pv-media-prev,.pv-media-next,.elementor-element-pdreln img,.elementor-element-pdrelp img{width:60px!important;height:60px!important}
 .elementor-element-pdrela{gap:0!important}
 /* Akkordeon: Zeile 95px, Nummer 25px, Abstand 24px, KEIN Einzug */
 .pv-acc-head{gap:24px!important;padding:32px 0!important;align-items:flex-start!important}
 .pv-acc-num{font-size:22px!important;line-height:31px!important;min-width:30px!important}
 .pv-acc-label{font-size:22px!important;line-height:31px!important;letter-spacing:.3px!important}
 .pv-acc-icon{width:24px!important;height:24px!important;flex:0 0 24px!important;margin-top:4px}
 .pv-acc-icon::before{top:11px;width:24px}
 .pv-acc-icon::after{left:11px;height:24px}
 .pv-acc-panel{padding:0 0 32px 0!important}
 .pv-acc-body{font-size:18px!important;line-height:1.4!important}
 /* Ergebnis-Bereich */
 .elementor-element-pdrelh h2{font-size:32px!important;line-height:43px!important}
 .elementor-element-pdrelb .elementor-button{width:228px;height:48px;justify-content:center;font-size:18px!important}
 .elementor-element-pdrel{flex-direction:column!important;align-items:flex-start!important}
 .elementor-element-pkimg img{height:253px!important;border-radius:20px 20px 0 0!important}
 .elementor-element-pkcat,.pv-cat{font-size:12px!important;line-height:18px!important}
 .elementor-element-pktitle h3{font-size:24px!important;line-height:29px!important}
 .elementor-element-pkdesc{font-size:16px!important;line-height:24px!important}
 .pv-result{font-size:18px!important}
}
@media(max-width:430px){
 .pv-media-slide{flex:0 0 88%!important;max-width:88%!important}
 .elementor-element-pdbmore .elementor-button,.elementor-element-pdbsite .elementor-button{width:100%}
 .pv-acc-num,.pv-acc-label{font-size:18px!important;line-height:26px!important}
}


/* 27. Kontakt / Rechtliches u2014 kein Figma-Design, aus dem Designsystem abgeleitet */
.elementor-element-kthero > .e-con-inner,.elementor-element-imhero > .e-con-inner,.elementor-element-dzhero > .e-con-inner,
.elementor-element-ktbody > .e-con-inner,.elementor-element-imbody > .e-con-inner,.elementor-element-dzbody > .e-con-inner{max-width:1362px;margin-inline:auto;width:100%}
@media(min-width:1025px){
 .elementor-element-ktleft{flex:423 0 0;min-width:0}
 .elementor-element-ktright{flex:869 1 0;min-width:0}
 .elementor-element-ktlead{max-width:802px}
}
/* Flieu00dftext der Rechtstexte auf lesbare Zeilenlu00e4nge begrenzen */
.elementor-element-imtxt,.elementor-element-dztxt{max-width:900px}
.elementor-element-imtxt h3,.elementor-element-dztxt h3{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:24px;font-weight:600;color:#040D24;margin:36px 0 10px;line-height:1.25}
.elementor-element-imtxt h3:first-child,.elementor-element-dztxt h3:first-child{margin-top:0}
.elementor-element-imtxt p,.elementor-element-dztxt p{margin:0 0 14px}
.elementor-element-imtxt em,.elementor-element-dztxt em{background:#FFF6D6;font-style:italic;padding:1px 4px}
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-kthero,.elementor-element-imhero,.elementor-element-dzhero,
 .elementor-element-ktbody,.elementor-element-imbody,.elementor-element-dzbody{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-kth1 .elementor-heading-title,.elementor-element-imh1 .elementor-heading-title,.elementor-element-dzh1 .elementor-heading-title{font-size:clamp(34px,3.75vw,72px)!important;line-height:1.06!important}
}
@media(max-width:767px){
 .elementor-element-kthero,.elementor-element-imhero,.elementor-element-dzhero{min-height:0!important}
 .elementor-element-imtxt h3,.elementor-element-dztxt h3{font-size:20px;margin-top:28px}
}


/* 28. Startseite u2014 Karten-Feinschliff nach Figma 2001:117 */
/* Trennlinie 118px u00fcber dem Flieu00dftext, Abstand 10px u2014 fehlte bisher. */
.elementor-element-svcp006,.elementor-element-svcp012,.elementor-element-svcp018,.elementor-element-svcp024,.elementor-element-svcp030{position:relative;padding-top:20px}
.elementor-element-svcp006::before,.elementor-element-svcp012::before,.elementor-element-svcp018::before,.elementor-element-svcp024::before,.elementor-element-svcp030::before{content:"";position:absolute;top:0;left:0;width:118px;height:1px;background:#040D24}
/* Titelblock: 10px zwischen Titel und Untertitel (Figma 2001:119) */
.elementor-element-svct002,.elementor-element-svct008,.elementor-element-svct014,.elementor-element-svct020,.elementor-element-svct026{margin-bottom:10px}
/* Karten gleich hoch, Text oben bu00fcndig */
.elementor-element-plsvcc01,.elementor-element-plsvcc02,.elementor-element-plsvcc03,.elementor-element-plsvcc04,.elementor-element-plsvcc05{justify-content:flex-start}
@media(max-width:767px){
 .elementor-element-svcp006,.elementor-element-svcp012,.elementor-element-svcp018,.elementor-element-svcp024,.elementor-element-svcp030{padding-top:16px}
 .elementor-element-svcp006::before,.elementor-element-svcp012::before,.elementor-element-svcp018::before,.elementor-element-svcp024::before,.elementor-element-svcp030::before{width:90px}
}


/* 29. Startseite u2014 Karten-Reihe & Projekte-Reihe (Figma 2001:109 / 2001:151) */
/* Karten: 25px Abstand, nicht umbrechen, Schatten sichtbar lassen. */
@media(min-width:1025px){
 .elementor-element-plsvccs1:not(.pv-carousel){flex-wrap:nowrap!important;gap:25px!important;align-items:stretch!important}
 .elementor-element-plsvcc01:not(.swiper-slide),.elementor-element-plsvcc02:not(.swiper-slide),.elementor-element-plsvcc03:not(.swiper-slide),.elementor-element-plsvcc04:not(.swiper-slide),.elementor-element-plsvcc05:not(.swiper-slide){width:auto!important;flex:1 1 0!important;min-width:0!important;max-width:437px}
 /* Projekte-Reihe: Button links, Inhalt rechts u2014 darf nicht umbrechen.
    Die feste 1067px-Breite lieu00df die Zeile auf 13"-Displays umbrechen. */
 .elementor-element-plprj001{flex-wrap:nowrap!important;justify-content:space-between!important}
 .elementor-element-plprjb01{flex:0 0 auto!important}
 .elementor-element-plprjr01{width:auto!important;flex:1 1 0!important;min-width:0!important;max-width:1067px}
}
/* Schatten der Karten nie abschneiden. */
.elementor-element-plsvccs1:not(.pv-carousel),.elementor-element-svcardc1:not(.pv-carousel),.elementor-element-svprojc1:not(.pv-carousel),.elementor-element-absvcc01:not(.pv-carousel),.elementor-element-abprojc1:not(.pv-carousel){overflow:visible}
.pv-carousel{padding-block:4px}
@media(max-width:1024px){
 .elementor-element-plprj001{flex-wrap:wrap!important}
 .elementor-element-plprjr01{width:100%!important;max-width:none}
}


/* 30. Startseite u2014 Team-Mosaik & Logo-Kugeln */
/* Das Mosaik ist ein HTML-Widget mit absolut positionierten Bildern (Figma
   2001:241 setzt es auf left:-284 / top:-339). Ohne eigene Spalte lu00e4uft es
   unter den Text und macht ihn unlesbar. */
@media(min-width:1025px){
 .elementor-element-plteam01{align-items:center!important;flex-wrap:nowrap!important}
 .elementor-element-plteamc1{flex:1 1 0!important;min-width:0!important;max-width:660px;position:relative;overflow:hidden}
 .elementor-element-plteamt1{flex:0 0 615px!important;max-width:615px;margin-left:0!important;position:relative;z-index:2}
}
.elementor-element-plteamc1 img{max-width:100%;height:auto}
/* Text immer u00fcber dem Mosaik, damit nichts u00fcberdeckt wird. */
.elementor-element-plteamh1,.elementor-element-plteamp1,.elementor-element-plteamb1{position:relative;z-index:2}
@media(max-width:1024px){
 .elementor-element-plteam01{flex-direction:column!important}
 .elementor-element-plteamc1,.elementor-element-plteamt1{width:100%!important;max-width:none!important;flex:0 0 auto!important}
}
/* Logo-Kugeln liegen transparent auf hellem Grund u2014 kein Kasten dahinter. */
.elementor-element-plvism01,.elementor-element-plkompi1,.elementor-element-plkompm1{background:transparent!important}
.elementor-element-plvism01 img,.elementor-element-plkompm1 img{background:transparent!important;mix-blend-mode:normal}


/* 31. Kontaktformular (MetForm 43) u2014 an das Designsystem angeglichen */
.elementor-element-ktform .mf-form-wrapper{width:100%}
.elementor-element-ktform .mf-input-wrapper{margin-bottom:18px}
.elementor-element-ktform label,.elementor-element-ktform .mf-input-label{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:16px;font-weight:600;color:#040D24;margin-bottom:8px;display:block;letter-spacing:.2px}
.elementor-element-ktform input[type=text],.elementor-element-ktform input[type=email],.elementor-element-ktform input[type=tel],.elementor-element-ktform textarea,.elementor-element-ktform select{
  width:100%;font-family:"ITC Avant Garde Gothic",sans-serif;font-size:17px;font-weight:400;color:#040D24;
  background:#FFFFFF;border:1px solid #C4C6CD;border-radius:0;padding:14px 16px;line-height:1.4;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.elementor-element-ktform textarea{min-height:160px;resize:vertical}
.elementor-element-ktform input::placeholder,.elementor-element-ktform textarea::placeholder{color:#8F919F}
.elementor-element-ktform input:focus,.elementor-element-ktform textarea:focus,.elementor-element-ktform select:focus{
  outline:none;border-color:#ADAF60;box-shadow:0 0 0 3px rgba(173,175,96,.22);
}
/* Einwilligung */
.elementor-element-ktform .mf-checkbox-option,.elementor-element-ktform .mf-gdpr-consent{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:14px;line-height:1.5;color:#4A4E58}
.elementor-element-ktform input[type=checkbox]{accent-color:#ADAF60;width:18px;height:18px;margin-right:10px;vertical-align:-3px}
/* Senden-Button u2014 Poppins 500, 0 Radius, Figma-Schatten */
.elementor-element-ktform button[type=submit],.elementor-element-ktform .mf-btn,.elementor-element-ktform .metform-btn{
  font-family:"ITC Avant Garde Gothic",sans-serif;font-size:20px;font-weight:500;line-height:24px;
  background:#040D24;color:#FFFFFF;border:0;border-radius:0;padding:14px 28px;cursor:pointer;
  box-shadow:5px 5px 10px rgba(0,0,0,.2);transition:background .18s ease,transform .18s ease;
}
.elementor-element-ktform button[type=submit]:hover,.elementor-element-ktform .mf-btn:hover{background:#1B2540}
.elementor-element-ktform button[type=submit]:active{transform:translateY(1px)}
/* Ru00fcckmeldungen */
.elementor-element-ktform .mf-error-message,.elementor-element-ktform .mf-response-error{color:#C0392B;font-family:"ITC Avant Garde Gothic",sans-serif;font-size:14px}
.elementor-element-ktform .mf-response-success{color:#23AC6A;font-family:"ITC Avant Garde Gothic",sans-serif;font-size:16px;font-weight:600}
@media(max-width:767px){
 .elementor-element-ktform input[type=text],.elementor-element-ktform input[type=email],.elementor-element-ktform textarea{font-size:16px;padding:12px 14px}
 .elementor-element-ktform button[type=submit],.elementor-element-ktform .mf-btn{width:100%;font-size:17px}
}


/* 32. Rechtstexte u2014 offene Stellen sichtbar markieren */
.pv-gap{background:#FFF3BF;border-bottom:2px solid #E0A800;color:#5C4400;font-style:normal;font-weight:600;padding:2px 6px;border-radius:3px;display:inline-block}
.elementor-element-imtxt ul,.elementor-element-dztxt ul{margin:10px 0 14px;padding-left:22px}
.elementor-element-imtxt li,.elementor-element-dztxt li{margin:0 0 6px}
.elementor-element-imtxt a,.elementor-element-dztxt a{color:#040D24;text-decoration:underline;text-underline-offset:3px}
.elementor-element-imtxt a:hover,.elementor-element-dztxt a:hover{color:#ADAF60}
@media print{.pv-gap{background:none;border-bottom:1px solid #000}}


/* 33. Startseite Mobil u2014 Figma 2176:1103 (390px)
   Inhaltsspalte 358px bei 16px Rand u00b7 Karten behalten 40/60 Innenabstand
   u00dcberschriften 32/43 u00b7 Flieu00dftext 18/27 u00b7 Pfeile 46px u00b7 Buttons 212u2013225u00d748 */
@media(max-width:767px){
 .elementor-element-plhero01{min-height:947px!important;padding:150px 16px 60px!important;justify-content:flex-end!important}
 .elementor-element-plsvc001,.elementor-element-plprj001,.elementor-element-plvis001,.elementor-element-pltrst01,.elementor-element-plkomp01{padding:40px 16px!important}
 .elementor-element-plcase01{padding:60px 16px!important}
 /* Abschnittsu00fcberschriften 32/43, Flieu00dftext 18/27 */
 .elementor-element-plsvch01 .elementor-heading-title,.elementor-element-plprjt01 .elementor-heading-title,
 .elementor-element-plvish01 .elementor-heading-title,.elementor-element-plkomph1 .elementor-heading-title,
 .elementor-element-pltrsthd .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-plsvcp01,.elementor-element-plprjs01,.elementor-element-plvisp01,.elementor-element-plkompp1,.elementor-element-pltrstsb{font-size:18px!important;line-height:27px!important}
 .elementor-element-plkomps1{font-size:20px!important;line-height:30px!important}
 /* Karten: Figma behu00e4lt 40px seitlich / 60px oben auch mobil */
 .elementor-element-plsvcc01,.elementor-element-plsvcc02,.elementor-element-plsvcc03,.elementor-element-plsvcc04,.elementor-element-plsvcc05{padding:60px 40px!important;min-height:0!important;gap:30px!important}
 .elementor-element-svct002 .elementor-heading-title,.elementor-element-svct008 .elementor-heading-title,.elementor-element-svct014 .elementor-heading-title{font-size:22px!important;line-height:26px!important}
 .elementor-element-svcs003 .elementor-heading-title,.elementor-element-svcs009 .elementor-heading-title,.elementor-element-svcs015 .elementor-heading-title{font-size:18px!important;line-height:27px!important}
 .elementor-element-svcp006,.elementor-element-svcp012,.elementor-element-svcp018,.elementor-element-svcp024,.elementor-element-svcp030{font-size:18px!important;line-height:27px!important;padding-top:20px!important}
 .elementor-element-svcp006::before,.elementor-element-svcp012::before,.elementor-element-svcp018::before,.elementor-element-svcp024::before,.elementor-element-svcp030::before{width:118px}
 /* Pfeile 46px, diagonal versetzt wie im Frame */
 .elementor-element-plsvcar1{flex-direction:row!important;justify-content:center!important;gap:56px!important;width:100%!important}
 .elementor-element-plsvcan1 img,.elementor-element-plsvcap1 img{width:46px!important;height:46px!important}
 /* Buttons: feste Figma-Breiten, zentriert u2014 nicht volle Breite */
 .elementor-element-plprjb01,.elementor-element-plkompb1,.elementor-element-pltrstbn,.elementor-element-plcaseb1{align-self:center!important;width:100%}
 .elementor-element-plprjb01 .elementor-button,.elementor-element-plkompb1 .elementor-button{width:212px;margin-inline:auto;justify-content:center;height:48px}
 .elementor-element-pltrstbn .elementor-button,.elementor-element-plcaseb1 .elementor-button{width:225px;margin-inline:auto;justify-content:center;height:48px}
 /* Deine Vision / Unser Kompass: Bild oben (358u00d7368), Text darunter */
 .elementor-element-plvis001,.elementor-element-plkomp01{flex-direction:column!important;gap:0!important}
 .elementor-element-plvisi01,.elementor-element-plkompi1{width:100%!important;max-width:358px;margin-inline:auto}
 .elementor-element-plvism01 img,.elementor-element-plkompm1 img{width:100%!important;max-width:358px;height:auto}
 .elementor-element-plvist01,.elementor-element-plkompt1{width:100%!important;max-width:none!important;padding-top:40px!important;text-align:left!important}
 /* Wani-Cakes-Band: Bild randlos u00fcber die volle Breite */
 .elementor-element-plcase01{flex-direction:column-reverse!important;gap:40px!important}
 .elementor-element-plcaser1{width:calc(100% + 32px)!important;max-width:none!important;margin-inline:-16px}
 .elementor-element-plcaser1 img{width:100%!important;height:auto}
 .elementor-element-plcasew1 img{width:200px!important;height:auto}
 .elementor-element-plcaseh1 .elementor-heading-title{font-size:22px!important;line-height:28px!important}
 /* Trust-Wall */
 .elementor-element-pltrsbt1 img,.elementor-element-pltrsbb1 img{width:80px!important;height:auto}
 .elementor-element-pltrstwl img{width:100%!important;height:auto}
 /* Team-Mosaik u00fcber dem dunklen Band */
 .elementor-element-plteam01{padding:40px 16px!important}
 .elementor-element-plteamc1{max-width:358px;margin-inline:auto}
}


/* 34. Was wir machen Mobil u2014 Figma 2221:1057 (390px)
   Hero 947 u00b7 Spalte 358/16 u00b7 Karten 40 seitlich u00b7 Projektkarten 358 mit Bild 257
   Linie 118 u00b7 Pfeile 46 u00b7 u201eAlle Projekteu201c 228u00d748 zentriert */
@media(max-width:767px){
 .elementor-element-svhero01{min-height:947px!important;padding:150px 16px 60px!important;justify-content:flex-end!important}
 .elementor-element-svcards1,.elementor-element-svproj01{padding:40px 16px!important}
 .elementor-element-svcardh1 .elementor-heading-title,.elementor-element-svprojt1 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 /* Leistungskarten: 40px seitlich, Titel 22/27, Untertitel 18/26, Liste 18/27 */
 .elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,.elementor-element-svcd4,.elementor-element-svcd5{padding:60px 40px!important;min-height:0!important;gap:30px!important}
 .elementor-element-svcd1e .elementor-heading-title,.elementor-element-svcd2e .elementor-heading-title,.elementor-element-svcd3e .elementor-heading-title,.elementor-element-svcd4e .elementor-heading-title,.elementor-element-svcd5e .elementor-heading-title{font-size:22px!important;line-height:27px!important}
 .elementor-element-svcd1t .elementor-heading-title,.elementor-element-svcd2t .elementor-heading-title,.elementor-element-svcd3t .elementor-heading-title,.elementor-element-svcd4t .elementor-heading-title,.elementor-element-svcd5t .elementor-heading-title{font-size:18px!important;line-height:26px!important}
 .elementor-element-svcd1s,.elementor-element-svcd2s,.elementor-element-svcd3s,.elementor-element-svcd4s,.elementor-element-svcd5s,
 .elementor-element-svcd1l,.elementor-element-svcd2l,.elementor-element-svcd3l,.elementor-element-svcd4l,.elementor-element-svcd5l{font-size:18px!important;line-height:27px!important}
 /* Projektkarten: Bild 358u00d7257, Text 40px eingeru00fcckt, Linie 118 */
 .elementor-element-svpc1,.elementor-element-svpc2,.elementor-element-svpc3{padding:0 0 40px!important;gap:30px!important}
 .elementor-element-svpc1i img,.elementor-element-svpc2i img,.elementor-element-svpc3i img{height:257px!important;border-radius:20px 20px 0 0!important}
 .elementor-element-svpc1g,.elementor-element-svpc2g,.elementor-element-svpc3g,
 .elementor-element-svpc1t,.elementor-element-svpc2t,.elementor-element-svpc3t,
 .elementor-element-svpc1d,.elementor-element-svpc2d,.elementor-element-svpc3d,
 .elementor-element-svpc1r,.elementor-element-svpc2r,.elementor-element-svpc3r{padding-inline:40px!important}
 .elementor-element-svpc1g .elementor-heading-title,.elementor-element-svpc2g .elementor-heading-title,.elementor-element-svpc3g .elementor-heading-title{font-size:12px!important;line-height:18px!important}
 .elementor-element-svpc1t .elementor-heading-title,.elementor-element-svpc2t .elementor-heading-title,.elementor-element-svpc3t .elementor-heading-title{font-size:22px!important;line-height:26px!important}
 .elementor-element-svpc1d,.elementor-element-svpc2d,.elementor-element-svpc3d{font-size:18px!important;line-height:27px!important}
 .elementor-element-svpc1r,.elementor-element-svpc2r,.elementor-element-svpc3r{font-size:18px!important;line-height:24px!important}
 /* Pfeile 46px */
 .elementor-element-svcarda1,.elementor-element-svproja1{flex-direction:row!important;justify-content:center!important;gap:56px!important;width:100%!important}
 .elementor-element-svcardn1 img,.elementor-element-svcardp1 img,.elementor-element-svprojn1 img,.elementor-element-svprojp1 img{width:46px!important;height:46px!important}
 /* u201eAlle Projekte u2192u201c 228u00d748, zentriert u2014 nicht volle Breite */
 .elementor-element-svprojh1{flex-direction:column!important;align-items:center!important;gap:24px!important}
 .elementor-element-svprojb1 .elementor-button{width:228px;height:48px;margin-inline:auto;justify-content:center}
 .elementor-element-svherb01 .elementor-button,.elementor-element-svherb02 .elementor-button{width:100%}
}


/* 35. Wer wir sind Mobil u2014 Figma 2220:982 (390px)
   Hero 641 u00b7 Textspalte 354 bei 18px Rand u00b7 Bilder 358 (leicht u00fcberstehend)
   Bild oben, Text darunter u2014 auu00dfer u201eKurz gesagtu201c: dort Text zuerst
   Trennlinien 188px u00b7 Service-Pfeile 80px u00b7 Projektpfeile 46px */
@media(max-width:767px){
 .elementor-element-abhero01{min-height:641px!important;padding:150px 18px 40px!important;justify-content:flex-end!important}
 .elementor-element-abmue01,.elementor-element-abaus01,.elementor-element-abkurz01,.elementor-element-absvc001,.elementor-element-abproj01{padding-left:18px!important;padding-right:18px!important}
 .elementor-element-abmue01,.elementor-element-abkurz01{padding-top:60px!important;padding-bottom:60px!important}
 .elementor-element-abaus01,.elementor-element-absvc001,.elementor-element-abproj01{padding-top:40px!important;padding-bottom:40px!important}
 /* Bild oben, Text darunter u2014 40px Abstand */
 .elementor-element-abmue01,.elementor-element-abaus01{flex-direction:column!important;gap:40px!important}
 /* u201eKurz gesagtu201c dreht die Reihenfolge: Text zuerst, Bild darunter */
 .elementor-element-abkurz01{flex-direction:column!important;gap:60px!important}
 .elementor-element-abkurzt1{order:1}
 .elementor-element-abkurzi1{order:2}
 .elementor-element-abmue01i img,.elementor-element-abaus01i img,.elementor-element-abkurzm1 img{width:100%!important;max-width:358px!important;height:auto!important;margin-inline:auto}
 /* u00dcberschriften 30/30 mit 188px-Trennlinie darunter (nur mobil im Frame) */
 .elementor-element-abmue01h .elementor-heading-title,.elementor-element-abaus01h .elementor-heading-title,.elementor-element-abkurzh1 .elementor-heading-title{font-size:26px!important;line-height:30px!important}
 .elementor-element-abmue01h,.elementor-element-abaus01h,.elementor-element-abkurzh1{position:relative;padding-bottom:40px}
 .elementor-element-abmue01h::after,.elementor-element-abaus01h::after,.elementor-element-abkurzh1::after{content:"";position:absolute;left:0;bottom:20px;width:188px;height:1px;background:#040D24}
 .elementor-element-abmue01p0,.elementor-element-abaus01p0,.elementor-element-abaus01p1,.elementor-element-abaus01p2,.elementor-element-abaus01p3,.elementor-element-abaus01p4,
 .elementor-element-abkurzp1,.elementor-element-abkurzp2,.elementor-element-abkurzp3{font-size:18px!important;line-height:27px!important}
 /* Our Services */
 .elementor-element-absvcht1 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-absvchs1{font-size:18px!important;line-height:27px!important}
 .elementor-element-absc1,.elementor-element-absc2,.elementor-element-absc3,.elementor-element-absc4,.elementor-element-absc5{padding:40px!important;min-height:0!important;gap:30px!important}
 .elementor-element-absc1t .elementor-heading-title,.elementor-element-absc2t .elementor-heading-title,.elementor-element-absc3t .elementor-heading-title,.elementor-element-absc4t .elementor-heading-title,.elementor-element-absc5t .elementor-heading-title{font-size:22px!important;line-height:26px!important}
 .elementor-element-absc1l,.elementor-element-absc2l,.elementor-element-absc3l,.elementor-element-absc4l,.elementor-element-absc5l{font-size:18px!important;line-height:36px!important;position:relative;padding-top:20px}
 .elementor-element-absc1l::before,.elementor-element-absc2l::before,.elementor-element-absc3l::before,.elementor-element-absc4l::before,.elementor-element-absc5l::before{content:"";position:absolute;top:0;left:0;width:118px;height:1px;background:#040D24}
 /* Service-Pfeile bleiben hier 80px, Projektpfeile 46px */
 .elementor-element-absvca01{flex-direction:row!important;justify-content:center!important;gap:98px!important;width:100%!important}
 .elementor-element-absvcan1 img,.elementor-element-absvcap1 img{width:80px!important;height:80px!important}
 .elementor-element-abproja1{flex-direction:row!important;justify-content:center!important;gap:56px!important;width:100%!important}
 .elementor-element-abprojn1 img,.elementor-element-abprojp1 img{width:46px!important;height:46px!important}
 /* Projektkarten wie auf u201eWas wir machenu201c */
 .elementor-element-abpc1,.elementor-element-abpc2,.elementor-element-abpc3{padding:0 0 40px!important;gap:30px!important}
 .elementor-element-abpc1i img,.elementor-element-abpc2i img,.elementor-element-abpc3i img{height:257px!important;border-radius:20px 20px 0 0!important}
 .elementor-element-abpc1g,.elementor-element-abpc2g,.elementor-element-abpc3g,
 .elementor-element-abpc1t,.elementor-element-abpc2t,.elementor-element-abpc3t,
 .elementor-element-abpc1d,.elementor-element-abpc2d,.elementor-element-abpc3d,
 .elementor-element-abpc1r,.elementor-element-abpc2r,.elementor-element-abpc3r{padding-inline:40px!important}
 .elementor-element-abprojt1 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-abprojh1{flex-direction:column!important;align-items:center!important;gap:24px!important}
 .elementor-element-abprojb1 .elementor-button{width:228px;height:48px;margin-inline:auto;justify-content:center}
 /* Team-Mosaik liegt u00fcber dem dunklen Band */
 .elementor-element-abteam01{padding:40px 16px!important}
}


/* 36. KI & Automatisierung Mobil u2014 Figma 2221:1373 (390px)
   Hero 890 u00b7 Spalte 354 bei 18px Rand u00b7 Karten 40px innen, gestapelt
   Prozess: Nummer 41px links, Inhalt ab 105px u00b7 Branchen: 2 Spalten u00e0 168px, 18px Abstand */
@media(max-width:767px){
 .elementor-element-kihero01{min-height:890px!important;padding:150px 18px 40px!important;justify-content:flex-end!important}
 .elementor-element-kiwarum1,.elementor-element-kiagen01,.elementor-element-kiproz01,.elementor-element-kibran01{padding-left:18px!important;padding-right:18px!important;padding-top:40px!important;padding-bottom:40px!important}
 /* Kopfbereich linksbu00fcndig, nicht zentriert */
 .elementor-element-kiwarh01{align-items:flex-start!important;text-align:left!important}
 .elementor-element-kiware01 .elementor-heading-title{font-size:20px!important;line-height:30px!important}
 .elementor-element-kiwart01 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-kiwars01{font-size:18px!important;line-height:30px!important}
 /* Die drei Karten stapeln, 40px Innenabstand, Linie 118 */
 .elementor-element-kiwarc01{flex-direction:column!important;gap:20px!important}
 .elementor-element-kiwc1,.elementor-element-kiwc2,.elementor-element-kiwc3{width:100%!important;max-width:none!important;padding:40px!important;min-height:0!important;gap:20px!important}
 .elementor-element-kiwc1e .elementor-heading-title,.elementor-element-kiwc2e .elementor-heading-title,.elementor-element-kiwc3e .elementor-heading-title{font-size:18px!important;line-height:27px!important}
 .elementor-element-kiwc1t .elementor-heading-title,.elementor-element-kiwc2t .elementor-heading-title,.elementor-element-kiwc3t .elementor-heading-title{font-size:22px!important;line-height:26px!important}
 .elementor-element-kiwc1b,.elementor-element-kiwc2b,.elementor-element-kiwc3b{font-size:18px!important;line-height:27px!important;position:relative;padding-top:20px}
 .elementor-element-kiwc1b::before,.elementor-element-kiwc2b::before,.elementor-element-kiwc3b::before{content:"";position:absolute;top:0;left:0;width:118px;height:1px;background:#040D24}
 /* Agenten-Karten stapeln */
 .elementor-element-kiagenr1,.elementor-element-kiagenr2{flex-direction:column!important;gap:24px!important}
 .elementor-element-kiagenh1{align-items:center!important}
 .elementor-element-kiagent1 .elementor-heading-title{font-size:30px!important;line-height:40px!important}
 .elementor-element-kiagens1{font-size:18px!important;line-height:28px!important}
 /* Prozess: Nummer schmal links, Text ab 105px u2014 nicht gestapelt */
 .elementor-element-kiprozh1{align-items:flex-start!important;text-align:left!important}
 .elementor-element-kiprozt1 .elementor-heading-title{font-size:30px!important;line-height:36px!important}
 .elementor-element-kiprozs1{font-size:18px!important;line-height:29px!important}
 .elementor-element-kips1,.elementor-element-kips2,.elementor-element-kips3,.elementor-element-kips4,.elementor-element-kips5{flex-direction:row!important;align-items:flex-start!important;gap:24px!important;padding:32px 40px!important}
 .elementor-element-kips1n,.elementor-element-kips2n,.elementor-element-kips3n,.elementor-element-kips4n,.elementor-element-kips5n{flex:0 0 41px!important}
 .elementor-element-kips1n .elementor-heading-title,.elementor-element-kips2n .elementor-heading-title,.elementor-element-kips3n .elementor-heading-title,.elementor-element-kips4n .elementor-heading-title,.elementor-element-kips5n .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-kips1t .elementor-heading-title,.elementor-element-kips2t .elementor-heading-title,.elementor-element-kips3t .elementor-heading-title,.elementor-element-kips4t .elementor-heading-title,.elementor-element-kips5t .elementor-heading-title{font-size:20px!important;line-height:29px!important}
 .elementor-element-kips1b,.elementor-element-kips2b,.elementor-element-kips3b,.elementor-element-kips4b,.elementor-element-kips5b{font-size:16px!important;line-height:26px!important}
 /* Branchen: zwei Spalten u00e0 168px, 18px Abstand, Karten 221 hoch */
 .elementor-element-kibranh1{align-items:center!important}
 .elementor-element-kibrant1 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-kibrans1{font-size:18px!important;line-height:33px!important}
 .elementor-element-kibranr1{display:flex!important;flex-wrap:wrap!important;gap:24px 18px!important;justify-content:flex-start!important}
 .elementor-element-kib1,.elementor-element-kib2,.elementor-element-kib3,.elementor-element-kib4,.elementor-element-kib5,.elementor-element-kib6,.elementor-element-kib7,.elementor-element-kib8{flex:0 0 calc(50% - 9px)!important;min-width:0!important;max-width:calc(50% - 9px)!important;min-height:221px;padding:25px!important}
 .elementor-element-kib9{flex:0 0 246px!important;max-width:246px!important;min-height:79px;margin-inline:auto;padding:25px!important}
 .elementor-element-kib1i .elementor-heading-title,.elementor-element-kib2i .elementor-heading-title,.elementor-element-kib3i .elementor-heading-title,.elementor-element-kib4i .elementor-heading-title,.elementor-element-kib5i .elementor-heading-title,.elementor-element-kib6i .elementor-heading-title,.elementor-element-kib7i .elementor-heading-title,.elementor-element-kib8i .elementor-heading-title{font-size:24px!important;line-height:36px!important}
 .elementor-element-kib1n .elementor-heading-title,.elementor-element-kib2n .elementor-heading-title,.elementor-element-kib3n .elementor-heading-title,.elementor-element-kib4n .elementor-heading-title,.elementor-element-kib5n .elementor-heading-title,.elementor-element-kib6n .elementor-heading-title,.elementor-element-kib7n .elementor-heading-title,.elementor-element-kib8n .elementor-heading-title,.elementor-element-kib9n .elementor-heading-title{font-size:18px!important;line-height:22px!important}
 .elementor-element-kib1u,.elementor-element-kib2u,.elementor-element-kib3u,.elementor-element-kib4u,.elementor-element-kib5u,.elementor-element-kib6u,.elementor-element-kib7u,.elementor-element-kib8u{font-size:14px!important;line-height:22px!important}
 .elementor-element-kiherb01 .elementor-button,.elementor-element-kiherb02 .elementor-button{width:100%}
}


/* 37. KI V2 Mobil u2014 Figma 2229:1941 (390px)
   Hero 953 u00b7 Spalte 354 bei 18px u00b7 Statistik-Karten gestapelt mit 118px-Linie
   Vergleichstabelle horizontal scrollbar mit Fortschrittsbalken (354u00d710, 148 aktiv) */
@media(max-width:767px){
 .elementor-element-k2hero01{min-height:953px!important;padding:150px 18px 40px!important;justify-content:flex-end!important}
 .elementor-element-k2stat01,.elementor-element-k2cmp001,.elementor-element-k2kon001{padding-left:18px!important;padding-right:18px!important;padding-top:60px!important;padding-bottom:60px!important}
 /* Kopfbereich linksbu00fcndig */
 .elementor-element-k2stath1{align-items:flex-start!important;text-align:left!important}
 .elementor-element-k2statt1 .elementor-heading-title{font-size:32px!important;line-height:43px!important;text-align:left!important}
 .elementor-element-k2stats1{font-size:18px!important;line-height:30px!important;text-align:left!important}
 /* Statistik-Karten stapeln, 40px innen, Zahl 32/43, Linie 118 */
 .elementor-element-k2statr1{flex-direction:column!important;gap:25px!important}
 .elementor-element-k2sc1,.elementor-element-k2sc2,.elementor-element-k2sc3{width:100%!important;max-width:none!important;padding:40px!important;min-height:0!important;gap:20px!important}
 .elementor-element-k2sc1n .elementor-heading-title,.elementor-element-k2sc2n .elementor-heading-title,.elementor-element-k2sc3n .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-k2sc1l,.elementor-element-k2sc2l,.elementor-element-k2sc3l{font-size:18px!important;line-height:33px!important;position:relative;padding-top:20px}
 .elementor-element-k2sc1l::before,.elementor-element-k2sc2l::before,.elementor-element-k2sc3l::before{content:"";position:absolute;top:0;left:0;width:118px;height:1px;background:#040D24}
 /* Hero-Pillen nebeneinander lassen */
 .elementor-element-k2herpi1{flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important}
 /* Vergleich: u00dcberschriften linksbu00fcndig */
 .elementor-element-k2cmph01{align-items:flex-start!important;text-align:left!important}
 .elementor-element-k2cmpt01 .elementor-heading-title{font-size:32px!important;line-height:46px!important;text-align:left!important}
 .elementor-element-k2cmps01{font-size:18px!important;line-height:29px!important;text-align:left!important}
 /* Tabelle bleibt dreispaltig und wird horizontal gescrollt u2014
    im Frame liegt darunter ein 354u00d710 Balken mit 148px aktivem Stu00fcck. */
 .elementor-element-k2cmpw01{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .elementor-element-k2cmpw01::-webkit-scrollbar{display:none}
 .elementor-element-k2cmpw01 table{min-width:1000px}
 .elementor-element-k2cmpw01 th,.elementor-element-k2cmpw01 td{padding:20px 24px;font-size:15px}
 .elementor-element-k2cmpw01::after{content:"";display:block;width:354px;max-width:100%;height:10px;margin:24px auto 0;border-radius:999px;background:linear-gradient(to right,#040D24 0 148px,rgba(4,13,36,.15) 148px 100%)}
 /* Branchen: zwei Spalten u00e0 168px wie auf V1 */
 .elementor-element-k2konr01{flex-direction:column!important;gap:16px!important}
 .elementor-element-k2konh01 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-k2konp01{font-size:18px!important;line-height:27px!important}
 .elementor-element-k2herb01 .elementor-button,.elementor-element-k2herb02 .elementor-button,.elementor-element-k2konb01 .elementor-button,.elementor-element-k2konb02 .elementor-button{width:100%}
 /* Prozess-Schritte: Nummer 41px links, Inhalt ab 105px u2014 wie V1 */
 .elementor-element-v2kips1,.elementor-element-v2kips2,.elementor-element-v2kips3,.elementor-element-v2kips4,.elementor-element-v2kips5{flex-direction:row!important;align-items:flex-start!important;gap:24px!important;padding:32px 40px!important}
 .elementor-element-v2kips1n,.elementor-element-v2kips2n,.elementor-element-v2kips3n,.elementor-element-v2kips4n,.elementor-element-v2kips5n{flex:0 0 41px!important}
}




/* 38. Projektkarten dynamisch u2014 Loop Item 227 nach dem Vorbild von abpc1 */
/* Vor der Swiper-Initialisierung tru00e4gt der Loop-Container den Abstand.
   Sobald Swiper lu00e4uft, regelt es die Abstu00e4nde selbst u2014 beides zusammen
   fu00fchrte dazu, dass die Slides zu breit wurden und der Abstand verschwand. */
.elementor-element-abprojg1 .elementor-loop-container:not(.pv-carousel),
.elementor-element-pdrelg .elementor-loop-container:not(.pv-carousel){display:flex!important;grid-template-columns:none!important;gap:25px!important;align-items:stretch}
.elementor-element-abprojg1 .elementor-loop-container.pv-carousel,
.elementor-element-pdrelg .elementor-loop-container.pv-carousel{display:block!important;gap:0!important}
.elementor-element-abprojg1 .e-loop-item,
.elementor-element-pdrelg .e-loop-item{display:flex!important;height:auto!important;min-width:0;box-sizing:border-box}
.elementor-element-abprojg1 .e-loop-item > *,
.elementor-element-pdrelg .e-loop-item > *{width:100%!important;max-width:100%!important}
/* Schatten darf nicht abgeschnitten werden. */
.elementor-element-abprojc1,.elementor-element-abprojr1,.elementor-element-pdrelw,.elementor-element-pdrelc{overflow:visible!important}
.elementor-element-abprojg1 .pv-carousel,.elementor-element-pdrelg .pv-carousel{padding:6px 4px 10px}
/* Karte: gleiche Hu00f6he, Ergebnis unten bu00fcndig, klare Kante unten. */
.elementor-element-pkcard{overflow:hidden;height:100%;display:flex;flex-direction:column;box-sizing:border-box;
  border-radius:20px;background:#FFFFFF;
  box-shadow:0 0 2px rgba(4,14,35,.5),0 10px 24px rgba(4,14,35,.10);
  border-bottom:3px solid #ADAF60;
}
@media(min-width:1025px){
 .elementor-element-abprojg1 .swiper-slide,.elementor-element-pdrelg .swiper-slide{max-width:437px}
}
.elementor-element-pkimg{width:100%;line-height:0}
.elementor-element-pky{margin-top:auto;padding-bottom:4px}
/* Kein Ergebnis u2192 auch keine verwaiste Trennlinie. */
.pv-no-result .elementor-element-pky{display:none!important}
.pv-no-result .elementor-element-pkx{padding-bottom:8px}
.pv-cat{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:12px;font-weight:600;line-height:1.5;color:#040D24;margin:0}
.pv-result{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:18px;font-weight:500;line-height:2;color:#040D24;margin:0;display:block}
.pv-result::before{content:none}
.pv-result-arrow{color:#ADAF60;font-weight:600}
@media(max-width:767px){
 .elementor-element-abprojg1 .elementor-loop-container:not(.pv-carousel),.elementor-element-pdrelg .elementor-loop-container:not(.pv-carousel){gap:20px!important}
 .elementor-element-pkimg img{height:257px!important}
 .elementor-element-pkx,.elementor-element-pky{padding-inline:40px!important}
 .elementor-element-pktitle .elementor-heading-title{font-size:22px!important}
 .elementor-element-pkdesc{font-size:18px!important;line-height:27px!important}
 .pv-result{font-size:18px!important}
}


/* 40. Slide-Abstu00e4nde u2014 Swiper erzeugt sie u00fcber inline margin-right.
   Jede globale margin-Regel auf .swiper-slide zerstu00f6rt den Abstand. */
.pv-carousel > .swiper-wrapper > .swiper-slide{margin-top:0;margin-bottom:0}
.elementor-element-abprojg1 .swiper-slide,.elementor-element-pdrelg .swiper-slide{margin-left:0!important}
/* Fallback, falls Swiper (noch) nicht lu00e4uft: echte Lu00fccke u00fcber gap */
.elementor-element-abprojg1 .elementor-loop-container:not(.swiper),
.elementor-element-pdrelg .elementor-loop-container:not(.swiper){display:flex!important;gap:25px!important}


/* 41. Blasen-Gru00f6u00dfen & transparente Trust-Wall */
.pv-bubble--sm{max-width:120px}
@media(max-width:767px){.pv-bubble--sm{max-width:80px}}
/* Kein Kasten hinter Blase oder Trust-Wall */
.elementor-element-pltrsbt1,.elementor-element-pltrsbb1,.elementor-element-pltrstwl{background:transparent!important}
.elementor-element-pltrstwl img{background:transparent!important;width:100%;height:auto;display:block}


/* 42. Karussell-Clipping u2014 Swiper braucht overflow:hidden, sonst laufen
   die Slides aus dem Container. Schatten bleibt u00fcber Innenabstand sichtbar. */
.pv-carousel{overflow:hidden!important;padding:8px 0 14px!important}
.pv-carousel > .swiper-wrapper{display:flex!important;align-items:stretch}


/* 43. Logo auf der Blase u2014 Video als Hintergrund, Wortmarke mittig daru00fcber.
   Gru00f6u00dfe relativ zur Blase, damit es in jeder Gru00f6u00dfe stimmt. */
.pv-bubble{position:relative;display:flex;align-items:center;justify-content:center}
.pv-bubble-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46%;height:auto;max-width:none;pointer-events:none;z-index:2}
.pv-bubble--sm .pv-bubble-logo{width:52%}


/* 42. Karten-Reihe: sichtbarer Fallback, falls Swiper nicht startet */
.elementor-element-plsvccs1:not(.swiper-initialized){display:flex!important;flex-wrap:nowrap!important;gap:25px!important;overflow:hidden}
.elementor-element-plsvccs1:not(.swiper-initialized) > .e-con{flex:1 1 0!important;min-width:0!important;max-width:437px}




/* 30% der Blasenbreite u2192 die Marke liegt deutlich innerhalb der Kugel. */
.pv-bubble-logo{position:relative;z-index:2;width:30%;max-width:150px;height:auto;display:block;pointer-events:none;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));
}
/* Kleine Blasen u00fcber und unter der Trust-Wall */
.pv-bubble--sm{max-width:150px}
.pv-bubble--sm .pv-bubble-logo{width:38%;max-width:56px;filter:drop-shadow(0 1px 5px rgba(0,0,0,.4))}
/* Container du00fcrfen die gru00f6u00dferen Blasen nicht beschneiden. */
.elementor-element-plvisi01,.elementor-element-plkompi1{max-width:none!important;width:100%!important}
.elementor-element-plvism01,.elementor-element-plkompm1{width:100%}
@media(min-width:1025px){
 .elementor-element-plvisi01,.elementor-element-plkompi1{flex:0 0 520px!important;max-width:520px!important}
}
@media(max-width:1024px){.pv-bubble{max-width:420px}}
@media(max-width:767px){
 .pv-bubble{max-width:320px}
 .pv-bubble--sm{max-width:100px}
 .pv-bubble--sm .pv-bubble-logo{max-width:38px}
}


/* 44. Video-Hero & Blase mit Wortmarke
   Das Video bleibt im Flow und bestimmt die Hu00f6he; die Wortmarke wird absolut
   daru00fcber zentriert. Vorher lag das Video absolut und die Marke als einziges
   Flow-Element darunter u2014 deshalb stand u201epoolu201c unter der Kugel statt darin. */
.elementor-background-video-container{pointer-events:none}
.elementor-background-video-container video{object-fit:cover;width:100%;height:100%}
.elementor-element-plhero01 > .e-con-inner,.elementor-element-svhero01 > .e-con-inner,.elementor-element-abhero01 > .e-con-inner,
.elementor-element-kihero01 > .e-con-inner,.elementor-element-k2hero01 > .e-con-inner,.elementor-element-pjhero > .e-con-inner,
.elementor-element-pdhero > .e-con-inner,.elementor-element-kthero > .e-con-inner,.elementor-element-imhero > .e-con-inner,.elementor-element-dzhero > .e-con-inner{position:relative;z-index:2}

.pv-bubble{position:relative;display:block;width:100%;max-width:560px;margin-inline:auto;line-height:0}
.pv-bubble-video{display:block;width:100%;height:auto;background:transparent}
/* Wortmarke mittig in der Kugel u2014 leicht u00fcber die Mitte, weil die Kugel im
   Video minimal nach oben sitzt. */
.pv-bubble-logo{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  z-index:2;width:34%;height:auto;display:block;pointer-events:none;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,.5));}
/* Kleine Blasen u00fcber und unter der Trust-Wall u2014 jetzt deutlich gru00f6u00dfer */
.pv-bubble--sm{max-width:220px}
.pv-bubble--sm .pv-bubble-logo{width:40%;filter:drop-shadow(0 1px 6px rgba(0,0,0,.45))}
/* Container du00fcrfen die Blasen nicht beschneiden */
.elementor-element-plvisi01,.elementor-element-plkompi1{max-width:none!important;width:100%!important}
@media(min-width:1025px){
 .elementor-element-plvisi01,.elementor-element-plkompi1{flex:0 0 560px!important;max-width:560px!important}
}
@media(max-width:1024px){.pv-bubble{max-width:440px}.pv-bubble--sm{max-width:180px}}
@media(max-width:767px){.pv-bubble{max-width:320px}.pv-bubble--sm{max-width:140px}}


/* 45. Footer-Video u2014 Inhalt u00fcber Video und Overlay halten */
.elementor-element-plflnk01 > .e-con-inner{position:relative;z-index:2}
.elementor-element-plflnk01 .elementor-background-video-container{pointer-events:none}


/* 46. Our Services u2014 Fallback ohne Swiper (wie auf der Startseite) */
.elementor-element-absvcc01:not(.swiper-initialized){display:flex!important;flex-wrap:nowrap!important;gap:25px!important;overflow:hidden}
.elementor-element-absvcc01:not(.swiper-initialized) > .e-con{flex:1 1 0!important;min-width:0!important;max-width:437px}


/* 47. Wer wir sind u2014 Bildbereiche nach Figma 2001:713 / 2001:748 */
/* Freigestellte Illustrationen: kein Kasten, keine Rundung, volle Breite. */
.elementor-element-abmue01i,.elementor-element-abaus01i,.elementor-element-abkurzi1{background:transparent!important}
.elementor-element-abmue01i img,.elementor-element-abaus01i img{width:100%;height:auto;display:block;border-radius:0;background:transparent}
@media(min-width:1025px){
 /* Figma: 734 / 588 bei Mu00fcnchen, 681 / 640 bei u201eWas uns ausmachtu201c */
 .elementor-element-abmue01i{flex:734 1 0!important;min-width:0!important}
 .elementor-element-abmue01t{flex:588 0 0!important;max-width:588px}
 .elementor-element-abaus01t{flex:681 1 0!important;min-width:0!important}
 .elementor-element-abaus01i{flex:640 1 0!important;min-width:0!important}
 /* u201eKurz gesagtu201c: Textspalte 681, Blase 400 u2014 Figma 2001:752 / 2001:767 */
 .elementor-element-abkurzt1{flex:681 1 0!important;min-width:0!important}
 .elementor-element-abkurzi1{flex:0 0 400px!important;max-width:400px}
}
.elementor-element-abkurzi1 .pv-bubble{max-width:400px}
@media(max-width:767px){.elementor-element-abkurzi1 .pv-bubble{max-width:280px}}


/* 48. Klickbare Projektkarten u2014 gesamte Karte verlinkt */
.elementor-element-pkcard{position:relative}
.pv-card-link{position:absolute;inset:0;z-index:3;display:block;border-radius:20px;
  text-indent:-9999px;overflow:hidden;background:transparent}
/* Der Shortcode-Wrapper darf keinen Platz einnehmen. */
.elementor-element-pklink{position:static!important;margin:0!important;padding:0!important;line-height:0}
.elementor-element-pklink .elementor-widget-container{position:static}
/* Der echte Button liegt u00fcber dem Overlay und bleibt eigenstu00e4ndig klickbar. */
.elementor-element-pkcard .elementor-widget-button{position:relative;z-index:4}
/* Sichtbares Ru00fcckmeldungsverhalten */
.elementor-element-pkcard{transition:transform .2s ease,box-shadow .2s ease}
.elementor-element-pkcard:has(.pv-card-link):hover{transform:translateY(-4px);
  box-shadow:0 0 2px rgba(4,14,35,.5),0 16px 32px rgba(4,14,35,.16)}
.pv-card-link:focus-visible{outline:3px solid #ADAF60;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.elementor-element-pkcard{transition:none}.elementor-element-pkcard:has(.pv-card-link):hover{transform:none}}


/* 49. Was wir machen u2014 Karten-Reihen als Slider */
.elementor-element-svcardc1:not(.swiper-initialized){display:flex!important;flex-wrap:nowrap!important;gap:25px!important;overflow:hidden}
.elementor-element-svcardc1:not(.swiper-initialized) > .e-con{flex:1 1 0!important;min-width:0!important;max-width:437px}
.elementor-element-svprojg1 .elementor-loop-container:not(.swiper){display:flex!important;grid-template-columns:none!important;gap:25px!important;align-items:stretch}
.elementor-element-svprojg1 .e-loop-item{display:flex!important;height:auto!important;min-width:0;box-sizing:border-box}
.elementor-element-svprojg1 .e-loop-item > *{width:100%!important;max-width:100%!important}
.elementor-element-svprojc1,.elementor-element-svprojr1{overflow:visible!important}
@media(min-width:1025px){.elementor-element-svprojg1 .swiper-slide{max-width:437px}}

/* PV bubble white-bg fix */
.elementor-element-abkurzi1 .pv-bubble-video{mix-blend-mode:multiply;background:transparent}
.elementor-element-abkurzi1 .pv-bubble{background:transparent}

/* PV: Case ansehen button on one line */
.elementor-element-pjbtn .elementor-button{white-space:nowrap;width:auto;flex-shrink:0}
.elementor-element-pjbtn .elementor-button-text{white-space:nowrap;overflow:visible}
.elementor-element-pjbtn .elementor-widget-container{display:flex;justify-content:flex-start}
@media(max-width:767px){.elementor-element-pjbtn .elementor-button{white-space:nowrap;padding-left:18px!important;padding-right:18px!important}}

/* PV: Kontakt form styling */
.elementor-element-ktform .mf-input-wrapper{margin-bottom:26px}
.elementor-element-ktform .mf-input-label{display:block;margin:0 0 8px;font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:600;font-size:15px;letter-spacing:1.4px;text-transform:uppercase;color:#040D24}
.elementor-element-ktform .mf-input-required-indicator{color:#ADAF60;margin-left:4px}
.elementor-element-ktform .mf-input,.elementor-element-ktform textarea.mf-input,.elementor-element-ktform .mf-input-wrapper textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(4,13,36,.22);border-radius:0;padding:12px 2px;font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:400;font-size:18px;line-height:1.5;color:#040D24;transition:border-color .2s ease}
.elementor-element-ktform .mf-input::placeholder,.elementor-element-ktform textarea::placeholder{color:#8C949D;opacity:1}
.elementor-element-ktform .mf-input:focus,.elementor-element-ktform textarea:focus{outline:none;border-bottom-color:#ADAF60;border-bottom-width:2px;padding-bottom:11px}
.elementor-element-ktform textarea.mf-input,.elementor-element-ktform .mf-input-wrapper textarea{min-height:132px;resize:vertical}
.elementor-element-ktform .mf-gdpr-consent,.elementor-element-ktform .mf-checkbox-list{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:15px;line-height:1.5;color:#8C949D}
.elementor-element-ktform .mf-gdpr-consent a{color:#040D24;text-decoration:underline;text-underline-offset:3px}
.elementor-element-ktform input[type=checkbox]{accent-color:#ADAF60;width:17px;height:17px;margin-right:9px;border-radius:0}
.elementor-element-ktform .mf-btn,.elementor-element-ktform button[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#040D24;border:1px solid #040D24;border-radius:0;padding:10px 25px;min-height:48px;font-family:"ITC Avant Garde Gothic",sans-serif;font-weight:500;font-size:22px;line-height:24px;box-shadow:5px 5px 10px rgba(0,0,0,.2);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.elementor-element-ktform .mf-btn:hover,.elementor-element-ktform button[type=submit]:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 14px rgba(0,0,0,.22)}
.elementor-element-ktform .mf-btn:focus-visible,.elementor-element-ktform button[type=submit]:focus-visible{outline:2px solid #ADAF60;outline-offset:3px}
.elementor-element-ktlist .elementor-icon-list-item a,.elementor-element-ktlist .elementor-icon-list-text{font-family:"ITC Avant Garde Gothic",sans-serif;font-size:18px;color:#040D24;transition:color .18s ease}
.elementor-element-ktlist .elementor-icon-list-item:hover .elementor-icon-list-text{color:#ADAF60}
@media(max-width:767px){.elementor-element-ktform .mf-btn,.elementor-element-ktform button[type=submit]{width:100%;font-size:18px}.elementor-element-ktform .mf-input-wrapper{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.elementor-element-ktform .mf-btn,.elementor-element-ktform button[type=submit]{transition:none}}

/* PV: global mobile hardening */
html,body{overflow-x:hidden;max-width:100%}
@media(max-width:1024px){.elementor-element>.e-con-inner,.elementor-widget-container{max-width:100%}}
@media(max-width:767px){img,video,iframe,svg{max-width:100%;height:auto}.elementor-widget-heading .elementor-heading-title{overflow-wrap:break-word;hyphens:auto}.elementor-widget-text-editor p{overflow-wrap:break-word}.elementor-button,.elementor-widget-button a{width:auto;max-width:100%}.pv-menu__panel{right:0}#sec-2{scroll-margin-top:84px}}
@media(max-width:900px){.pv-cmp-row>div{padding:0}}

/* PV: soften footer hard cut */
.elementor-location-footer{position:relative}
.elementor-location-footer::before{content:'';position:absolute;left:0;right:0;top:-90px;height:90px;pointer-events:none;background:linear-gradient(to bottom,rgba(4,13,36,0) 0%,rgba(4,13,36,.55) 55%,#040D24 100%)}
@media(max-width:767px){.elementor-location-footer::before{top:-56px;height:56px}}


/* PV: all heroes fill the viewport */
.elementor-element-plhero01,.elementor-element-svhero01,.elementor-element-abhero01,.elementor-element-pjhero,.elementor-element-kihero01,.elementor-element-k2hero01,.elementor-element-kthero{min-height:100svh!important;justify-content:center!important}
@media(max-width:767px){.elementor-element-plhero01,.elementor-element-svhero01,.elementor-element-abhero01,.elementor-element-pjhero,.elementor-element-kihero01,.elementor-element-k2hero01,.elementor-element-kthero{min-height:100svh!important;padding-top:90px!important;padding-bottom:60px!important}}

/* PV smooth scroll */
html{scroll-behavior:smooth}
#sec-2{scroll-margin-top:110px}
@media(max-width:767px){#sec-2{scroll-margin-top:84px}}


/* PV: hero eyebrows - one consistent fluid scale across all main pages.
   The fluid layer above lists heroes by element id, so newly added eyebrows
   (pjheroe1, abheroe1) were never clamped and rendered at full 48px while the
   homepage clamped to 2.5vw. 48px group: Startseite, Projekte, Wer wir sind.
   34px group: Was wir machen, KI (per client, single-line + mixed case). */
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-pleyeb01 .elementor-heading-title,
 .elementor-element-pjheroe1 .elementor-heading-title,
 .elementor-element-abheroe1 .elementor-heading-title,
 .elementor-element-svheree1 .elementor-heading-title,
 .elementor-element-kiheroe1 .elementor-heading-title{font-size:clamp(26px,2.5vw,48px)!important;line-height:1.3!important}
}


/* 50. Startseite Mobil - Nachtrag.
   'Ein Pool. Statt fuenf Dienstleister.' (plpool01) stammt aus Figma 2421:1806.
   Diese Sektion wurde NACH dem Mobil-Frame 2176:1103 angelegt und hat dort
   keine Entsprechung. Padding und Schriftgroessen liegen bereits als
   Elementor-Mobilwerte vor - hier steht nur, was dort nicht abbildbar ist.
   plteamin: Rand auf die 16px des Systems (358 von 390) gezogen. */
@media(max-width:767px){
 .elementor-element-plteamin{padding-left:16px;padding-right:16px}
}
/* Fuenf Pillen: unter 390px wird 'Development' sonst gegen sein Icon gedrueckt. */



/* 51. Mobil-Korrektur: Sektionen ohne Breakpoint-Ueberschreibung.
   Diese Container tragen ihre Desktop-Seitenraender (271px bzw. 150/140px)
   bis hinunter auf 390px, weil die fluiden Regeln nur ab min-width:1025px
   greifen. 271+271 = 542px auf einem 390px-Display: der Inhalt wird auf
   Minimalbreite zusammengequetscht. Nur horizontal + Stapelrichtung wird
   korrigiert; die vertikale Rhythmik bleibt wie im Elementor gesetzt.
   Seitenraender folgen dem jeweiligen Frame: Startseite/Leistungen 16px,
   Wer wir sind 18px, Projekte 16px. */
@media(max-width:1024px){
 .elementor-element-plki0001,.elementor-element-plantr01,
 .elementor-element-svki0001,.elementor-element-svantr01,
 .elementor-element-pjfeat01{padding-left:24px!important;padding-right:24px!important}
 .elementor-element-14f253e,.elementor-element-abantr01{padding-left:24px!important;padding-right:24px!important}
 /* Zweispalter stapeln, sonst stehen Text und Zahl nebeneinander. */
 .elementor-element-plki0001,.elementor-element-svki0001,.elementor-element-14f253e{flex-direction:column!important}
 .elementor-element-plkil001,.elementor-element-plkir001,
 .elementor-element-svkil001,.elementor-element-svkib002,
 .elementor-element-2f61589{width:100%!important;max-width:none!important;flex:0 0 auto!important}
}
@media(max-width:767px){
 .elementor-element-plki0001,.elementor-element-plantr01,
 .elementor-element-svki0001,.elementor-element-svantr01,
 .elementor-element-pjfeat01{padding-left:16px!important;padding-right:16px!important}
 .elementor-element-14f253e,.elementor-element-abantr01{padding-left:18px!important;padding-right:18px!important}
 /* Das Bild im Team-Block darf nicht ueber die Spalte laufen. */
 .elementor-element-1848e51 img{width:100%!important;height:auto!important}
}


/* 51. Startseite - Korrekturen gegen Figma 2176:1103 (responsive land 2)
   und 2001:117 (Desktop). Jede Zahl hier ist am Frame gemessen. */

/* Kartenlinie: Figma zeichnet 118 x 5px - Desktop wie Mobil. Abschnitt 28
   hatte 1px angenommen, dadurch wirkte die Linie wie ein Haarstrich. */
.elementor-element-svcp006::before,.elementor-element-svcp012::before,.elementor-element-svcp018::before,.elementor-element-svcp024::before,.elementor-element-svcp030::before{height:5px!important;width:118px!important}

@media(max-width:767px){
 /* Hero: Button hat im Frame 212x48 und steht links - nicht volle Breite. */
 .elementor-element-plcta001 .elementor-button{width:212px!important;max-width:100%;height:48px;justify-content:center}
 /* Der Scroll-Pfeil steht im Mobil-Frame mittig unter dem Button. */
 .elementor-element-plplay01{display:block!important}
 .elementor-element-plplay01 img{width:46px!important;height:46px!important;margin-inline:auto;display:block}
 /* Karussell-Pfeile: Frame 2131330713 ist 102px breit = 2x46 + 10px. */
 .elementor-element-plsvcar1{gap:10px!important}
 /* KI-Band: die Kennzahlen bleiben im Frame rechtsbuendig. */
 .elementor-element-plkir001,.elementor-element-plkis001,.elementor-element-plkis002,.elementor-element-plkis003{text-align:right!important}
 .elementor-element-plkic001 .elementor-button{width:212px!important;max-width:100%;height:48px;justify-content:center}
}


/* 52. Trennlinien systemweit - Figma zeichnet jede 'Line 12' mit 5px.
   Geprueft an 2221:999 (118x5) und 2220:1257 (188x5). */

/* a) Doppelte Linien auf Mobil: Wer wir sind, KI V1 und KI V2 haben in der
   Karte bereits ein echtes Divider-Widget. Die zusaetzliche ::before-Linie
   aus den Abschnitten 35-37 griff nur unter 767px - dort standen also zwei
   Linien uebereinander, genau wie zuvor auf der Startseite. */
@media(max-width:767px){
 .elementor-element-absc1l::before,.elementor-element-absc2l::before,.elementor-element-absc3l::before,.elementor-element-absc4l::before,.elementor-element-absc5l::before,
 .elementor-element-kiwc1b::before,.elementor-element-kiwc2b::before,.elementor-element-kiwc3b::before,
 .elementor-element-k2sc1l::before,.elementor-element-k2sc2l::before,.elementor-element-k2sc3l::before{content:none!important}
 .elementor-element-absc1l,.elementor-element-absc2l,.elementor-element-absc3l,.elementor-element-absc4l,.elementor-element-absc5l,
 .elementor-element-kiwc1b,.elementor-element-kiwc2b,.elementor-element-kiwc3b,
 .elementor-element-k2sc1l,.elementor-element-k2sc2l,.elementor-element-k2sc3l{padding-top:0!important}
}

/* b) Die verbleibenden Divider-Widgets auf Figma-Staerke bringen (waren 2px). */
.elementor-element-svcd1d .elementor-divider-separator,.elementor-element-svcd2d .elementor-divider-separator,.elementor-element-svcd3d .elementor-divider-separator,
.elementor-element-svpc1v .elementor-divider-separator,.elementor-element-svpc2v .elementor-divider-separator,.elementor-element-svpc3v .elementor-divider-separator,
.elementor-element-absc1d .elementor-divider-separator,.elementor-element-absc2d .elementor-divider-separator,.elementor-element-absc3d .elementor-divider-separator,.elementor-element-absc4d .elementor-divider-separator,.elementor-element-absc5d .elementor-divider-separator,
.elementor-element-kiwc1d .elementor-divider-separator,.elementor-element-kiwc2d .elementor-divider-separator,.elementor-element-kiwc3d .elementor-divider-separator,
.elementor-element-k2sc1d .elementor-divider-separator,.elementor-element-k2sc2d .elementor-divider-separator,.elementor-element-k2sc3d .elementor-divider-separator,
.elementor-element-plcased1 .elementor-divider-separator{border-block-start-width:5px!important;border-top-width:5px!important}

/* c) Mobile Ueberschriften-Unterstriche auf 'Wer wir sind': 188x5, nicht 1px. */
@media(max-width:767px){
 .elementor-element-abmue01h::after,.elementor-element-abaus01h::after,.elementor-element-abkurzh1::after{height:5px!important;width:188px!important}
}


/* 53. Feedback 19.08. - Korrekturen aus dem Kundenfeedback */

/* a) Buttons: Beschriftung optisch mittig. Die feste Zeilenhoehe (24px) liess
   den Text in Buttons mit fester Hoehe oben kleben. Flex zentriert zuverlaessig. */
.elementor-button,.elementor-widget-button .elementor-button{display:inline-flex!important;align-items:center;justify-content:center}
.elementor-button .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:center}
.elementor-button .elementor-button-text{display:block;line-height:1.15;position:relative;top:.13em}
/* ITC Avant Garde Gothic: Ascender = Versalhoehe (740), Unterlaenge 260.
   Die Zeilenbox ist dadurch unten 0.26em zu hoch - die Beschriftung stand
   optisch zu weit oben. 0.13em (= halbe Unterlaenge) zentriert exakt und
   veraendert die Buttonhoehe nicht. Gilt fuer jede Schriftgroesse. */
.elementor-element-ktform .mf-btn,.elementor-element-ktform button[type=submit]{padding-top:calc(10px + .13em)!important;padding-bottom:calc(10px - .13em)!important}

/* b) Footer: eine durchgehende blaue Flaeche statt drei sichtbarer Baender.
   Das Video-Panel im Linkbereich erzeugte die "zweite Sektion". */
.elementor-element-plfcta01,.elementor-element-plflnk01,.elementor-element-plfbot01{background-color:#040D24!important;background-image:none!important}
.elementor-element-plflnk01 .elementor-background-video-container,
.elementor-element-plfcta01 .elementor-background-overlay,
.elementor-element-plflnk01 .elementor-background-overlay{display:none!important}
/* Weicher Uebergang von der letzten Seitensektion in den Footer. */
.elementor-location-footer::before{top:-140px!important;height:140px!important;background:linear-gradient(to bottom,rgba(4,13,36,0) 0%,rgba(4,13,36,.4) 45%,rgba(4,13,36,.82) 78%,#040D24 100%)!important}
@media(max-width:767px){.elementor-location-footer::before{top:-80px!important;height:80px!important}}

/* c) Footer-CTA: Ueberschrift kleiner, Fliesstext groesser - Textstil bleibt. */
.elementor-element-plfcth01 .elementor-heading-title{font-size:clamp(22px,1.95vw,38px)!important;line-height:1.2!important}
.elementor-element-plfctp01{font-size:clamp(16px,1.25vw,24px)!important;line-height:1.55!important}
@media(max-width:767px){
 .elementor-element-plfcth01 .elementor-heading-title{font-size:26px!important}
 .elementor-element-plfctp01{font-size:17px!important}
}

/* d) Was wir machen - die drei Trennlinien auf eine Hoehe bringen.
   Die Karten sind gleich hoch, nur die Kopftexte unterschiedlich lang.
   Der Fussblock wird nach unten geschoben, dadurch fluchten die Linien. */
@media(min-width:768px){
 .elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3{justify-content:flex-start}
 .elementor-element-svcd1b,.elementor-element-svcd2b,.elementor-element-svcd3b{margin-top:auto}
}

/* e) Wer wir sind - Hero wie auf den uebrigen Seiten.
   abhero01 fehlte im fluiden Block die Unterkante, dadurch stand der Text
   bei zentrierter Ausrichtung rund 70px zu tief. */
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-abhero01{padding-top:clamp(190px,16.8vw,322px)!important;padding-bottom:clamp(90px,16vw,308px)!important}
}

/* f) Kontakt - Eyebrow in der gleichen CI wie ueberall, Scroll-Pfeil ergaenzt. */
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-kteyeb .elementor-heading-title{font-size:clamp(26px,2.5vw,48px)!important;line-height:1.3!important}
}
#kt-sec-2{scroll-margin-top:110px}
@media(max-width:767px){
 .elementor-element-ktherpl1{display:none}
 #kt-sec-2{scroll-margin-top:84px}
}


/* 54. Feedback 22.08. - Korrekturen aus dem Kundenfeedback */

/* a) KI-Hero: "Euer Team hat Besseres zu tun." gehoert auf eine Zeile.
   Die 911px-Deckelung aus Abschnitt 24 liess die Zeile bei 72px umbrechen.
   Die Innenspalte ist 1362px breit - die Zeile passt dort ohne Umbruch. */
@media(min-width:1025px){
 .elementor-element-kiheroh1 .elementor-heading-title{max-width:none!important}
}

/* b) "Was wir machen" - die drei Leistungskarten waren als Karte nicht zu
   erkennen: 0 0 2px auf weissem Grund ist auf hellem Hintergrund unsichtbar.
   Gleicher Kartenschatten wie bei den Projektkarten (Abschnitt 38). */
.elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,
.elementor-element-svcd4,.elementor-element-svcd5{
 box-shadow:0 0 2px rgba(4,14,35,.5),0 10px 24px rgba(4,14,35,.10)!important;
}
/* Der Slider darf den Schatten nicht abschneiden. */
.elementor-element-svcardc1.pv-carousel{padding:10px 0 26px!important}

/* c) KI-Band auf "Was wir machen": Button hatte feste 271px (Abschnitt 21) und
   wirkte dadurch zu breit; die Beschriftung stand nicht mittig. Jetzt
   natuerliche Breite, Label zentriert, Button mittig zur Textspalte. */
@media(min-width:1025px){
 .elementor-element-svkib002{flex:0 0 auto!important;align-self:center!important}
 .elementor-element-svkib002 .elementor-button{width:auto!important;min-width:0!important;height:54px;padding:10px 25px!important;white-space:nowrap}
}
.elementor-element-svkib002 .elementor-widget-container{display:flex;justify-content:center;align-items:center}

/* d) Footer-CTA auf allen Seiten: Ueberschrift kleiner, Fliesstext groesser.
   Ersetzt die Werte aus Abschnitt 53c. */
.elementor-element-plfcth01 .elementor-heading-title{font-size:clamp(21px,1.6vw,30px)!important;line-height:1.25!important}
.elementor-element-plfctp01{font-size:clamp(17px,1.35vw,26px)!important;line-height:1.5!important}
@media(max-width:767px){
 .elementor-element-plfcth01 .elementor-heading-title{font-size:22px!important}
 .elementor-element-plfctp01{font-size:18px!important}
}


/* 53. Kundenfeedback 22.08.2026 - Punkte 1, 11, 15. */

/* P1: Karten 'Was wir machen'. Die Widget-Einstellung entspricht exakt
   Figma 2001:345 (0 0 2px rgba(4,14,35,.5)) - der Schatten ist im Design
   selbst kaum sichtbar. Auf Kundenwunsch zusaetzlich angehoben. Zum
   Zurueckdrehen: diesen Block loeschen, dann gilt wieder reines Figma. */
.elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,
.elementor-element-svcd4,.elementor-element-svcd5{
 box-shadow:0 0 2px rgba(4,14,35,.5),0 6px 24px rgba(4,14,35,.12)!important}

/* P11: KI-Hero. Die Zeile brach um, weil der Titel auf 911px begrenzt war;
   bei 72px braucht 'Euer Team hat Besseres zu tun.' rund 1130px. */
.elementor-element-kiheroh1 .elementor-heading-title{max-width:1290px!important}
@media(max-width:1024px){
 .elementor-element-kiheroh1 .elementor-heading-title{max-width:100%!important}
}

/* P15: Footer-CTA - Ueberschrift kleiner, Fliesstext groesser.
   Vorher 30px / 18px, jetzt 28px / 21px. Footer ist global, gilt damit
   automatisch auf allen Seiten. */
.elementor-element-plfcth01 .elementor-heading-title{font-size:clamp(20px,1.45vw,28px)!important;line-height:1.25!important}
.elementor-element-plfctp01{font-size:clamp(17px,1.15vw,21px)!important;line-height:1.55!important}


/* 54. Kartenschatten auf allen vier Seiten gleich.
   Ursache der Asymmetrie: .pv-carousel aus Abschnitt 42 clippt (Swiper
   braucht overflow:hidden) und hatte links/rechts 0 Innenabstand, oben nur
   8px. Der Schatten aus Abschnitt 53 hatte zudem 6px Versatz nach unten.
   Jetzt: Schatten ohne Versatz + umlaufender 1px-Ring, damit die Kante auf
   jeder Seite identisch ist, und rundum genug Innenabstand zum Durchlassen. */
.pv-carousel{padding:16px!important}
.elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,
.elementor-element-svcd4,.elementor-element-svcd5{
 box-shadow:0 0 0 1px rgba(4,14,35,.10),0 0 14px rgba(4,14,35,.13)!important}


/* 55. KI-Seite: 'Warum das wichtig ist' - drei Karten auf einer Zeile.
   Die Karten hingen auf flex:0 0 437px fest. 3x437 + 2x25 Abstand = 1361px;
   bei 1280px Viewport bleiben nach dem 7.3vw-Rand nur rund 1094px, also
   ist die dritte Karte umgebrochen. Ab Desktop duerfen sie jetzt schrumpfen,
   bleiben aber bei maximal 437px wie in Figma 2221:1567. */
@media(min-width:1025px){
 .elementor-element-kiwarc01{flex-wrap:nowrap!important;align-items:stretch!important}
 .elementor-element-kiwc1,.elementor-element-kiwc2,.elementor-element-kiwc3{
  flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:437px!important;
  padding:clamp(24px,2.6vw,40px)!important}
}


/* 56. Startseite mobil: die fuenf Pillen stehen 2-2-1 statt untereinander.
   Die Regeln dafuer liegen jetzt im Widget-CSS von plpooli1 selbst
   (flex-wrap + 50%-Breite). Die frueheren Ueberschreibungen aus Abschnitt 50
   (Padding rechts 18px, Icon 52px, Label 17px bei 390px) wurden entfernt -
   sie haetten die zweispaltige Zeile wieder gesprengt. Hier bleibt nur die
   Absicherung, dass keine Pille breiter wird als die halbe Zeile. */
@media(max-width:767px){
 .elementor-element-plpooli1 .pv-pool-pill{min-width:0!important;overflow-wrap:anywhere}
}


/* 57. Bubble-Logo 'pool' wieder proportional zur Blase.
   Ursache: '.elementor-element-plvism01 img{width:100%!important;max-width:358px}'
   traf das Logo, nicht die Blase - die Blase ist ein <video>. Das Logo wurde
   dadurch 358px breit, die Blase ist mobil aber nur 320px, also lief das Logo
   links und rechts heraus. Jetzt prozentual zur Blase wie vorgesehen. */
.elementor-element-plvism01 img.pv-bubble-logo,
.elementor-element-plkompm1 img.pv-bubble-logo{
 position:absolute!important;left:50%!important;top:48%!important;
 transform:translate(-50%,-50%)!important;
 width:34%!important;max-width:none!important;height:auto!important;z-index:2}
@media(max-width:767px){
 .elementor-element-plvism01 img.pv-bubble-logo,
 .elementor-element-plkompm1 img.pv-bubble-logo{width:30%!important}
}


/* 58. 'Mehr erfahren' im KI-Band der Startseite bleibt einzeilig.
   212px Button minus 2x25px Innenabstand lassen 162px Text - genau die
   Breite, die 'Mehr erfahren' bei 24px braucht. Deshalb der Umbruch.
   nowrap erzwingt eine Zeile, min-width haelt die Figma-Breite von 212px,
   der Button darf bei Bedarf mitwachsen statt umzubrechen. */
.elementor-element-plkic001 .elementor-button{
 white-space:nowrap!important;
 width:auto!important;min-width:212px!important;max-width:100%!important}
@media(max-width:767px){
 .elementor-element-plkic001 .elementor-button{
  font-size:20px!important;padding-left:20px!important;padding-right:20px!important}
}


/* 59. Scroll-Pfeil im Hero: auf allen Hauptseiten mobil sichtbar und mittig.
   svherpl1, kiherpl1 und ktherpl1 standen mobil auf display:none (jeweils in
   einem 767px-Block); abheropl und pjheropl waren schon sichtbar, plplay01
   wurde in Abschnitt 51 reaktiviert. Jetzt einheitlich fuer alle sechs.
   Die Sprungziele #sec-2 / #sv-sec-2 / #ab-sec-2 / #ki-sec-2 / #pj-sec-2 /
   #kt-sec-2 sind auf den Seiten vorhanden und geprueft. */
@media(max-width:767px){
 .elementor-element-plplay01,.elementor-element-svherpl1,.elementor-element-abheropl,
 .elementor-element-kiherpl1,.elementor-element-pjheropl,.elementor-element-ktherpl1{
  display:block!important;width:100%!important;max-width:none!important;text-align:center!important}
 .elementor-element-plplay01 .elementor-widget-container,.elementor-element-svherpl1 .elementor-widget-container,
 .elementor-element-abheropl .elementor-widget-container,.elementor-element-kiherpl1 .elementor-widget-container,
 .elementor-element-pjheropl .elementor-widget-container,.elementor-element-ktherpl1 .elementor-widget-container{
  display:flex!important;justify-content:center!important}
 .elementor-element-plplay01 img,.elementor-element-svherpl1 img,.elementor-element-abheropl img,
 .elementor-element-kiherpl1 img,.elementor-element-pjheropl img,.elementor-element-ktherpl1 img{
  width:46px!important;height:46px!important;display:block!important;margin-inline:auto!important}
}
/* Sanftes Scrollen + Abstand, damit der Kopfbereich das Ziel nicht verdeckt. */
html{scroll-behavior:smooth}
#sec-2,#sv-sec-2,#ab-sec-2,#ki-sec-2,#pj-sec-2,#kt-sec-2{scroll-margin-top:72px}


/* 60. Sicherheitsnetz fuer die Arrow-Karussells.
   Das JS haengt .pv-carousel an den Host, bevor Swiper startet. Scheitert die
   Initialisierung (oder laeuft sie noch), fehlt .swiper-initialized - dann galt
   bisher nur overflow:hidden, und die Karten lagen uebereinander statt zu
   stapeln. Ohne Swiper stapeln sie jetzt sauber untereinander. */
@media(max-width:767px){
 .pv-carousel:not(.swiper-initialized){display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;overflow:visible!important;gap:20px!important}
 .pv-carousel:not(.swiper-initialized)>.swiper-wrapper{display:flex!important;flex-direction:column!important;gap:20px!important;transform:none!important;width:100%!important}
 .pv-carousel:not(.swiper-initialized) .swiper-slide{width:100%!important;max-width:100%!important;flex:0 0 auto!important;margin-right:0!important}
}


/* 61. 'Wer wir sind' mobil.
   a) Doppelte Linie unter den Ueberschriften: die ::after-Linie aus
      Abschnitt 35 (188x5px, dunkel) lag zusaetzlich ueber dem echten
      Divider-Widget (188x2px, heller). Die ::after faellt weg. Das
      padding-bottom:40px der Ueberschrift diente nur als Platz fuer diese
      Linie - ohne sie rueckt der verbleibende Divider genau um diese 40px
      nach oben, also dorthin, wo die Linie vorher sass.
   b) 'Was uns ausmacht' steht in der Datenstruktur als Text-dann-Bild.
      Mobil soll das Bild zuerst kommen, daher column-reverse. */
@media(max-width:767px){
 .elementor-element-abmue01h::after,.elementor-element-abaus01h::after,.elementor-element-abkurzh1::after{content:none!important}
 .elementor-element-abmue01h,.elementor-element-abaus01h,.elementor-element-abkurzh1{padding-bottom:0!important}
 .elementor-element-abaus01{flex-direction:column-reverse!important}
}


/* 62. Hero-Buttons mobil einheitlich wie auf der Startseite.
   Vorher: 114 und 125 hatten width:100% (volle Breite), 122 und 202 die
   Standardbreite - nur plcta001 stand auf den Figma-Massen 212x48 links.
   Jetzt alle gleich. */
@media(max-width:767px){
 .elementor-element-plcta001 .elementor-button,
 .elementor-element-svherb02 .elementor-button,
 .elementor-element-abherb01 .elementor-button,
 .elementor-element-kiherb01 .elementor-button,
 .elementor-element-kiherb02 .elementor-button,
 .elementor-element-pjherb01 .elementor-button{
  width:212px!important;max-width:100%!important;height:48px!important;
  justify-content:center!important;white-space:nowrap}
 .elementor-element-plcta001,.elementor-element-svherb02,.elementor-element-abherb01,
 .elementor-element-kiherb01,.elementor-element-kiherb02,.elementor-element-pjherb01{
  text-align:left!important;align-self:flex-start!important;width:100%!important}
 .elementor-element-svherbt1,.elementor-element-kiherbt1{align-items:flex-start!important}
}


/* 63. Angleichung an die Startseite.
   a) Pfeile 'Wer wir sind': standen mobil auf 80px mit 98px Abstand,
      die Startseite nutzt 46px mit 10px Abstand (Figma 2131330713 = 102px
      Gesamtbreite). Jetzt identisch.
   b) Karten 'Was wir machen': gleicher Schatten wie plsvcc01 auf der
      Startseite, also der Figma-Wert 0 0 2px rgba(4,14,35,.5). Der Ring aus
      Abschnitt 54 war nur noetig, solange .pv-carousel den Schatten seitlich
      abgeschnitten hat - das ist seit Abschnitt 54 (padding:16px) behoben. */
@media(max-width:767px){
 .elementor-element-absvca01{flex-direction:row!important;justify-content:center!important;gap:10px!important;width:100%!important}
 .elementor-element-absvcan1 img,.elementor-element-absvcap1 img{width:46px!important;height:46px!important}
 .elementor-element-absvcan1,.elementor-element-absvcap1{width:auto!important}
}
.elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,
.elementor-element-svcd4,.elementor-element-svcd5{
 box-shadow:0 0 2px rgba(4,14,35,.5)!important}


/* 64. KI-Seite mobil: Eyebrow 'ROUTINE KOSTET KAPAZITAET' mittig.
   Das Widget hat bereits align:center. Der Elternteil kiwarh01 steht mobil
   auf align-items:flex-start - dadurch schrumpft das Widget auf Textbreite
   und sitzt links, die Zentrierung hat keinen Platz. align-self:stretch gibt
   ihm wieder die volle Breite, ohne die Ausrichtung der Geschwister zu
   veraendern. */
@media(max-width:767px){
 .elementor-element-kiware01{align-self:stretch!important;width:100%!important;text-align:center!important}
 .elementor-element-kiware01 .elementor-heading-title{text-align:center!important}
}

/* ================= PV client round 2026-09-11 ================= */
/* 1. Carousel arrows: vertical pair at the BOTTOM-RIGHT of the cards row (desktop).
   Bottom edges aligned with the cards so nothing hangs below the row.
   Mobile/tablet keeps its own layout (horizontal pair below the cards). */
@media(min-width:1025px){
 .elementor-element-plsvcr01,.elementor-element-abprojr1,.elementor-element-svcardr1,.elementor-element-svprojr1,.elementor-element-absvcr01,.elementor-element-pdrelc{flex-direction:row-reverse!important;align-items:flex-end!important}
 .elementor-element-plsvcar1,.elementor-element-abproja1,.elementor-element-svcarda1,.elementor-element-svproja1,.elementor-element-absvca01,.elementor-element-pdrela{position:static!important;flex-direction:column!important;justify-content:flex-end!important;width:80px!important;max-width:80px!important;flex:0 0 auto!important;align-self:flex-end!important;gap:18px!important;padding:0!important;margin:0!important;transform:none!important}
 .elementor-element-plsvcap1,.elementor-element-abprojp1,.elementor-element-svcardp1,.elementor-element-svprojp1,.elementor-element-absvcap1,.elementor-element-pdrelp,
 .elementor-element-plsvcan1,.elementor-element-abprojn1,.elementor-element-svcardn1,.elementor-element-svprojn1,.elementor-element-absvcan1,.elementor-element-pdreln{transform:none!important;margin:0!important}
 .elementor-element-plsvccs1,.elementor-element-abprojc1,.elementor-element-svcardc1,.elementor-element-svprojc1,.elementor-element-absvcc01,.elementor-element-pdrelw{width:auto!important;max-width:100%!important;flex:1 1 0!important;min-width:0!important}
}
/* 2. Result badges hidden on slider cards (loop card 227 + Was-wir-machen static cards). */
.elementor-element-pky,.elementor-element-svpc1y,.elementor-element-svpc2y,.elementor-element-svpc3y{display:none!important}
/* 3. Projekt-Detail hero: overlay darkens only the video background, never the composed images. */
.elementor-element-pdherow{position:relative;z-index:2}

/* ================= PV client round 2026-09-19 (Google Doc 15.-18.09.) ================= */

/* A. Arrow carousels - one system for all six rows.
   Desktop: a row with only 3 cards has nothing to page, so its arrows were dead.
   JS now tags that arrow wrapper .pv-arrows-idle and it disappears; the cards
   take the full row width. Rows that do page keep the bottom-right pair.
   Tablet + phone: one card per view, arrow pair centred below the card. */
.pv-arrows-idle{display:none!important}
.elementor-element-plsvcap1 img,.elementor-element-abprojp1 img,.elementor-element-svcardp1 img,
.elementor-element-svprojp1 img,.elementor-element-absvcap1 img,.elementor-element-pdrelp img{transform:rotate(180deg)}
.elementor-element-plsvcap1,.elementor-element-abprojp1,.elementor-element-svcardp1,
.elementor-element-svprojp1,.elementor-element-absvcap1,.elementor-element-pdrelp{order:0!important}
.elementor-element-plsvcan1,.elementor-element-abprojn1,.elementor-element-svcardn1,
.elementor-element-svprojn1,.elementor-element-absvcan1,.elementor-element-pdreln{order:1!important}
.pv-carousel-arrow{cursor:pointer}
.pv-carousel-arrow.pv-arrow-disabled{opacity:.3;cursor:default}
@media(max-width:1024px){
 .elementor-element-plsvcr01,.elementor-element-abprojr1,.elementor-element-svcardr1,
 .elementor-element-svprojr1,.elementor-element-absvcr01,.elementor-element-pdrelc{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important}
 .elementor-element-plsvccs1,.elementor-element-abprojc1,.elementor-element-svcardc1,
 .elementor-element-svprojc1,.elementor-element-absvcc01,.elementor-element-pdrelw{
  order:1!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important;margin:0!important}
 .elementor-element-plsvcar1,.elementor-element-abproja1,.elementor-element-svcarda1,
 .elementor-element-svproja1,.elementor-element-absvca01,.elementor-element-pdrela{
  order:2!important;display:flex!important;flex-direction:row!important;justify-content:center!important;
  align-items:center!important;gap:16px!important;width:100%!important;max-width:100%!important;
  position:static!important;transform:none!important;margin:0!important;padding:0!important;flex:0 0 auto!important}
 .elementor-element-plsvcap1,.elementor-element-abprojp1,.elementor-element-svcardp1,.elementor-element-svprojp1,.elementor-element-absvcap1,.elementor-element-pdrelp,
 .elementor-element-plsvcan1,.elementor-element-abprojn1,.elementor-element-svcardn1,.elementor-element-svprojn1,.elementor-element-absvcan1,.elementor-element-pdreln{
  width:46px!important;max-width:46px!important;flex:0 0 46px!important;margin:0!important;transform:none!important;position:static!important}
 .elementor-element-plsvcap1 img,.elementor-element-abprojp1 img,.elementor-element-svcardp1 img,.elementor-element-svprojp1 img,.elementor-element-absvcap1 img,.elementor-element-pdrelp img,
 .elementor-element-plsvcan1 img,.elementor-element-abprojn1 img,.elementor-element-svcardn1 img,.elementor-element-svprojn1 img,.elementor-element-absvcan1 img,.elementor-element-pdreln img{
  width:46px!important;height:46px!important;max-width:none!important}
 .pv-carousel .swiper-slide{height:auto!important}
}
/* Tablets and phones in landscape: one card, not a stretched 900px box. */
@media(min-width:600px) and (max-width:1024px){
 .pv-carousel{max-width:600px!important;margin-left:auto!important;margin-right:auto!important}
}

/* B. Heroes on phones (client: iPhone 12 Pro Max - heading ran into the logo).
   The header overlays the hero (logo bottom ~102px). 90px top padding + centred
   content let the eyebrow slide under the logo on short Safari viewports.
   Now: 132px clearance, and auto margins centre the content only while it fits,
   so it can never be pushed up under the header. Type one step smaller. */
@media(max-width:767px){
 .elementor-element-plhero01,.elementor-element-svhero01,.elementor-element-abhero01,.elementor-element-pjhero,
 .elementor-element-kihero01,.elementor-element-k2hero01,.elementor-element-kthero{
  padding-top:132px!important;padding-bottom:48px!important;justify-content:flex-start!important}
 .elementor-element-plhero01>.e-con,.elementor-element-svhero01>.e-con,.elementor-element-abhero01>.e-con,
 .elementor-element-pjhero>.e-con,.elementor-element-kihero01>.e-con,.elementor-element-k2hero01>.e-con,
 .elementor-element-kthero>.e-con{margin-top:auto!important;margin-bottom:auto!important}
 .elementor-element-pleyeb01 .elementor-heading-title,.elementor-element-svheree1 .elementor-heading-title,
 .elementor-element-abheroe1 .elementor-heading-title,.elementor-element-pjheroe1 .elementor-heading-title,
 .elementor-element-kiheroe1 .elementor-heading-title,.elementor-element-k2heroe1 .elementor-heading-title{
  font-size:20px!important;line-height:1.3!important}
 .elementor-element-plh1_001 .elementor-heading-title,.elementor-element-svhereh1 .elementor-heading-title,
 .elementor-element-abheroh1 .elementor-heading-title,.elementor-element-pjheroh .elementor-heading-title,.elementor-element-pjheroh h1,
 .elementor-element-kiheroh1 .elementor-heading-title,.elementor-element-k2heroh1 .elementor-heading-title{
  font-size:30px!important;line-height:1.15!important;hyphens:manual!important;-webkit-hyphens:manual!important}
 .elementor-element-pllead01,.elementor-element-svherep1,.elementor-element-abherop1,.elementor-element-pjherop,.elementor-element-kiherop1,
 .elementor-element-pllead01 p,.elementor-element-svherep1 p,.elementor-element-abherop1 p,.elementor-element-pjherop p,.elementor-element-kiherop1 p{
  font-size:16px!important;line-height:1.5!important}
}
@media(max-width:374px){
 .elementor-element-plh1_001 .elementor-heading-title,.elementor-element-svhereh1 .elementor-heading-title,
 .elementor-element-abheroh1 .elementor-heading-title,.elementor-element-pjheroh .elementor-heading-title,.elementor-element-pjheroh h1,
 .elementor-element-kiheroh1 .elementor-heading-title,.elementor-element-k2heroh1 .elementor-heading-title{font-size:27px!important}
}

/* C. Heroes on tablets: text wraps inside the screen, scroll circle bottom-right
   like on desktop (the Startseite row was stacked with an 820px-wide text block). */
@media(min-width:768px) and (max-width:1024px){
 .elementor-element-plcont01,.elementor-element-svherer1,.elementor-element-abherorw,
 .elementor-element-pjherorw,.elementor-element-kiheror1{
  flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important}
 .elementor-element-plcopy01,.elementor-element-svherec1,.elementor-element-abheroc1,.elementor-element-pjheroc,.elementor-element-kiheroc1{
  width:auto!important;flex:1 1 0!important;min-width:0!important;max-width:calc(100% - 104px)!important}
 .elementor-element-pllead01,.elementor-element-svherep1,.elementor-element-abherop1,.elementor-element-pjherop,.elementor-element-kiherop1{
  width:auto!important;max-width:620px!important}
 .elementor-element-plplay01,.elementor-element-svherpl1,.elementor-element-abheropl,.elementor-element-pjheropl,.elementor-element-kiherpl1{
  flex:0 0 80px!important;width:80px!important;max-width:80px!important;margin:0!important}
 .elementor-element-plplay01 img,.elementor-element-svherpl1 img,.elementor-element-abheropl img,.elementor-element-pjheropl img,.elementor-element-kiherpl1 img{
  width:80px!important;height:80px!important}
 /* Projekte used 4vw side padding here (33px at 820) - same 40px as the logo now. */
 .elementor-element-pjhero,.elementor-element-pjlist{padding-left:40px!important;padding-right:40px!important}
}

/* D. Startseite team grid on tablets: the -250px pull-up laid the top portrait
   over the 'Seit ueber 15 Jahren...' text. It now only touches the section edge. */
@media(min-width:768px) and (max-width:1024px){
 .elementor-element-f5761fb{margin-top:-40px!important}
}

/* E. 'Was Ein Pool bedeutet' on iPad landscape / small laptops: the text column
   was squeezed to ~380px beside a wide image with the phone in its middle.
   The image column is narrower and cropped at its empty sides, so the phone
   sits further right at the same size and the text gets the room. */
@media(min-width:1025px) and (max-width:1439px){
 .elementor-element-plcasel1{flex:1 1 0!important;min-width:0!important}
 .elementor-element-plcaser1{flex:0 0 40%!important;max-width:40%!important;overflow:hidden!important}
 .elementor-element-plcaser1 img{width:136%!important;max-width:none!important;margin-left:-18%!important;height:auto!important;max-height:none!important}
}

/* F. Logo on the same vertical line as the page content (iPad landscape and
   laptops: the header kept a fixed 140px while the content used 7.3vw). */
@media(min-width:1025px){
 .elementor-element-plhdr001{
  padding-left:clamp(24px,7.3vw,140px)!important;
  padding-right:clamp(24px,7.3vw,140px)!important}
}

/* G. KI hero buttons on phones: 'Erstgespraech anfragen' did not fit the fixed 212px. */
@media(max-width:767px){
 .elementor-element-kiherb01 .elementor-button,.elementor-element-kiherb02 .elementor-button{width:auto!important;min-width:212px!important;padding-left:20px!important;padding-right:20px!important}
}

/* H. One-card carousels (<=1024px): no sliver of the next card at the edge, and the
   'Was wir machen' project cards lose the doubled 40px+40px text inset that
   squeezed 'Afram.shop' into a ~160px column on phones. */
@media(max-width:1024px){
 .pv-carousel{clip-path:inset(-24px 14px)}
 .elementor-element-abprojg1,.elementor-element-pdrelg{width:100%!important;max-width:100%!important}
 .elementor-element-svpc1x,.elementor-element-svpc2x,.elementor-element-svpc3x{padding-left:24px!important;padding-right:24px!important}
 .elementor-element-svpc1x>.elementor-element,.elementor-element-svpc2x>.elementor-element,.elementor-element-svpc3x>.elementor-element{padding-left:0!important;padding-right:0!important}
}

/* I. Projekte: the hero scroll circle pointed at #pj-sec-2, which does not exist on the page.
   It now targets the list anchor (#projekte-liste / #projects-list). */
#projekte-liste,#projects-list{scroll-margin-top:72px}

/* ================= PV client round 2026-09-21 (Google Doc 21.09.) ================= */

/* 1. Carousel arrows: bottom-LEFT of the card row, bottom edge level with the cards.
   They sat bottom-right and hung 16px below the card edge (the .pv-carousel padding
   that keeps the card shadow from being clipped). */
@media(min-width:1025px){
 .elementor-element-plsvcr01,.elementor-element-abprojr1,.elementor-element-svcardr1,
 .elementor-element-svprojr1,.elementor-element-absvcr01,.elementor-element-pdrelc{
  flex-direction:row!important;align-items:flex-end!important;gap:24px!important}
 .elementor-element-plsvcar1,.elementor-element-abproja1,.elementor-element-svcarda1,
 .elementor-element-svproja1,.elementor-element-absvca01,.elementor-element-pdrela{
  order:0!important;align-self:flex-end!important;margin:0 0 16px 0!important}
 .elementor-element-plsvccs1,.elementor-element-abprojc1,.elementor-element-svcardc1,
 .elementor-element-svprojc1,.elementor-element-absvcc01,.elementor-element-pdrelw{order:1!important}
}
/* 1b. Wide screens have enough page margin to park the arrows beside the row,
   exactly as the client drew it, without narrowing the cards. */
@media(min-width:1600px){
 .elementor-element-plsvcr01,.elementor-element-abprojr1,.elementor-element-svcardr1,
 .elementor-element-svprojr1,.elementor-element-absvcr01,.elementor-element-pdrelc{position:relative!important;gap:0!important}
 .elementor-element-plsvcar1,.elementor-element-abproja1,.elementor-element-svcarda1,
 .elementor-element-svproja1,.elementor-element-absvca01,.elementor-element-pdrela{
  position:absolute!important;left:-98px!important;bottom:16px!important;margin:0!important}
 .elementor-element-plsvccs1,.elementor-element-abprojc1,.elementor-element-svcardc1,
 .elementor-element-svprojc1,.elementor-element-absvcc01,.elementor-element-pdrelw{width:100%!important;flex:1 1 100%!important}
}

/* 2. Service cards: a visible edge (the 2px shadow alone read as 'no border'),
   and on 'Was wir machen' the row keeps the same card width as the Startseite
   instead of stretching across the full 1230px. */
.elementor-element-plsvcc01,.elementor-element-plsvcc02,.elementor-element-plsvcc03,
.elementor-element-plsvcc04,.elementor-element-plsvcc05,
.elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,
.elementor-element-svcd4,.elementor-element-svcd5{
 border:1px solid rgba(4,14,35,.16)!important;
 box-shadow:0 2px 10px rgba(4,14,35,.10)!important}
@media(min-width:1025px){
 .elementor-element-svcardc1{max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}
 .elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3{justify-content:flex-start!important;gap:28px!important}
}

/* 3. Hero copy starts to the right of the logo (Figma), not flush with it.
   Desktop only - phones and tablets keep the 16/40px page margin. */
@media(min-width:1025px){
 .elementor-element-plcopy01,.elementor-element-svherec1,.elementor-element-abheroc1,
 .elementor-element-pjheroc,.elementor-element-kiheroc1{
  margin-left:clamp(40px,7.5vw,145px)!important;width:auto!important;flex:1 1 auto!important;
  max-width:820px!important;min-width:0!important}
}

/* 4. No automatic hyphenation on phones - German words were split mid-word
   ('Bauen & Gestal-ten', 'Ein Pool aus Ex-perten.'). Long words still wrap,
   they just no longer break with a hyphen. */
@media(max-width:767px){
 .elementor-widget-heading .elementor-heading-title,.elementor-widget-text-editor,
 .elementor-widget-text-editor p,.elementor-widget-button .elementor-button,
 .elementor-element h1,.elementor-element h2,.elementor-element h3,.elementor-element h4,
 .elementor-element p,.elementor-element li,.elementor-element span,.pv-fc,.pv-wp,body{
  hyphens:manual!important;-webkit-hyphens:manual!important;-ms-hyphens:manual!important;
  word-break:normal!important}
}

/* 5. 'Ein Pool. Statt fuenf Dienstleister.' pills: smaller icon so every label
   stays on one line (Automation / Development were breaking). */
@media(max-width:767px){
 .pv-pool-pill{padding:6px 10px 6px 6px!important;gap:8px!important}
 .pv-pool-pill__icon{width:36px!important;height:36px!important;flex:0 0 36px!important}
 .pv-pool-pill__icon svg{width:21px!important;height:21px!important}
 .pv-pool-pill__label{font-size:14px!important;white-space:nowrap!important}
}

/* 6. Projekte grid: the arrow sits at the bottom of every card, so the arrows line
   up across cards whose meta text runs to a different number of lines. */
.pv-fc,.pv-wp{display:flex!important;flex-direction:column!important}
.pv-fc__body,.pv-wp__body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important}
.pv-fc__meta,.pv-wp__meta{margin-top:auto!important}

/* 7. Mobile hero headline breaks after the comma (client). */
.pv-br-m{display:none}
@media(max-width:767px){.pv-br-m{display:inline}}

/* 8. Card subject lines on phones: the cards carried 40px of inner padding, so the
   text column was only 244px and every subject ran to two lines. Narrower padding
   plus one step smaller type puts them back on a single line. */
@media(max-width:767px){
 .elementor-element-plsvcc01,.elementor-element-plsvcc02,.elementor-element-plsvcc03,
 .elementor-element-plsvcc04,.elementor-element-plsvcc05,
 .elementor-element-svcd1,.elementor-element-svcd2,.elementor-element-svcd3,
 .elementor-element-svcd4,.elementor-element-svcd5{padding-left:22px!important;padding-right:22px!important;padding-top:40px!important;padding-bottom:40px!important}
 [class*='elementor-element-svct'] .elementor-heading-title{font-size:18px!important;line-height:1.25!important}
 [class*='elementor-element-svcs'] .elementor-heading-title{font-size:17px!important;line-height:1.3!important}
 .elementor-element-svcd1e .elementor-heading-title,.elementor-element-svcd2e .elementor-heading-title,.elementor-element-svcd3e .elementor-heading-title{font-size:19px!important;line-height:1.25!important}
}


/* 65. Hero row width = Startseite on all pages.
   plcont01 is capped at 1362px (row above), the other hero rows were not,
   so their scroll circle sat further right on wide screens. Same cap here.
   Kontakt has no row wrapper: column + circle are direct children, so both
   get the cap, and the copy gets the same logo-indent as the other pages. */
@media(min-width:1025px){
 .elementor-element-svherer1,.elementor-element-abherorw,.elementor-element-pjherorw,
 .elementor-element-kiheror1,.elementor-element-k2heror1,
 .elementor-element-ktheroc,.elementor-element-ktherpl1{width:100%!important;max-width:1362px!important}
 .elementor-element-ktheroc{margin-left:clamp(40px,7.5vw,145px)!important;max-width:820px!important;flex:0 0 auto!important}
 .elementor-element-ktherpl1{max-width:calc(1362px)!important}
}


/* 66. Was wir machen - service cards row runs as a looping carousel on desktop
   again (client wants the arrows like on the Startseite). The 1120px cap was
   for the static 3-up layout; as a carousel it takes the same width as plsvccs1. */
@media(min-width:1025px){
 .elementor-element-svcardr1.pv-arrows .elementor-element-svcardc1{max-width:none!important;margin-left:0!important;margin-right:0!important}
}


/* 67. Form pages (pool-form / project forms): the step content was vertically
   centred, so a tall step pushed its heading up under the header while a short
   one sat mid-screen. Now the heading always starts at the same top offset as
   the hero headings on the main pages (desktop clamp(190,16.8vw,322), tablet 200,
   phone 132) and the step grows downward. */
body .pv-qf-shell .pv-qf-main.pv-qf-main{align-items:flex-start!important;padding-top:clamp(190px,16.8vw,322px)!important}
@media(min-width:768px) and (max-width:1024px){body .pv-qf-shell .pv-qf-main.pv-qf-main{padding-top:200px!important}}
@media(max-width:767px){body .pv-qf-shell .pv-qf-main.pv-qf-main{padding-top:132px!important}}


/* 60. Wer wir sind: gespiegelte Kopie 'Qualitaet ist kein Zufall' (Text links, Blase rechts) */
.elementor-element-abvis002 > .e-con-inner{max-width:1640px;margin-inline:auto;width:100%}
.elementor-element-abvist02,.elementor-element-abvise02,.elementor-element-abvish02,.elementor-element-abvisp02{text-align:left}
.elementor-element-abvism02{background:transparent!important;width:100%}
.elementor-element-abvisi02{max-width:none!important;width:100%!important}
@media(min-width:1025px){
 .elementor-element-abvist02{flex:0 0 590px;max-width:590px}
 .elementor-element-abvisi02{flex:0 0 560px!important;max-width:560px!important}
}
@media(min-width:1025px) and (max-width:1919px){
 .elementor-element-abvis002{padding-left:clamp(24px,7.3vw,140px)!important;padding-right:clamp(24px,7.3vw,140px)!important}
 .elementor-element-abvish02 .elementor-heading-title{font-size:clamp(28px,2.4vw,46px)!important;line-height:1.12!important}
 .elementor-element-abvisp02{font-size:clamp(15px,1.15vw,22px)!important;line-height:1.45!important}
}
@media(max-width:767px){
 .elementor-element-abvis002{padding:40px 16px!important;flex-direction:column!important;gap:0!important}
 .elementor-element-abvisi02{order:-1}
 .elementor-element-abvist02{width:100%!important;max-width:none!important;padding-top:40px!important;text-align:left!important}
 .elementor-element-abvish02 .elementor-heading-title{font-size:32px!important;line-height:43px!important}
 .elementor-element-abvisp02{font-size:18px!important;line-height:27px!important}
}/* End custom CSS */