.elementor-3526 .elementor-element.elementor-element-1cb8804{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-af5270e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--z-index:2;}.elementor-3526 .elementor-element.elementor-element-78f7e8f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-78f7e8f:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-78f7e8f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}.elementor-3526 .elementor-element.elementor-element-fb059fe{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:0px 2px 0px 2px;--border-top-width:0px;--border-right-width:2px;--border-bottom-width:0px;--border-left-width:2px;border-color:#E1E6E8;--border-color:#E1E6E8;--border-radius:0px 0px 0px 0px;--padding-top:0vw;--padding-bottom:2vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-fb059fe.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-fbd0089{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--padding-top:1vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;--z-index:2;}.elementor-3526 .elementor-element.elementor-element-fbd0089:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-fbd0089 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFFD9;}.elementor-3526 .elementor-element.elementor-element-157d7be{--display:flex;--gap:25px 25px;--row-gap:25px;--column-gap:25px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-157d7be.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-3526 .elementor-element.elementor-element-52ccb0e{padding:0vw 0vw 0vw 1vw;text-align:start;}.elementor-3526 .elementor-element.elementor-element-52ccb0e.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:37px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;-webkit-text-stroke-width:0px;stroke-width:0px;-webkit-text-stroke-color:#000;stroke:#000;color:#1F0603;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3526 .elementor-element.elementor-element-2ae01e8{width:var( --container-widget-width, 100% );max-width:100%;padding:0vw 0vw 0vw 1vw;--container-widget-width:100%;--container-widget-flex-grow:0;column-gap:0px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:20px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-2ae01e8.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-2ae01e8 p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-3c33b01{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0vw;--padding-bottom:0vw;--padding-left:1vw;--padding-right:0vw;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button{background-color:#C81922;font-family:"Helvetica", Sans-serif;font-size:20px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.02em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:15px 15px 15px 15px;padding:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button:focus{background-color:#FFFFFF;color:#1F0603;border-color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-5ff520e{padding:0px 0px 0px 0px;}.elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button:focus svg{fill:#1F0603;}.elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button{background-color:#C81922;font-family:"Helvetica", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.02em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:15px 15px 15px 15px;padding:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button:focus{background-color:#FFFFFF;color:#1F0603;border-color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-29a8a01{padding:0px 0px 0px 0px;}.elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button:focus svg{fill:#1F0603;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-5af61fb{width:var( --container-widget-width, 50% );max-width:50%;margin:0vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;--container-widget-width:50%;--container-widget-flex-grow:0;border-style:none;}.elementor-3526 .elementor-element.elementor-element-5af61fb.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-c4b4acf{--display:grid;--min-height:0vh;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:1fr;--grid-auto-flow:row;--align-items:stretch;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1vw;--padding-bottom:1vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3526 .elementor-element.elementor-element-354aa67{--display:flex;}.elementor-3526 .elementor-element.elementor-element-0572b18{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-9049c3b{padding:20px 20px 20px 20px;font-family:"Helvetica", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-7b24a97{--n-accordion-title-font-size:1rem;z-index:10;border-style:none;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-3526 .elementor-element.elementor-element-c15ddf0{--display:flex;}.elementor-3526 .elementor-element.elementor-element-3c09279{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-3c09279.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-ff7220a{padding:20px 20px 20px 20px;font-family:"Helvetica", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-9727f0d{--n-accordion-title-font-size:1rem;z-index:10;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-3526 .elementor-element.elementor-element-ddce282{--display:flex;}.elementor-3526 .elementor-element.elementor-element-86d82a5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-86d82a5.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-920ece6{padding:20px 20px 20px 20px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-b51272b{--n-accordion-title-font-size:1rem;z-index:10;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-3526 .elementor-element.elementor-element-424231b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:2px 0px 2px 0px;--border-top-width:2px;--border-right-width:0px;--border-bottom-width:2px;--border-left-width:0px;border-color:#E1E6E8;--border-color:#E1E6E8;--margin-top:0vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:2vw;--padding-bottom:1vw;--padding-left:2vw;--padding-right:6vw;--z-index:0;}.elementor-3526 .elementor-element.elementor-element-5988cb4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-3526 .elementor-element.elementor-element-74ab297{width:var( --container-widget-width, 40% );max-width:40%;--container-widget-width:40%;--container-widget-flex-grow:0;border-style:none;}.elementor-3526 .elementor-element.elementor-element-74ab297.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-74ab297 img{border-style:none;}.elementor-3526 .elementor-element.elementor-element-ceee145{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E1E6E8;--border-color:#E1E6E8;--border-radius:18px 18px 18px 18px;--margin-top:0vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:3vw;--padding-bottom:3vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3526 .elementor-element.elementor-element-ceee145:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-ceee145 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F3F780;}.elementor-3526 .elementor-element.elementor-element-ceee145.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-a5938b2{width:auto;max-width:auto;padding:0vw 0vw 1vw 0vw;text-align:start;}.elementor-3526 .elementor-element.elementor-element-a5938b2.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-a5938b2 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:28px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-e15cf1d{width:auto;max-width:auto;text-align:start;font-family:"Helvetica", Sans-serif;font-size:19px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-e15cf1d p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-9f3f9d7{width:auto;max-width:auto;padding:0vw 0vw 0vw 0vw;column-gap:0px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:19px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-9f3f9d7.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-9f3f9d7 p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-a7d6c74{width:100%;max-width:100%;background-color:#FFFDFDD9;padding:2vw 1vw 0vw 1vw;text-align:start;}.elementor-3526 .elementor-element.elementor-element-a7d6c74.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-a7d6c74 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:36px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-78b4c4c{background-color:#FFFFFFD9;padding:2vw 2vw 2vw 2vw;text-align:start;font-family:"Helvetica", Sans-serif;font-size:20px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-78b4c4c p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-da31f16{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-da31f16:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-da31f16 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E1E6F080;}.elementor-3526 .elementor-element.elementor-element-61fa336{--display:flex;border-style:solid;--border-style:solid;border-width:0px 2px 0px 2px;--border-top-width:0px;--border-right-width:2px;--border-bottom-width:0px;--border-left-width:2px;border-color:#FFFFFF;--border-color:#FFFFFF;--padding-top:1vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-3526 .elementor-element.elementor-element-f70bf1d{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-35fed8d{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );border-style:none;--border-style:none;--padding-top:0vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;--z-index:0;}.elementor-3526 .elementor-element.elementor-element-9350461{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:3vw 2vw;--row-gap:3vw;--column-gap:2vw;--grid-auto-flow:row;--justify-items:end;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-e1fe451{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-e1fe451:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-e1fe451 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-e1fe451:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-e1fe451, .elementor-3526 .elementor-element.elementor-element-e1fe451::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-d8f3875{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 10px 10px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-d8f3875.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-ae9de12{width:var( --container-widget-width, 105% );max-width:105%;padding:0vw 0vw 0vw 0vw;--container-widget-width:105%;--container-widget-flex-grow:0;}.elementor-3526 .elementor-element.elementor-element-4687456{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-4687456.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-4190e9f{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-4190e9f .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;letter-spacing:-0.05rem;word-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-c2f42fe{padding:10px 10px 10px 10px;column-gap:0px;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-c2f42fe.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-c2f42fe p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-7f3bc46{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-7f3bc46.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-f7a3425{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-f7a3425:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-f7a3425 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-f7a3425:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-f7a3425, .elementor-3526 .elementor-element.elementor-element-f7a3425::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-7c92b17{--display:flex;--border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-7c92b17.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-c8bfba4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-c8bfba4.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-b8c22c9{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-b8c22c9 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.05rem;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-46115ae{padding:10px 10px 10px 10px;column-gap:0px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-46115ae p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-6680654{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-6680654.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-521c293{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-521c293:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-521c293 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-521c293:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-521c293, .elementor-3526 .elementor-element.elementor-element-521c293::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-a8a9e2e{--display:flex;--border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-a8a9e2e.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-e5e91bc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-e5e91bc.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-30466a3{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-30466a3 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.05rem;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-751eda7{padding:10px 10px 10px 10px;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-751eda7 p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-31661a1{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-31661a1.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-c12866a{--display:flex;}.elementor-3526 .elementor-element.elementor-element-f77dfa5{--display:flex;border-style:none;--border-style:none;--padding-top:0vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-f77dfa5.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-4c11284{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:3vw 2vw;--row-gap:3vw;--column-gap:2vw;--grid-auto-flow:row;--justify-items:end;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1vw;--padding-bottom:1vw;--padding-left:1vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-85d2a1f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-85d2a1f:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-85d2a1f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-85d2a1f, .elementor-3526 .elementor-element.elementor-element-85d2a1f::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-125dd12{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 10px 10px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-125dd12.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-8ff2960{padding:0vw 0vw 0vw 0vw;}.elementor-3526 .elementor-element.elementor-element-ea60bc3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-ea60bc3.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-7ee7d9a{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-7ee7d9a .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;letter-spacing:-0.05rem;word-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-789bb4a{padding:10px 10px 10px 10px;column-gap:0px;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-789bb4a.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-789bb4a p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-35f7c8d{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-35f7c8d.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-0c30217{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-0c30217:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-0c30217 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-0c30217:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-0c30217, .elementor-3526 .elementor-element.elementor-element-0c30217::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-5fe74e1{--display:flex;--border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-5fe74e1.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-eb5c621{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-eb5c621.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-1980a18{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-1980a18 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.05rem;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-5db3897{padding:10px 10px 10px 10px;column-gap:0px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-5db3897 p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-f987901{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-f987901.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-608a573{--display:flex;}.elementor-3526 .elementor-element.elementor-element-2951cb7{--display:flex;border-style:none;--border-style:none;--padding-top:0vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-2951cb7.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-7a6d1df{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:3vw 2vw;--row-gap:3vw;--column-gap:2vw;--grid-auto-flow:row;--justify-items:end;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1vw;--padding-bottom:1vw;--padding-left:1vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-89221f7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-89221f7:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-89221f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-89221f7:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-89221f7, .elementor-3526 .elementor-element.elementor-element-89221f7::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-062a799{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 10px 10px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-062a799.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-bf4e965{padding:0vw 0vw 0vw 0vw;}.elementor-3526 .elementor-element.elementor-element-65e1567{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-65e1567.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-b7ba255{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-b7ba255 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;letter-spacing:-0.05rem;word-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-93f4455{padding:10px 10px 10px 10px;column-gap:0px;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-93f4455.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-93f4455 p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-0775873{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-0775873.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-1be2919{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-1be2919:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-1be2919 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-1be2919:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-1be2919, .elementor-3526 .elementor-element.elementor-element-1be2919::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-b445c05{--display:flex;--border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-b445c05.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-55298ad{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-55298ad.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-0241a53{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-0241a53 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.05rem;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-378652c{padding:10px 10px 10px 10px;column-gap:0px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-378652c p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-15f6087{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-15f6087.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-af32874{--display:flex;}.elementor-3526 .elementor-element.elementor-element-e91a38d{--display:flex;border-style:none;--border-style:none;--padding-top:0vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-e91a38d.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-0cbbebd{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:3vw 2vw;--row-gap:3vw;--column-gap:2vw;--grid-auto-flow:row;--justify-items:end;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1vw;--padding-bottom:1vw;--padding-left:1vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-b5a0d2a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-b5a0d2a:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-b5a0d2a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-b5a0d2a, .elementor-3526 .elementor-element.elementor-element-b5a0d2a::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-a6d921f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 10px 10px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-a6d921f.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-639da99{padding:0vw 0vw 0vw 0vw;}.elementor-3526 .elementor-element.elementor-element-c9bf060{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-c9bf060.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-3483079{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-3483079 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;letter-spacing:-0.05rem;word-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-63381d1{padding:10px 10px 10px 10px;column-gap:0px;font-family:"Helvetica", Sans-serif;font-size:13px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-63381d1.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-63381d1 p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-1fd7197{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-1fd7197.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-78dc8cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:2vw;--padding-right:2vw;}.elementor-3526 .elementor-element.elementor-element-78dc8cb:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-78dc8cb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover{border-style:none;--border-radius:10px 10px 10px 10px;--border-top-left-radius:10px;--border-top-right-radius:10px;--border-bottom-right-radius:10px;--border-bottom-left-radius:10px;box-shadow:0px 0px 5px 0px rgba(200.00000000000003, 25.000000000000004, 34.000000000000036, 0.2);}.elementor-3526 .elementor-element.elementor-element-78dc8cb, .elementor-3526 .elementor-element.elementor-element-78dc8cb::before{--border-transition:0.3s;}.elementor-3526 .elementor-element.elementor-element-0ee9172{--display:flex;--border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-0ee9172.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-17cc268{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-17cc268.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-b3d20ee{width:100%;max-width:100%;padding:1vw 0vw 0vw 0vw;text-align:center;}.elementor-3526 .elementor-element.elementor-element-b3d20ee .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.05rem;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-dce805c{padding:10px 10px 10px 10px;column-gap:0px;text-align:start;font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-dce805c p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:#1F0603;color:#1F0603;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button:focus{background-color:#C81922;color:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-adf69df{padding:50px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-adf69df.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button:focus svg{fill:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-e4bb88c{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:center;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:nowrap;--n-tabs-heading-overflow-x:scroll;--n-tabs-title-white-space:nowrap;width:100%;max-width:100%;--n-tabs-title-justify-content:center;--n-tabs-title-text-align:center;--n-tabs-title-border-radius:10px 10px 10px 10px;--n-tabs-title-color:#1F0603;--n-tabs-title-color-active:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-e4bb88c > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#FFFFFF;}.elementor-3526 .elementor-element.elementor-element-e4bb88c.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#C819220D;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;}.elementor-3526 .elementor-element.elementor-element-e4bb88c.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-3526 .elementor-element.elementor-element-e4bb88c.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;}.elementor-3526 .elementor-element.elementor-element-e4bb88c.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-e4bb88c.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:1px 1px 1px 1px;border-color:#646E784D;}.elementor-3526 .elementor-element.elementor-element-e4bb88c [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#1F0603;}:where( .elementor-3526 .elementor-element.elementor-element-e4bb88c.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-content ) > .e-con{border-style:none;--padding-top:0vw;--padding-right:0vw;--padding-bottom:0vw;--padding-left:0vw;}.elementor-3526 .elementor-element.elementor-element-2b24a0a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:dashed;--border-style:dashed;border-width:0px 2px 0px 2px;--border-top-width:0px;--border-right-width:2px;--border-bottom-width:0px;--border-left-width:2px;border-color:#E1E6E8;--border-color:#E1E6E8;--padding-top:0vw;--padding-bottom:3vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-2b24a0a.e-con{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-793da8e{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:0.5;border-style:none;--border-style:none;--padding-top:2vw;--padding-bottom:0vw;--padding-left:1vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-793da8e:not(.elementor-motion-effects-element-type-background), .elementor-3526 .elementor-element.elementor-element-793da8e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-3526 .elementor-element.elementor-element-793da8e::before, .elementor-3526 .elementor-element.elementor-element-793da8e > .elementor-background-video-container::before, .elementor-3526 .elementor-element.elementor-element-793da8e > .e-con-inner > .elementor-background-video-container::before, .elementor-3526 .elementor-element.elementor-element-793da8e > .elementor-background-slideshow::before, .elementor-3526 .elementor-element.elementor-element-793da8e > .e-con-inner > .elementor-background-slideshow::before, .elementor-3526 .elementor-element.elementor-element-793da8e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-3526 .elementor-element.elementor-element-4123184{text-align:center;}.elementor-3526 .elementor-element.elementor-element-4123184 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:32px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-ff3614c{padding:2vw 2vw 2vw 2vw;text-align:center;font-family:"Helvetica", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#1E1E1E;}.elementor-3526 .elementor-element.elementor-element-ff3614c.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-ff3614c p{margin-block-end:0px;}.elementor-3526 .elementor-element.elementor-element-dc61943 .elementor-button{background-color:#C81922;font-family:"Helvetica", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:-0.02em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#C81922;border-radius:15px 15px 15px 15px;padding:10px 10px 10px 10px;}.elementor-3526 .elementor-element.elementor-element-dc61943 .elementor-button:hover, .elementor-3526 .elementor-element.elementor-element-dc61943 .elementor-button:focus{background-color:#FFFFFF;color:#1F0603;border-color:#1F0603;}.elementor-3526 .elementor-element.elementor-element-dc61943{padding:0px 0px 0px 0px;}.elementor-3526 .elementor-element.elementor-element-dc61943 .elementor-button:hover svg, .elementor-3526 .elementor-element.elementor-element-dc61943 .elementor-button:focus svg{fill:#1F0603;}@media(max-width:1200px){.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title{font-size:34px;}.elementor-3526 .elementor-element.elementor-element-2ae01e8{padding:0vw 0vw 0vw 0vw;font-size:18px;}.elementor-3526 .elementor-element.elementor-element-5af61fb{--container-widget-width:50%;--container-widget-flex-grow:0;width:var( --container-widget-width, 50% );max-width:50%;}.elementor-3526 .elementor-element.elementor-element-c4b4acf{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-ceee145{--padding-top:3vw;--padding-bottom:3vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3526 .elementor-element.elementor-element-e15cf1d{font-size:17px;}.elementor-3526 .elementor-element.elementor-element-9f3f9d7{font-size:17px;}.elementor-3526 .elementor-element.elementor-element-a7d6c74 .elementor-heading-title{font-size:28px;}.elementor-3526 .elementor-element.elementor-element-78b4c4c{padding:3vw 3vw 3vw 3vw;}.elementor-3526 .elementor-element.elementor-element-9350461{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-4c11284{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-7a6d1df{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-0cbbebd{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-4123184 .elementor-heading-title{font-size:30px;}.elementor-3526 .elementor-element.elementor-element-ff3614c{padding:3vw 3vw 3vw 3vw;font-size:16px;}}@media(min-width:768px){.elementor-3526 .elementor-element.elementor-element-1cb8804{--content-width:100vw;}.elementor-3526 .elementor-element.elementor-element-fb059fe{--width:80vw;}.elementor-3526 .elementor-element.elementor-element-157d7be{--width:50%;}.elementor-3526 .elementor-element.elementor-element-c4b4acf{--width:100%;}.elementor-3526 .elementor-element.elementor-element-ceee145{--width:60%;}.elementor-3526 .elementor-element.elementor-element-61fa336{--width:80vw;}.elementor-3526 .elementor-element.elementor-element-f70bf1d{--width:100vw;}.elementor-3526 .elementor-element.elementor-element-9350461{--width:50%;}.elementor-3526 .elementor-element.elementor-element-4687456{--width:90%;}.elementor-3526 .elementor-element.elementor-element-c8bfba4{--width:90%;}.elementor-3526 .elementor-element.elementor-element-e5e91bc{--width:90%;}.elementor-3526 .elementor-element.elementor-element-f77dfa5{--width:80vw;}.elementor-3526 .elementor-element.elementor-element-4c11284{--width:50%;}.elementor-3526 .elementor-element.elementor-element-ea60bc3{--width:90%;}.elementor-3526 .elementor-element.elementor-element-eb5c621{--width:90%;}.elementor-3526 .elementor-element.elementor-element-2951cb7{--width:80vw;}.elementor-3526 .elementor-element.elementor-element-7a6d1df{--width:50%;}.elementor-3526 .elementor-element.elementor-element-65e1567{--width:90%;}.elementor-3526 .elementor-element.elementor-element-55298ad{--width:90%;}.elementor-3526 .elementor-element.elementor-element-e91a38d{--width:80vw;}.elementor-3526 .elementor-element.elementor-element-0cbbebd{--width:50%;}.elementor-3526 .elementor-element.elementor-element-c9bf060{--width:90%;}.elementor-3526 .elementor-element.elementor-element-17cc268{--width:90%;}.elementor-3526 .elementor-element.elementor-element-2b24a0a{--width:80vw;}}@media(max-width:1200px) and (min-width:768px){.elementor-3526 .elementor-element.elementor-element-157d7be{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3526 .elementor-element.elementor-element-157d7be{--width:100%;}.elementor-3526 .elementor-element.elementor-element-ceee145{--width:80%;}}@media(max-width:1024px){.elementor-3526 .elementor-element.elementor-element-fb059fe{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-fbd0089{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-157d7be{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-52ccb0e{padding:1vw 0vw 0vw 0vw;text-align:start;}.elementor-3526 .elementor-element.elementor-element-52ccb0e.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title{font-size:3vw;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-2ae01e8{padding:3vw 3vw 3vw 3vw;font-size:16px;word-spacing:10px;}.elementor-3526 .elementor-element.elementor-element-3c33b01{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:25px 25px;--row-gap:25px;--column-gap:25px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-3c33b01.e-con{--align-self:center;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-5ff520e .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-29a8a01 .elementor-button{font-size:14px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-5af61fb{margin:0vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-3526 .elementor-element.elementor-element-5af61fb.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-c4b4acf{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;--padding-top:3vw;--padding-bottom:3vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3526 .elementor-element.elementor-element-9049c3b{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-ff7220a{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-920ece6{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-b51272b{grid-column:span 2;}.elementor-3526 .elementor-element.elementor-element-424231b{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3526 .elementor-element.elementor-element-5988cb4{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3526 .elementor-element.elementor-element-74ab297{--container-widget-width:100vw;--container-widget-flex-grow:0;width:var( --container-widget-width, 100vw );max-width:100vw;}.elementor-3526 .elementor-element.elementor-element-74ab297.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-ceee145{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3526 .elementor-element.elementor-element-a5938b2.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-a5938b2{text-align:center;}.elementor-3526 .elementor-element.elementor-element-a5938b2 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-e15cf1d{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-9f3f9d7{font-size:16px;line-height:1.6em;}.elementor-3526 .elementor-element.elementor-element-a7d6c74 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-78b4c4c{padding:3vw 3vw 3vw 3vw;font-size:16px;word-spacing:10px;}.elementor-3526 .elementor-element.elementor-element-da31f16{--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-61fa336{--padding-top:1vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-9350461{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-4190e9f .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-c2f42fe{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-7f3bc46 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-b8c22c9 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-46115ae{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-6680654 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-30466a3 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-751eda7{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-31661a1 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-4c11284{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-7ee7d9a .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-789bb4a{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-35f7c8d .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-1980a18 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-5db3897{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-f987901 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-7a6d1df{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-b7ba255 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-93f4455{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-0775873 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-0241a53 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-378652c{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-15f6087 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-0cbbebd{--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-3483079 .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-63381d1{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-1fd7197 .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-b3d20ee .elementor-heading-title{font-size:22px;}.elementor-3526 .elementor-element.elementor-element-dce805c{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-adf69df .elementor-button{font-size:14px;}.elementor-3526 .elementor-element.elementor-element-e4bb88c{padding:0vw 0vw 0vw 0vw;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:10px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:10px;}.elementor-3526 .elementor-element.elementor-element-4123184 .elementor-heading-title{font-size:25px;}.elementor-3526 .elementor-element.elementor-element-ff3614c{padding:3vw 3vw 3vw 3vw;text-align:justify;font-size:16px;}.elementor-3526 .elementor-element.elementor-element-dc61943 .elementor-button{font-size:14px;}}@media(max-width:767px){.elementor-3526 .elementor-element.elementor-element-fb059fe{--width:80vw;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-width:0px 2px 0px 2px;--border-top-width:0px;--border-right-width:2px;--border-bottom-width:0px;--border-left-width:2px;--padding-top:0vw;--padding-bottom:2vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-fbd0089{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-157d7be{--width:100%;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:2vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-52ccb0e{padding:1vw 1vw 1vw 1vw;text-align:start;}.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title{font-size:20px;line-height:1.1em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-2ae01e8{width:100%;max-width:100%;padding:3vw 3vw 3vw 3vw;text-align:justify;line-height:1.6em;word-spacing:5px;}.elementor-3526 .elementor-element.elementor-element-2ae01e8.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-3c33b01{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:1vw;--padding-bottom:1vw;--padding-left:0vw;--padding-right:0vw;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-5af61fb{margin:-05vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-3526 .elementor-element.elementor-element-5af61fb.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-c4b4acf{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:3;--grid-auto-flow:row;--padding-top:3vw;--padding-bottom:3vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3526 .elementor-element.elementor-element-b51272b{grid-column:span 1;}.elementor-3526 .elementor-element.elementor-element-424231b{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-3526 .elementor-element.elementor-element-5988cb4{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--padding-top:3vw;--padding-bottom:3vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3526 .elementor-element.elementor-element-74ab297{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-3526 .elementor-element.elementor-element-74ab297.elementor-element{--align-self:center;}.elementor-3526 .elementor-element.elementor-element-ceee145{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:4vw;--padding-bottom:4vw;--padding-left:4vw;--padding-right:4vw;}.elementor-3526 .elementor-element.elementor-element-a5938b2{padding:0vw 0vw 3vw 0vw;}.elementor-3526 .elementor-element.elementor-element-a5938b2 .elementor-heading-title{font-size:18px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-e15cf1d{line-height:1.7em;word-spacing:5px;}.elementor-3526 .elementor-element.elementor-element-9f3f9d7{padding:3vw 3vw 3vw 3vw;}.elementor-3526 .elementor-element.elementor-element-a7d6c74{padding:3vw 3vw 3vw 3vw;text-align:start;}.elementor-3526 .elementor-element.elementor-element-a7d6c74.elementor-element{--align-self:flex-start;}.elementor-3526 .elementor-element.elementor-element-a7d6c74 .elementor-heading-title{font-size:18px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-78b4c4c{padding:3vw 3vw 3vw 3vw;line-height:1.6em;}.elementor-3526 .elementor-element.elementor-element-da31f16{--padding-top:2vw;--padding-bottom:2vw;--padding-left:0vw;--padding-right:0vw;}.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-3526 .elementor-element.elementor-element-9350461{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-4190e9f .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-b8c22c9 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-30466a3 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-4c11284{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-7ee7d9a .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-1980a18 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-7a6d1df{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-b7ba255 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-0241a53 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-0cbbebd{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3526 .elementor-element.elementor-element-3483079 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-b3d20ee .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-e4bb88c{padding:0vw 1vw 0vw 1vw;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:10px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:10px;}.elementor-3526 .elementor-element.elementor-element-2b24a0a{--width:80vw;}.elementor-3526 .elementor-element.elementor-element-793da8e{--padding-top:4vw;--padding-bottom:00vw;--padding-left:01vw;--padding-right:00vw;}.elementor-3526 .elementor-element.elementor-element-4123184 .elementor-heading-title{font-size:22px;line-height:1.1em;}.elementor-3526 .elementor-element.elementor-element-ff3614c{padding:3vw 3vw 3vw 3vw;text-align:justify;word-spacing:5px;}}/* Start custom CSS for heading, class: .elementor-element-52ccb0e */.elementor-3526 .elementor-element.elementor-element-52ccb0e {
  min-width: 0;
}

.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title {
  --fit-size: 72px;
  font-size: var(--fit-size);
  margin: 0;
  max-width: 100%;
}

.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title .line-1,
.elementor-3526 .elementor-element.elementor-element-52ccb0e .elementor-heading-title .line-2 {
  display: block;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ff520e */@media (max-width: 1975px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 18px !important;
    }
}

@media (max-width: 1500px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 18px !important;
    }
}

@media (max-width: 1200px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 16px !important;
    }
}

@media (max-width: 1024px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 14px !important;
    }
}

@media (max-width: 767px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-29a8a01 */@media (max-width: 1975px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 16px !important;
    }
}

@media (max-width: 1500px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 14px !important;
    }
}

@media (max-width: 1200px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}

@media (max-width: 1024px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}

@media (max-width: 767px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fbd0089 */.text-image-row{
  display: flex;
  align-items: flex-start;
  gap:40px;
}

.text-col{
  flex: 1 1 auto;
  min-width: 0;
}

.image-col{
  flex: 0 1 clamp(200px, 50vw, 1000px) !important;
  min-width: 140px;
}

.image-col img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-width: 100%;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7b24a97 *//* ========= TRUST ACCORDION / RESPONSIVE CLEAN VERSION ========= */

.trust-accordion {
  --n-accordion-border-color: rgb(225, 230, 232);
  --n-accordion-background-color: #fff;
  --n-accordion-item-title-color: rgb(31, 6, 3);
  --n-accordion-item-title-color-hover: rgb(200, 25, 34);
  --n-accordion-item-title-color-active: rgb(200, 25, 34);
  --n-accordion-icon-color: rgb(200, 25, 34);
  --n-accordion-icon-color-hover: rgb(200, 25, 34);
  --n-accordion-icon-color-active: rgb(200, 25, 34);
}

/* global box model */
.trust-accordion,
.trust-accordion *,
.trust-accordion *::before,
.trust-accordion *::after {
  box-sizing: border-box;
}

/* item */
.trust-accordion .e-n-accordion-item {
  border: 1px solid rgb(225, 230, 232) !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(31, 6, 3, 0.04);
  transform: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* hover */
.trust-accordion .e-n-accordion-item:hover {
  border-color: rgb(200, 25, 34) !important;
  transform: none !important;
}

/* header / title row */
.trust-accordion .e-n-accordion-item-title {
  background: rgb(240, 243, 247) !important;
  border: 0 !important;
  margin: 0 !important;

  /* responsive statt harter fixed height */
  padding: clamp(14px, 1.2vw, 18px) clamp(16px, 2vw, 22px) !important;
  min-height: 64px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  align-items: center !important;
  column-gap: clamp(10px, 1vw, 12px) !important;

  line-height: normal !important;
  transform: none !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  animation: none !important;
  backface-visibility: hidden !important;
  -webkit-font-smoothing: antialiased;
  will-change: auto !important;
}

/* active / open state */
.trust-accordion .e-n-accordion-item[open] .e-n-accordion-item-title,
.trust-accordion .e-n-accordion-item-title[aria-expanded="true"] {
  background: rgb(225, 230, 232) !important;
  padding: clamp(14px, 1.2vw, 18px) clamp(16px, 2vw, 22px) !important;
  min-height: 64px !important;
  border: 0 !important;
}

/* title text */
.trust-accordion .e-n-accordion-item-title-text {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  min-width: 0 !important;

  font-weight: 600 !important;
  font-size: clamp(15px, 1vw + 0.45rem, 18px) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.35 !important;

  color: rgb(31, 6, 3) !important;
  transform: none !important;
  transition: color 0.2s ease !important;
  animation: none !important;
  backface-visibility: hidden !important;

  /* wichtig für mobile */
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

/* open text color */
.trust-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-text,
.trust-accordion .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-text {
  color: rgb(200, 25, 34) !important;
}

/* icon wrapper */
.trust-accordion .e-n-accordion-item-title-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: end !important;

  border-radius: 999px !important;
  background: rgb(240, 243, 247) !important;
  border: 1px solid rgb(225, 230, 232) !important;

  flex-shrink: 0 !important;
  line-height: 1 !important;
  transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
  animation: none !important;
  backface-visibility: hidden !important;
}

/* icon wrapper hover/open */
.trust-accordion .e-n-accordion-item:hover .e-n-accordion-item-title-icon,
.trust-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon,
.trust-accordion .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon {
  border-color: rgb(200, 25, 34) !important;
  background: rgb(225, 230, 232) !important;
}

/* icon */
.trust-accordion .e-n-accordion-item-title-icon i,
.trust-accordion .e-n-accordion-item-title-icon svg {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;

  color: rgb(200, 25, 34) !important;
  fill: rgb(200, 25, 34) !important;
  stroke: rgb(200, 25, 34) !important;

  line-height: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  backface-visibility: hidden !important;
}

.trust-accordion .e-n-accordion-item-title-icon i::before {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* content */
.trust-accordion .e-n-accordion-item-content {
  background: #fff !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 8px clamp(16px, 2vw, 22px) clamp(18px, 2vw, 20px) clamp(16px, 2vw, 22px) !important;

  color: rgb(30, 30, 30) !important;
  line-height: 1.65 !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
  backface-visibility: hidden !important;
}

/* content text */
.trust-accordion .e-n-accordion-item-content p,
.trust-accordion .e-n-accordion-item-content div {
  margin: 0 !important;
  overflow-wrap: anywhere;
}

/* focus */
.trust-accordion .e-n-accordion-item-title:focus-visible {
  outline: 2px solid rgba(200, 25, 34, 0.22) !important;
  outline-offset: 2px !important;
}

/* remove pseudo separators */
.trust-accordion .e-n-accordion-item::before,
.trust-accordion .e-n-accordion-item::after,
.trust-accordion .e-n-accordion-item-title::before,
.trust-accordion .e-n-accordion-item-title::after,
.trust-accordion .e-n-accordion-item-content::before,
.trust-accordion .e-n-accordion-item-content::after {
  display: none !important;
  content: none !important;
}

/* ===== TABLET ===== */
@media (max-width: 1024px) {
  .trust-accordion .e-n-accordion-item {
    border-radius: 16px !important;
  }

  .trust-accordion .e-n-accordion-item-title {
    grid-template-columns: minmax(0, 1fr) 32px !important;
    min-height: 60px !important;
    padding: 14px 18px !important;
  }

  .trust-accordion .e-n-accordion-item[open] .e-n-accordion-item-title,
  .trust-accordion .e-n-accordion-item-title[aria-expanded="true"] {
    min-height: 60px !important;
    padding: 14px 18px !important;
  }

  .trust-accordion .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .trust-accordion .e-n-accordion-item-title-icon i,
  .trust-accordion .e-n-accordion-item-title-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  .trust-accordion .e-n-accordion-item-content {
    padding: 8px 18px 18px 18px !important;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
  .trust-accordion .e-n-accordion-item {
    border-radius: 14px !important;
  }

  .trust-accordion .e-n-accordion-item-title {
    grid-template-columns: minmax(0, 1fr) 30px !important;
    column-gap: 10px !important;
    min-height: 56px !important;
    padding: 12px 14px !important;
  }

  .trust-accordion .e-n-accordion-item[open] .e-n-accordion-item-title,
  .trust-accordion .e-n-accordion-item-title[aria-expanded="true"] {
    min-height: 56px !important;
    padding: 12px 14px !important;
  }

  .trust-accordion .e-n-accordion-item-title-text {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .trust-accordion .e-n-accordion-item-title-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
  }

  .trust-accordion .e-n-accordion-item-title-icon i,
  .trust-accordion .e-n-accordion-item-title-icon svg {
    width: 14px !important;
    height: 14px !important;
    font-size: 14px !important;
  }

  .trust-accordion .e-n-accordion-item-content {
    padding: 8px 14px 16px 14px !important;
    line-height: 1.6 !important;
  }
}

/* ===== VERY SMALL DEVICES ===== */
@media (max-width: 480px) {
  .trust-accordion .e-n-accordion-item-title {
    padding: 11px 12px !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
  }

  .trust-accordion .e-n-accordion-item[open] .e-n-accordion-item-title,
  .trust-accordion .e-n-accordion-item-title[aria-expanded="true"] {
    padding: 11px 12px !important;
  }

  .trust-accordion .e-n-accordion-item-title-text {
    font-size: 14px !important;
  }

  .trust-accordion .e-n-accordion-item-title-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
  }

  .trust-accordion .e-n-accordion-item-title-icon i,
  .trust-accordion .e-n-accordion-item-title-icon svg {
    width: 13px !important;
    height: 13px !important;
    font-size: 13px !important;
  }

  .trust-accordion .e-n-accordion-item-content {
    padding: 8px 12px 15px 12px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1fe451 */.elementor-3526 .elementor-element.elementor-element-e1fe451{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7a3425 */.elementor-3526 .elementor-element.elementor-element-f7a3425{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-521c293 */.elementor-3526 .elementor-element.elementor-element-521c293{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9350461 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b2c9758 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-85d2a1f */.elementor-3526 .elementor-element.elementor-element-85d2a1f{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c30217 */.elementor-3526 .elementor-element.elementor-element-0c30217{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c11284 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae7f593 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-89221f7 */.elementor-3526 .elementor-element.elementor-element-89221f7{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1be2919 */.elementor-3526 .elementor-element.elementor-element-1be2919{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a6d1df *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-58094d9 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b5a0d2a */.elementor-3526 .elementor-element.elementor-element-b5a0d2a{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78dc8cb */.elementor-3526 .elementor-element.elementor-element-78dc8cb{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0cbbebd *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d39231 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1fe451 */.elementor-3526 .elementor-element.elementor-element-e1fe451{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7a3425 */.elementor-3526 .elementor-element.elementor-element-f7a3425{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-521c293 */.elementor-3526 .elementor-element.elementor-element-521c293{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9350461 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b2c9758 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-85d2a1f */.elementor-3526 .elementor-element.elementor-element-85d2a1f{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c30217 */.elementor-3526 .elementor-element.elementor-element-0c30217{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c11284 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae7f593 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-89221f7 */.elementor-3526 .elementor-element.elementor-element-89221f7{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1be2919 */.elementor-3526 .elementor-element.elementor-element-1be2919{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a6d1df *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-58094d9 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b5a0d2a */.elementor-3526 .elementor-element.elementor-element-b5a0d2a{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78dc8cb */.elementor-3526 .elementor-element.elementor-element-78dc8cb{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0cbbebd *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d39231 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1fe451 */.elementor-3526 .elementor-element.elementor-element-e1fe451{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7a3425 */.elementor-3526 .elementor-element.elementor-element-f7a3425{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-521c293 */.elementor-3526 .elementor-element.elementor-element-521c293{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9350461 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b2c9758 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-85d2a1f */.elementor-3526 .elementor-element.elementor-element-85d2a1f{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c30217 */.elementor-3526 .elementor-element.elementor-element-0c30217{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c11284 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae7f593 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-89221f7 */.elementor-3526 .elementor-element.elementor-element-89221f7{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1be2919 */.elementor-3526 .elementor-element.elementor-element-1be2919{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a6d1df *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-58094d9 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b5a0d2a */.elementor-3526 .elementor-element.elementor-element-b5a0d2a{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78dc8cb */.elementor-3526 .elementor-element.elementor-element-78dc8cb{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0cbbebd *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d39231 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1fe451 */.elementor-3526 .elementor-element.elementor-element-e1fe451{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7a3425 */.elementor-3526 .elementor-element.elementor-element-f7a3425{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-521c293 */.elementor-3526 .elementor-element.elementor-element-521c293{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9350461 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b2c9758 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-85d2a1f */.elementor-3526 .elementor-element.elementor-element-85d2a1f{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c30217 */.elementor-3526 .elementor-element.elementor-element-0c30217{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c11284 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae7f593 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-89221f7 */.elementor-3526 .elementor-element.elementor-element-89221f7{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1be2919 */.elementor-3526 .elementor-element.elementor-element-1be2919{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a6d1df *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-58094d9 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b5a0d2a */.elementor-3526 .elementor-element.elementor-element-b5a0d2a{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78dc8cb */.elementor-3526 .elementor-element.elementor-element-78dc8cb{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0cbbebd *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d39231 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1fe451 */.elementor-3526 .elementor-element.elementor-element-e1fe451{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-e1fe451:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7a3425 */.elementor-3526 .elementor-element.elementor-element-f7a3425{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-f7a3425:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-521c293 */.elementor-3526 .elementor-element.elementor-element-521c293{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-521c293:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9350461 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b2c9758 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-85d2a1f */.elementor-3526 .elementor-element.elementor-element-85d2a1f{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-85d2a1f:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c30217 */.elementor-3526 .elementor-element.elementor-element-0c30217{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-0c30217:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c11284 *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae7f593 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-89221f7 */.elementor-3526 .elementor-element.elementor-element-89221f7{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-89221f7:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1be2919 */.elementor-3526 .elementor-element.elementor-element-1be2919{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-1be2919:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a6d1df *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-58094d9 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b5a0d2a */.elementor-3526 .elementor-element.elementor-element-b5a0d2a{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-b5a0d2a:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78dc8cb */.elementor-3526 .elementor-element.elementor-element-78dc8cb{
  transition: transform 180ms ease, box-shadow 180ms ease;
  transform-origin: center;
  will-change: transform;
  position: relative;
  z-index: 1;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover{
  transform: scale(1.01);
  z-index: 50;
}

/* inline svg von Elementor ausblenden */
.card-mpt-btn .elementor-button-icon svg{
  display: none !important;
}

/* Button / Wrapper sauber ausrichten */
.card-mpt-btn .elementor-button,
.card-mpt-btn .elementor-button-content-wrapper{
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Icon-Box */
.card-mpt-btn .elementor-button-icon{
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 180ms ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* SVG-Pfeil dauerhaft anzeigen */
.card-mpt-btn .elementor-button-icon::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c9.4-9.4 9.4-24.6 0-33.9L246.6 52.7c-9.4-9.4-24.6-9.4-33.9 0l-22.7 22.6c-9.5 9.5-9.3 25 .4 34.3L312.7 224H24c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h288.7L190.4 418.4c-9.8 9.3-10 24.8-.4 34.3l22.7 22.6c9.4 9.4 24.6 9.4 33.9 0l192-192.1z'/%3E%3C/svg%3E");

  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Text anfangs verstecken */
.card-mpt-btn .elementor-button-text{
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width .4s ease, opacity .25s ease, margin-left .4s ease;
}


.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-content-wrapper{
  gap: 6px;
}

.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-text{
  max-width: 140px;
  opacity: 1;
}

/* leichtes Gegenskalieren, damit der SVG-Pfeil nicht fett wirkt */
.elementor-3526 .elementor-element.elementor-element-78dc8cb:hover .card-mpt-btn .elementor-button-icon{
  transform: scale(0.9901);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0cbbebd *//* === SLIDER WRAPPER === */
.leistungen-wrap {
  overflow: hidden;
}

/* === SLIDER === */
.leistungen-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(460px, calc(100vw - 48px)) !important;
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;
  align-items: stretch;
  box-sizing: border-box;
  padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-padding-inline: max(16px, calc((100% - min(460px, calc(100vw - 48px))) / 2));
  scroll-snap-type: x mandatory;
}
.leistungen-scroll::-webkit-scrollbar {
  display: none;
}

/* === CARD === */
/* Vertikales Grid: Bild | Headline | Text (flexibel) | Button */
.leistungen-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 16px;
  height: 100%;
  min-width: 0;
  scroll-snap-align: center;
  box-sizing: border-box;
}

/* === BILD === */
.leistungen-image-wrap {
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.leistungen-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* === HEADLINE === */
/* Reserviert immer Platz für 2 Zeilen, schneidet längere ab */
.leistungen-card .elementor-heading-title,
.leistungen-card h2,
.leistungen-card h3 {
  min-height: calc(2 * 1.3em);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  line-height: 1.3;
}

/* === TEXT (clamped, expandable on hover/focus) === */
.leistungen-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  transition: -webkit-line-clamp 0.3s ease;
  cursor: pointer;
}

/* Wenn User auf Card hovert / mit Tastatur fokussiert → voller Text */
.leistungen-card:hover .leistungen-content,
.leistungen-card:focus-within .leistungen-content,
.leistungen-content:hover,
.leistungen-content:focus,
.leistungen-content.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* === BUTTON === */
.leistungen-button {
  margin-top: auto;
  align-self: end;
}

/* === MOBILE (bis 767px) === */
@media (max-width: 767px) {
  .leistungen-scroll {
    grid-auto-columns: calc(100vw - 80px) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .leistungen-card {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    min-width: 0 !important;
    gap: 12px;
  }
  .leistungen-card .elementor-heading-title,
  .leistungen-card h2,
  .leistungen-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    min-height: calc(3 * 1.25em) !important;
  }
  .leistungen-content,
  .leistungen-content p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 4 !important;
  }
  .leistungen-image-wrap {
    height: 200px;
  }
}

/* === TABLET (768px - 1024px) === */
@media (min-width: 768px) and (max-width: 1024px) {
  .leistungen-scroll {
    grid-auto-columns: min(460px, calc(100vw - 120px)) !important;
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .leistungen-card {
    max-width: min(460px, calc(100vw - 120px)) !important;
    min-width: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d39231 */.leistungen-scroll-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 14px);
  margin-top: 18px;
  flex-wrap: nowrap;
}

.leistungen-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  min-height: 44px;
}

.leistungen-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(17,17,17,0.18);
  opacity: 0.7;
  transition:
    transform 0.25s ease,
    width 0.25s ease,
    background 0.25s ease,
    opacity 0.25s ease;
  flex: 0 0 auto;
}

.leistungen-dot.is-visible {
  width: 22px;
  background: linear-gradient(90deg, #111111 0%, #4a4a4a 100%);
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.leistungen-scroll-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 4vw, 46px);
  height: clamp(40px, 4vw, 46px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #111111;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
  flex: 0 0 auto;
}

.leistungen-scroll-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.leistungen-scroll-btn:active {
  transform: translateY(0);
}

.leistungen-scroll-btn:focus-visible {
  outline: 2px solid rgba(17,17,17,0.22);
  outline-offset: 3px;
}

.leistungen-scroll-btn:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.leistungen-scroll-btn.is-left,
.leistungen-scroll-btn.is-right {
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 767px) {
  .leistungen-scroll-ui {
    gap: 10px;
    margin-top: 14px;
  }

  .leistungen-dots {
    gap: 7px;
    padding: 7px 10px;
    min-height: 40px;
  }

  .leistungen-dot {
    width: 7px;
    height: 7px;
  }

  .leistungen-dot.is-visible {
    width: 18px;
  }

  .leistungen-scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.leistungen-scroll-btn:hover {
  color: #111111 !important;
  background: rgba(255,255,255,0.55);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 0 0 2px rgba(215, 0, 0, 0.8);
}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-e4bb88c *//* Tab-Leiste: nicht umbrechen, horizontal scrollen */
.remember-tabs .elementor-tabs-wrapper {
  display: flex;
  flex-wrap: nowrap;              /* Kein Umbruch mehr */
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;  /* Snappt sauber auf Tabs */
  scrollbar-width: none;          /* Firefox: Scrollbar weg */
  -ms-overflow-style: none;       /* IE/Edge: Scrollbar weg */
  -webkit-overflow-scrolling: touch;
  position: relative;
}

/* Chrome/Safari: Scrollbar ausblenden */
.remember-tabs .elementor-tabs-wrapper::-webkit-scrollbar {
  display: none;
}

/* Einzelne Tabs: nicht schrumpfen, snappen */
.remember-tabs .elementor-tab-title {
  flex-shrink: 0;
  white-space: nowrap;
  scroll-snap-align: start;
}

/* Fade-Effekt rechts: signalisiert "da geht's weiter" */
.remember-tabs {
  position: relative;
}

.remember-tabs::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 50px;                   /* Höhe der Tab-Leiste, ggf. anpassen */
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%   /* An deine Hintergrundfarbe anpassen! */
  );
  pointer-events: none;
  z-index: 2;
}

/* Optional: Tabs kompakter auf Mobile */
@media (max-width: 767px) {
  .remember-tabs .elementor-tab-title {
    padding: 10px 16px;
    font-size: 14px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-dc61943 */@media (max-width: 1975px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 16px !important;
    }
}

@media (max-width: 1500px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 14px !important;
    }
}

@media (max-width: 1200px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}

@media (max-width: 1024px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}

@media (max-width: 767px) {
    .kontakt-btn .elementor-button,
    .kontakt-btn .elementor-button-text,
    .kontakt-btn .elementor-button-icon {
        font-size: 12px !important;
    }
}/* End custom CSS */