.elementor-32 .elementor-element.elementor-element-cc1c72e{--display:flex;--min-height:491px;--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;--justify-content:center;--align-items:center;--overlay-opacity:0.06;--border-radius:0px 0px 24px 24px;--padding-top:42px;--padding-bottom:42px;--padding-left:42px;--padding-right:42px;}.elementor-32 .elementor-element.elementor-element-cc1c72e:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-cc1c72e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://viplocations.ch/wp-content/uploads/2025/12/house-remodelling.webp");background-position:center center;background-size:cover;}.elementor-32 .elementor-element.elementor-element-cc1c72e::before, .elementor-32 .elementor-element.elementor-element-cc1c72e > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-cc1c72e > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-cc1c72e > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-cc1c72e > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-cc1c72e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-32 .elementor-element.elementor-element-64a252f{--display:flex;--overflow:hidden;--margin-top:0px;--margin-bottom:4px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-32 .elementor-element.elementor-element-49ca75c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-32 .elementor-element.elementor-element-49ca75c.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-49ca75c .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:3.4rem;font-weight:700;line-height:1.2em;letter-spacing:0px;color:var( --e-global-color-7bc95d6 );}.elementor-32 .elementor-element.elementor-element-4c4ecec{--display:flex;--margin-top:-8px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-5f4eeab{width:var( --container-widget-width, 52% );max-width:52%;--container-widget-width:52%;--container-widget-flex-grow:0;text-align:center;}.elementor-32 .elementor-element.elementor-element-5f4eeab.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-5f4eeab .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:18px;font-weight:500;text-transform:none;line-height:1.5em;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-32 .elementor-element.elementor-element-5004a48 .elementor-button{background-color:#02010100;font-family:"Inter", Sans-serif;font-size:16px;border-radius:4px 4px 4px 4px;padding:16px 16px 16px 16px;}.elementor-32 .elementor-element.elementor-element-5004a48{width:var( --container-widget-width, 19% );max-width:19%;--container-widget-width:19%;--container-widget-flex-grow:0;}.elementor-32 .elementor-element.elementor-element-5004a48.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-32 .elementor-element.elementor-element-886ab4d{--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;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:68px;--padding-bottom:68px;--padding-left:10px;--padding-right:10px;}.elementor-32 .elementor-element.elementor-element-76835e7{--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;--overflow:hidden;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-32 .elementor-element.elementor-element-6244bd3 img{border-radius:8px 8px 8px 8px;}.elementor-32 .elementor-element.elementor-element-53b0668{--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;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:32px;}.elementor-32 .elementor-element.elementor-element-74fb7e8{width:var( --container-widget-width, 84% );max-width:84%;--container-widget-width:84%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-74fb7e8 > .elementor-widget-container{margin:0px 0px -10px 0px;}.elementor-32 .elementor-element.elementor-element-74fb7e8.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-74fb7e8 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:34px;font-weight:600;line-height:1.2em;color:#364151;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-32 .elementor-element.elementor-element-aeceb91{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;font-family:"Figtree", Sans-serif;font-size:16px;font-weight:500;color:var( --e-global-color-be1ad72 );}.elementor-32 .elementor-element.elementor-element-aeceb91 > .elementor-widget-container{margin:0px 0px -7px 0px;}.elementor-32 .elementor-element.elementor-element-aeceb91.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-af5318e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-1435eea .elementor-button{background-color:#61CE7000;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:500;fill:#25351B;color:#25351B;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-1435eea .elementor-button:hover, .elementor-32 .elementor-element.elementor-element-1435eea .elementor-button:focus{background-color:#FFC80000;}.elementor-32 .elementor-element.elementor-element-1435eea > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 6px 0px;}.elementor-32 .elementor-element.elementor-element-1435eea.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-1435eea .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-32 .elementor-element.elementor-element-9d778b5{--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;}.elementor-32 .elementor-element.elementor-element-285fcfa{--display:flex;}.elementor-32 .elementor-element.elementor-element-e7f3990{--display:flex;--min-height:500px;--justify-content:space-between;--overlay-opacity:1;--border-radius:8px 8px 8px 8px;--padding-top:100px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-e7f3990:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-e7f3990 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;background-image:url("https://viplocations.ch/wp-content/uploads/2025/12/system-redesign.webp");background-size:cover;}.elementor-32 .elementor-element.elementor-element-e7f3990::before, .elementor-32 .elementor-element.elementor-element-e7f3990 > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-e7f3990 > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-e7f3990 > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-e7f3990 > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-e7f3990 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #00000038 0%, #141911 100%);}.elementor-32 .elementor-element.elementor-element-3d8487e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-c494643{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-c494643 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-c494643 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:1.3rem;font-weight:600;line-height:1.3em;color:#FFFDF3;}.elementor-32 .elementor-element.elementor-element-b5066a9 > .elementor-widget-container{margin:0px 0px -6px 0px;}.elementor-32 .elementor-element.elementor-element-b5066a9{text-align:left;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-32 .elementor-element.elementor-element-c795096 .elementor-button{background-color:#61CE7000;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:400;text-transform:uppercase;fill:#D2D2CD;color:#D2D2CD;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-c795096 .elementor-button:hover, .elementor-32 .elementor-element.elementor-element-c795096 .elementor-button:focus{background-color:#FFC80000;}.elementor-32 .elementor-element.elementor-element-c795096 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-c795096.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-45a3d26{--display:flex;}.elementor-32 .elementor-element.elementor-element-4e7cd59{--display:flex;--min-height:500px;--justify-content:space-between;--overlay-opacity:1;--border-radius:8px 8px 8px 8px;--padding-top:100px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-4e7cd59:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-4e7cd59 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;background-image:url("https://viplocations.ch/wp-content/uploads/2025/12/married-redesign.webp");background-position:center center;background-size:cover;}.elementor-32 .elementor-element.elementor-element-4e7cd59::before, .elementor-32 .elementor-element.elementor-element-4e7cd59 > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-4e7cd59 > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-4e7cd59 > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-4e7cd59 > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-4e7cd59 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #00000038 0%, #141911 100%);}.elementor-32 .elementor-element.elementor-element-b33e1d7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-f586fc1{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-f586fc1 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-f586fc1 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:1.3rem;font-weight:600;line-height:1.3em;color:#FFFDF3;}.elementor-32 .elementor-element.elementor-element-297648d > .elementor-widget-container{margin:0px 0px -6px 0px;}.elementor-32 .elementor-element.elementor-element-297648d{text-align:left;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-32 .elementor-element.elementor-element-2fdaabb .elementor-button{background-color:#61CE7000;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:400;text-transform:uppercase;fill:#D2D2CD;color:#D2D2CD;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-2fdaabb .elementor-button:hover, .elementor-32 .elementor-element.elementor-element-2fdaabb .elementor-button:focus{background-color:#FFC80000;}.elementor-32 .elementor-element.elementor-element-2fdaabb > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-2fdaabb.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-bf2ae69{--display:flex;}.elementor-32 .elementor-element.elementor-element-90e47de{--display:flex;--min-height:500px;--justify-content:space-between;--overlay-opacity:1;--border-radius:8px 8px 8px 8px;--padding-top:100px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-90e47de:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-90e47de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;background-image:url("https://viplocations.ch/wp-content/uploads/2025/12/complete-renovation.webp");background-position:center right;background-size:cover;}.elementor-32 .elementor-element.elementor-element-90e47de::before, .elementor-32 .elementor-element.elementor-element-90e47de > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-90e47de > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-90e47de > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-90e47de > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-90e47de > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #00000038 0%, #141911 100%);}.elementor-32 .elementor-element.elementor-element-a7cd111{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-6d0d8cb{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-6d0d8cb > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-6d0d8cb .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:1.3rem;font-weight:600;line-height:1.3em;color:#FFFDF3;}.elementor-32 .elementor-element.elementor-element-ad1b98c > .elementor-widget-container{margin:0px 0px -6px 0px;}.elementor-32 .elementor-element.elementor-element-ad1b98c{text-align:left;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-32 .elementor-element.elementor-element-dc66486 .elementor-button{background-color:#61CE7000;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:400;text-transform:uppercase;fill:#D2D2CD;color:#D2D2CD;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-dc66486 .elementor-button:hover, .elementor-32 .elementor-element.elementor-element-dc66486 .elementor-button:focus{background-color:#FFC80000;}.elementor-32 .elementor-element.elementor-element-dc66486 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-dc66486.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-85a4959{--display:flex;}.elementor-32 .elementor-element.elementor-element-204ca88{--display:flex;--min-height:500px;--justify-content:space-between;--overlay-opacity:1;--border-radius:8px 8px 8px 8px;--padding-top:100px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-204ca88:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-204ca88 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;background-image:url("https://viplocations.ch/wp-content/uploads/2025/12/sustainable-renovation.webp");background-position:center right;background-size:cover;}.elementor-32 .elementor-element.elementor-element-204ca88::before, .elementor-32 .elementor-element.elementor-element-204ca88 > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-204ca88 > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-204ca88 > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-204ca88 > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-204ca88 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #00000038 0%, #141911 100%);}.elementor-32 .elementor-element.elementor-element-0a02275{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-960b2f7{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-960b2f7 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-960b2f7 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:1.3rem;font-weight:600;line-height:1.3em;color:#FFFDF3;}.elementor-32 .elementor-element.elementor-element-3b771f4 > .elementor-widget-container{margin:0px 0px -6px 0px;}.elementor-32 .elementor-element.elementor-element-3b771f4{text-align:left;font-family:"Figtree", Sans-serif;font-size:15px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-32 .elementor-element.elementor-element-573214d .elementor-button{background-color:#61CE7000;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:400;text-transform:uppercase;fill:#D2D2CD;color:#D2D2CD;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-573214d .elementor-button:hover, .elementor-32 .elementor-element.elementor-element-573214d .elementor-button:focus{background-color:#FFC80000;}.elementor-32 .elementor-element.elementor-element-573214d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-573214d.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-4c1120c{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-offset-size:40px;--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-arrow-prev-left-align:100%;--e-n-carousel-arrow-prev-translate-x:-100%;--e-n-carousel-arrow-prev-left-position:-40px;--e-n-carousel-arrow-prev-top-align:100%;--e-n-carousel-arrow-prev-translate-y:-100%;--e-n-carousel-arrow-prev-top-position:20px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:100%;--e-n-carousel-arrow-next-translate-y:-100%;--e-n-carousel-arrow-next-top-position:20px;--e-n-carousel-arrow-size:17px;--e-n-carousel-fraction-horizontal-position:0px;--e-n-carousel-fraction-horizontal-transform:0%;--e-n-carousel-fraction-horizontal-offset:10px;--e-n-carousel-fraction-vertical-position:100%;--e-n-carousel-fraction-vertical-transform:-100%;--e-n-carousel-fraction-vertical-offset:0px;}.elementor-32 .elementor-element.elementor-element-4c1120c :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-radius:45px 45px 45px 45px;padding:8px 8px 8px 8px;}.elementor-32 .elementor-element.elementor-element-4c1120c :is(.elementor-swiper-button-prev:hover, .elementor-swiper-button-next:hover) {border-style:solid;}.elementor-32 .elementor-element.elementor-element-9f72ff1{--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;--padding-top:42px;--padding-bottom:68px;--padding-left:10px;--padding-right:10px;}.elementor-32 .elementor-element.elementor-element-4050b30{--display:flex;--overlay-opacity:0.41;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-radius:08px 08px 08px 08px;--padding-top:86px;--padding-bottom:86px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-4050b30:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-4050b30 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-be1ad72 );}.elementor-32 .elementor-element.elementor-element-4050b30::before, .elementor-32 .elementor-element.elementor-element-4050b30 > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-4050b30 > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-4050b30 > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-4050b30 > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-4050b30 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://viplocations.ch/wp-content/uploads/2025/12/remodel-closing-img-bg.webp");--background-overlay:'';background-position:center center;background-size:cover;}.elementor-32 .elementor-element.elementor-element-8e474aa{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;text-align:center;}.elementor-32 .elementor-element.elementor-element-8e474aa > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-8e474aa.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-8e474aa .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:34px;font-weight:600;line-height:1.2em;color:#FFFFFF;}.elementor-32 .elementor-element.elementor-element-2731d33{width:var( --container-widget-width, 52% );max-width:52%;--container-widget-width:52%;--container-widget-flex-grow:0;text-align:center;font-family:"Figtree", Sans-serif;font-size:16px;font-weight:500;color:var( --e-global-color-a2f24a9 );}.elementor-32 .elementor-element.elementor-element-2731d33 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-2731d33.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-8fc6b87 .elementor-button{background-color:#02010100;font-family:"Inter", Sans-serif;font-size:16px;border-radius:4px 4px 4px 4px;padding:16px 16px 16px 16px;}.elementor-32 .elementor-element.elementor-element-8fc6b87{width:var( --container-widget-width, 19% );max-width:19%;--container-widget-width:19%;--container-widget-flex-grow:0;}.elementor-32 .elementor-element.elementor-element-8fc6b87.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-32 .elementor-element.elementor-element-49ca75c .elementor-heading-title{font-size:2.7rem;}.elementor-32 .elementor-element.elementor-element-5f4eeab{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-5f4eeab .elementor-heading-title{font-size:18px;}.elementor-32 .elementor-element.elementor-element-5004a48{--container-widget-width:30%;--container-widget-flex-grow:0;width:var( --container-widget-width, 30% );max-width:30%;}.elementor-32 .elementor-element.elementor-element-74fb7e8 .elementor-heading-title{font-size:28px;}.elementor-32 .elementor-element.elementor-element-aeceb91{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-c494643{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-c494643 .elementor-heading-title{font-size:1.9rem;}.elementor-32 .elementor-element.elementor-element-f586fc1{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-f586fc1 .elementor-heading-title{font-size:1.9rem;}.elementor-32 .elementor-element.elementor-element-6d0d8cb{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-6d0d8cb .elementor-heading-title{font-size:1.9rem;}.elementor-32 .elementor-element.elementor-element-960b2f7{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-960b2f7 .elementor-heading-title{font-size:1.9rem;}.elementor-32 .elementor-element.elementor-element-4c1120c{--e-n-carousel-swiper-slides-to-display:2;}.elementor-32 .elementor-element.elementor-element-8e474aa .elementor-heading-title{font-size:28px;}.elementor-32 .elementor-element.elementor-element-2731d33{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-8fc6b87{--container-widget-width:30%;--container-widget-flex-grow:0;width:var( --container-widget-width, 30% );max-width:30%;}}@media(min-width:768px){.elementor-32 .elementor-element.elementor-element-cc1c72e{--content-width:1200px;}.elementor-32 .elementor-element.elementor-element-886ab4d{--content-width:1280px;}.elementor-32 .elementor-element.elementor-element-76835e7{--width:42%;}.elementor-32 .elementor-element.elementor-element-53b0668{--width:54%;}.elementor-32 .elementor-element.elementor-element-9f72ff1{--content-width:1280px;}}@media(max-width:767px){.elementor-32 .elementor-element.elementor-element-cc1c72e{--min-height:335px;--overlay-opacity:0.63;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-32 .elementor-element.elementor-element-49ca75c{width:100%;max-width:100%;text-align:center;}.elementor-32 .elementor-element.elementor-element-49ca75c .elementor-heading-title{font-size:29px;line-height:1.2em;}.elementor-32 .elementor-element.elementor-element-5f4eeab > .elementor-widget-container{margin:-5px 0px -5px 0px;}.elementor-32 .elementor-element.elementor-element-5f4eeab{text-align:center;}.elementor-32 .elementor-element.elementor-element-5f4eeab .elementor-heading-title{font-size:15px;line-height:1.8em;}.elementor-32 .elementor-element.elementor-element-5004a48{--container-widget-width:210px;--container-widget-flex-grow:0;width:var( --container-widget-width, 210px );max-width:210px;}.elementor-32 .elementor-element.elementor-element-5004a48 .elementor-button{font-size:15px;}.elementor-32 .elementor-element.elementor-element-886ab4d{--padding-top:42px;--padding-bottom:42px;--padding-left:10px;--padding-right:10px;}.elementor-32 .elementor-element.elementor-element-53b0668{--padding-top:024px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-74fb7e8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:left;}.elementor-32 .elementor-element.elementor-element-74fb7e8.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-74fb7e8 .elementor-heading-title{font-size:1.5rem;}.elementor-32 .elementor-element.elementor-element-aeceb91{width:100%;max-width:100%;font-size:15px;}.elementor-32 .elementor-element.elementor-element-aeceb91 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-af5318e{--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-32 .elementor-element.elementor-element-1435eea > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-1435eea.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-1435eea .elementor-button{font-size:15px;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-285fcfa{--padding-top:4px;--padding-bottom:4px;--padding-left:4px;--padding-right:4px;}.elementor-32 .elementor-element.elementor-element-e7f3990{--min-height:400px;--padding-top:30px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-c494643 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-c494643{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-c494643.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-c494643 .elementor-heading-title{font-size:1.6rem;}.elementor-32 .elementor-element.elementor-element-c795096 > .elementor-widget-container{padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-c795096 .elementor-button{font-size:13px;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-45a3d26{--padding-top:4px;--padding-bottom:4px;--padding-left:4px;--padding-right:4px;}.elementor-32 .elementor-element.elementor-element-4e7cd59{--min-height:400px;--padding-top:30px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-f586fc1 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-f586fc1{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-f586fc1.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-f586fc1 .elementor-heading-title{font-size:1.6rem;}.elementor-32 .elementor-element.elementor-element-2fdaabb > .elementor-widget-container{padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-2fdaabb .elementor-button{font-size:13px;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-bf2ae69{--padding-top:4px;--padding-bottom:4px;--padding-left:4px;--padding-right:4px;}.elementor-32 .elementor-element.elementor-element-90e47de{--min-height:400px;--padding-top:30px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-6d0d8cb > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-6d0d8cb{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-6d0d8cb.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-6d0d8cb .elementor-heading-title{font-size:1.6rem;}.elementor-32 .elementor-element.elementor-element-dc66486 > .elementor-widget-container{padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-dc66486 .elementor-button{font-size:13px;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-85a4959{--padding-top:4px;--padding-bottom:4px;--padding-left:4px;--padding-right:4px;}.elementor-32 .elementor-element.elementor-element-204ca88{--min-height:400px;--padding-top:30px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-960b2f7 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-960b2f7{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-32 .elementor-element.elementor-element-960b2f7.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-960b2f7 .elementor-heading-title{font-size:1.6rem;}.elementor-32 .elementor-element.elementor-element-573214d > .elementor-widget-container{padding:0px 0px 8px 0px;}.elementor-32 .elementor-element.elementor-element-573214d .elementor-button{font-size:13px;padding:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-4c1120c{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-swiper-pagination-spacing:0px;}.elementor-32 .elementor-element.elementor-element-9f72ff1{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:42px;--padding-bottom:42px;--padding-left:10px;--padding-right:10px;}.elementor-32 .elementor-element.elementor-element-4050b30{--padding-top:42px;--padding-bottom:42px;--padding-left:12px;--padding-right:12px;}.elementor-32 .elementor-element.elementor-element-8e474aa{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:left;}.elementor-32 .elementor-element.elementor-element-8e474aa.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-8e474aa .elementor-heading-title{font-size:1.5rem;}.elementor-32 .elementor-element.elementor-element-2731d33{width:100%;max-width:100%;font-size:15px;}.elementor-32 .elementor-element.elementor-element-2731d33 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-32 .elementor-element.elementor-element-8fc6b87{--container-widget-width:210px;--container-widget-flex-grow:0;width:var( --container-widget-width, 210px );max-width:210px;}.elementor-32 .elementor-element.elementor-element-8fc6b87 .elementor-button{font-size:15px;}}/* Start custom CSS for heading, class: .elementor-element-5f4eeab */.slide-up-in {
	-webkit-animation: slide-up-in 0.7s ease-out ;
	        animation: slide-up-in 0.7s ease-out ;
}

@-webkit-keyframes slide-up-in {
  0% {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-up-in {
  0% {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5004a48 *//* Gradient Button with Bottom-to-Top White Fill */
.my-gradient-btn123 {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: #fff; /* default text color */
  border: none;
  background: #5B925E;
  transition: color 0.4s ease;
border: 1px solid #5b925e;
border-radius: 4px;
}

.my-gradient-btn123::before {
  content: "";
  position: absolute;
  bottom: -100%; /* start hidden below */
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff; /* hover fill color */
  z-index: 0;
  transition: bottom 0.4s ease;
}

.my-gradient-btn123:hover::before {
  bottom: 0; /* slide up to cover */
}

.my-gradient-btn123 span {
  position: relative;
  z-index: 1;
  transition: color 0.4s ease;
}

.my-gradient-btn123:hover span {
  color: #5b925e; /* text turns blue on hover */
}
input::placeholder {
    opacity: 1!important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1435eea *//* Base button */
.btn_readmore {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore > .elementor-button-text,
.btn_readmore > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #25351B;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore:hover::after,
.btn_readmore:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore:hover .elementor-button-icon,
.btn_readmore:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c795096 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2fdaabb *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-dc66486 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-573214d *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c795096 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2fdaabb *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-dc66486 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-573214d *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c795096 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2fdaabb *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-dc66486 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-573214d *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c795096 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2fdaabb *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-dc66486 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-573214d *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c795096 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2fdaabb *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-dc66486 *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-573214d *//* Base button */
.btn_readmore2 {
  background: transparent;
  border: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;             /* space between text and icon */
  position: relative;      /* for pseudo-element underline */
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ensure text & icon sit above the underline */
.btn_readmore2 > .elementor-button-text,
.btn_readmore2 > span {
  position: relative;
  z-index: 1!important;
}

/* Underline (visible by default) */
.btn_readmore2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.12em;          /* tweak vertical position to suit your font */
  height: 1px;             /* underline thickness */
  width: 100%;
  background-color: #D2D2CD;
  transform-origin: left;  /* default: grow from left when appearing */
  transform: scaleX(1);    /* fully visible by default */
  transition: transform 360ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  will-change: transform;
}

/* Hover: instantly switch origin to RIGHT and scale to 0 -> shrinks to the right */
.btn_readmore2:hover::after,
.btn_readmore2:focus::after {
  transform-origin: right;
  transform: scaleX(0);
}

/* Icon movement synced so both finish together:
   - underline: 360ms (no delay)
   - icon: 300ms duration, 60ms delay -> finishes at 360ms too */
.btn_readmore2 .elementor-button-icon {
  display: inline-block;
  transform: translateX(0);
  transition: transform 300ms cubic-bezier(.2,.8,.2,1) 60ms;
  z-index: 1;
}

/* On hover/focus move icon right */
.btn_readmore2:hover .elementor-button-icon,
.btn_readmore2:focus .elementor-button-icon {
  transform: translateX(6px); /* adjust px for more/less movement */
}

/* Accessibility: keyboard focus looks like hover */
.btn_readmore2:focus { outline: none; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8fc6b87 *//* Gradient Button with Bottom-to-Top White Fill */
.my-gradient-btn123 {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: #fff; /* default text color */
  border: none;
  background: #5B925E;
  transition: color 0.4s ease;
border: 1px solid #5b925e;
border-radius: 4px;
}

.my-gradient-btn123::before {
  content: "";
  position: absolute;
  bottom: -100%; /* start hidden below */
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff; /* hover fill color */
  z-index: 0;
  transition: bottom 0.4s ease;
}

.my-gradient-btn123:hover::before {
  bottom: 0; /* slide up to cover */
}

.my-gradient-btn123 span {
  position: relative;
  z-index: 1;
  transition: color 0.4s ease;
}

.my-gradient-btn123:hover span {
  color: #5b925e; /* text turns blue on hover */
}
input::placeholder {
    opacity: 1!important;
}/* End custom CSS */