.elementor-10707 .elementor-element.elementor-element-cc3d6dc{--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-10707 .elementor-element.elementor-element-88b09e7{--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-10707 .elementor-element.elementor-element-3790142{--divider-border-style:solid;--divider-color:#D1D1D1;--divider-border-width:1.2px;}.elementor-10707 .elementor-element.elementor-element-3790142 .elementor-divider-separator{width:80%;margin:0 auto;margin-center:0;}.elementor-10707 .elementor-element.elementor-element-3790142 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-10707 .elementor-element.elementor-element-7c44ef5{--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-10707 .elementor-element.elementor-element-b79d84c{--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;--justify-content:center;--align-items:stretch;--gap:25px 25px;--row-gap:25px;--column-gap:25px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-10707 .elementor-element.elementor-element-68ce59d{--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;--justify-content:center;--align-items:center;--border-radius:6px 6px 6px 6px;box-shadow:1px 1px 6px 0px rgba(0,0,0,0.5);--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-68ce59d:not(.elementor-motion-effects-element-type-background), .elementor-10707 .elementor-element.elementor-element-68ce59d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-a30091e.elementor-element{--align-self:center;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-wrapper{text-align:center;gap:17px;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title{margin-block-end:1px;}.elementor-10707 .elementor-element.elementor-element-a30091e.elementor-view-stacked .elementor-icon{background-color:#78BE21;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-a30091e.elementor-view-framed .elementor-icon, .elementor-10707 .elementor-element.elementor-element-a30091e.elementor-view-default .elementor-icon{fill:#78BE21;color:#78BE21;border-color:#78BE21;}.elementor-10707 .elementor-element.elementor-element-a30091e.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon{border-radius:5px 5px 5px 5px;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title a{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 );}.elementor-10707 .elementor-element.elementor-element-a30091e:has(:hover) .elementor-icon-box-title,
					 .elementor-10707 .elementor-element.elementor-element-a30091e:has(:focus) .elementor-icon-box-title{color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-description{font-family:var( --e-global-typography-896e167-font-family ), Sans-serif;font-size:var( --e-global-typography-896e167-font-size );font-weight:var( --e-global-typography-896e167-font-weight );text-transform:var( --e-global-typography-896e167-text-transform );font-style:var( --e-global-typography-896e167-font-style );text-decoration:var( --e-global-typography-896e167-text-decoration );color:#000000;}.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button{background-color:#5F981B;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-0a0f662{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-10707 .elementor-element.elementor-element-ed813b0{--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;--justify-content:center;--align-items:center;--border-radius:6px 6px 6px 6px;box-shadow:1px 1px 6px 0px rgba(0,0,0,0.5);--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-ed813b0:not(.elementor-motion-effects-element-type-background), .elementor-10707 .elementor-element.elementor-element-ed813b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-e944a98.elementor-element{--align-self:center;}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-10707 .elementor-element.elementor-element-e944a98.elementor-view-stacked .elementor-icon{background-color:#D22730;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-e944a98.elementor-view-framed .elementor-icon, .elementor-10707 .elementor-element.elementor-element-e944a98.elementor-view-default .elementor-icon{fill:#D22730;color:#D22730;border-color:#D22730;}.elementor-10707 .elementor-element.elementor-element-e944a98.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon{border-radius:5px 5px 5px 5px;}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-title a{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 );}.elementor-10707 .elementor-element.elementor-element-e944a98:has(:hover) .elementor-icon-box-title,
					 .elementor-10707 .elementor-element.elementor-element-e944a98:has(:focus) .elementor-icon-box-title{color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-description{font-family:var( --e-global-typography-896e167-font-family ), Sans-serif;font-size:var( --e-global-typography-896e167-font-size );font-weight:var( --e-global-typography-896e167-font-weight );text-transform:var( --e-global-typography-896e167-text-transform );font-style:var( --e-global-typography-896e167-font-style );text-decoration:var( --e-global-typography-896e167-text-decoration );color:#000000;}.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button{background-color:#AC2027;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-e73dd3c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-10707 .elementor-element.elementor-element-83fbd28{--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;--justify-content:center;--align-items:center;--border-radius:6px 6px 6px 6px;box-shadow:1px 1px 6px 0px rgba(0,0,0,0.5);--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-83fbd28:not(.elementor-motion-effects-element-type-background), .elementor-10707 .elementor-element.elementor-element-83fbd28 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-38cfb43.elementor-element{--align-self:center;}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-10707 .elementor-element.elementor-element-38cfb43.elementor-view-stacked .elementor-icon{background-color:#95BFE4;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-38cfb43.elementor-view-framed .elementor-icon, .elementor-10707 .elementor-element.elementor-element-38cfb43.elementor-view-default .elementor-icon{fill:#95BFE4;color:#95BFE4;border-color:#95BFE4;}.elementor-10707 .elementor-element.elementor-element-38cfb43.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon{border-radius:5px 5px 5px 5px;}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-title a{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 );}.elementor-10707 .elementor-element.elementor-element-38cfb43:has(:hover) .elementor-icon-box-title,
					 .elementor-10707 .elementor-element.elementor-element-38cfb43:has(:focus) .elementor-icon-box-title{color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-description{font-family:var( --e-global-typography-896e167-font-family ), Sans-serif;font-size:var( --e-global-typography-896e167-font-size );font-weight:var( --e-global-typography-896e167-font-weight );text-transform:var( --e-global-typography-896e167-text-transform );font-style:var( --e-global-typography-896e167-font-style );text-decoration:var( --e-global-typography-896e167-text-decoration );color:#000000;}.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button{background-color:#71A9DA;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-d46815b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-10707 .elementor-element.elementor-element-b977b1c{--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;--justify-content:center;--align-items:center;--border-radius:6px 6px 6px 6px;box-shadow:1px 1px 6px 0px rgba(0,0,0,0.5);--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-b977b1c:not(.elementor-motion-effects-element-type-background), .elementor-10707 .elementor-element.elementor-element-b977b1c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-7114e12.elementor-element{--align-self:center;}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-10707 .elementor-element.elementor-element-7114e12.elementor-view-stacked .elementor-icon{background-color:#7C3520;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-7114e12.elementor-view-framed .elementor-icon, .elementor-10707 .elementor-element.elementor-element-7114e12.elementor-view-default .elementor-icon{fill:#7C3520;color:#7C3520;border-color:#7C3520;}.elementor-10707 .elementor-element.elementor-element-7114e12.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon{border-radius:5px 5px 5px 5px;}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-title a{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 );}.elementor-10707 .elementor-element.elementor-element-7114e12:has(:hover) .elementor-icon-box-title,
					 .elementor-10707 .elementor-element.elementor-element-7114e12:has(:focus) .elementor-icon-box-title{color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-description{font-family:var( --e-global-typography-896e167-font-family ), Sans-serif;font-size:var( --e-global-typography-896e167-font-size );font-weight:var( --e-global-typography-896e167-font-weight );text-transform:var( --e-global-typography-896e167-text-transform );font-style:var( --e-global-typography-896e167-font-style );text-decoration:var( --e-global-typography-896e167-text-decoration );color:#000000;}.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button{background-color:#652C1A;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-2ffd6ac{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-10707 .elementor-element.elementor-element-e994b95{--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-10707 .elementor-element.elementor-element-51e4f37{--divider-border-style:solid;--divider-color:#D1D1D1;--divider-border-width:1.2px;}.elementor-10707 .elementor-element.elementor-element-51e4f37 .elementor-divider-separator{width:80%;margin:0 auto;margin-center:0;}.elementor-10707 .elementor-element.elementor-element-51e4f37 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-10707 .elementor-element.elementor-element-209962d{--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-10707 .elementor-element.elementor-element-8c3bdb7{--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;--justify-content:space-between;--align-items:flex-start;--padding-top:20px;--padding-bottom:20px;--padding-left:5px;--padding-right:5px;}.elementor-10707 .elementor-element.elementor-element-8c3bdb7:not(.elementor-motion-effects-element-type-background), .elementor-10707 .elementor-element.elementor-element-8c3bdb7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #8BB8E8 220px, #FFFFFF 220px);}.elementor-10707 .elementor-element.elementor-element-2b95f10{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10707 .elementor-element.elementor-element-6704c79{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:0px;}.elementor-10707 .elementor-element.elementor-element-4589c20{text-align:start;}.elementor-10707 .elementor-element.elementor-element-4589c20 .elementor-heading-title{font-family:"Titillium Web", Sans-serif;font-size:4rem;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-96a2916{font-family:"Titillium Web", Sans-serif;font-size:4rem;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-cc93e10{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button{background-color:#95BFE4;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10707 .elementor-element.elementor-element-1ecc1ff{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-10707 .elementor-element.elementor-element-a0e0c9d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .swiper-pagination-bullet-active, .elementor-10707 .elementor-element.elementor-element-fa4a4d1 .swiper-pagination-progressbar-fill{background-color:#2DA2DD;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .swiper-pagination-fraction{color:#2DA2DD;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .elementor-swiper-button{font-size:20px;color:#2DA2DD;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .elementor-swiper-button svg{fill:#2DA2DD;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .swiper-pagination-bullet{height:8px;width:8px;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .swiper-horizontal .swiper-pagination-progressbar{height:8px;}.elementor-10707 .elementor-element.elementor-element-fa4a4d1 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background-color:#000000;opacity:1;}.elementor-10707 .elementor-element.elementor-element-f128b7f{--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-10707 .elementor-element.elementor-element-98b78d1{--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-10707 .elementor-element.elementor-element-4f70ccf{--divider-border-style:solid;--divider-color:#D1D1D1;--divider-border-width:1.2px;}.elementor-10707 .elementor-element.elementor-element-4f70ccf .elementor-divider-separator{width:80%;margin:0 auto;margin-center:0;}.elementor-10707 .elementor-element.elementor-element-4f70ccf .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-10707 .elementor-element.elementor-element-9c756e5{--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-10707 .elementor-element.elementor-element-9c756e5:not(.elementor-motion-effects-element-type-background), .elementor-10707 .elementor-element.elementor-element-9c756e5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-10707 .elementor-element.elementor-element-91948d7{--e-image-carousel-slides-to-show:6;}.elementor-10707 .elementor-element.elementor-element-91948d7 .elementor-swiper-button.elementor-swiper-button-prev, .elementor-10707 .elementor-element.elementor-element-91948d7 .elementor-swiper-button.elementor-swiper-button-next{font-size:0px;}.elementor-10707 .elementor-element.elementor-element-91948d7 .swiper-wrapper{display:flex;align-items:center;}.elementor-10707 .elementor-element.elementor-element-02eb704{--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-10707 .elementor-element.elementor-element-1b558d4{--divider-border-style:solid;--divider-color:#D1D1D1;--divider-border-width:1.2px;}.elementor-10707 .elementor-element.elementor-element-1b558d4 .elementor-divider-separator{width:80%;margin:0 auto;margin-center:0;}.elementor-10707 .elementor-element.elementor-element-1b558d4 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-10707 .elementor-element.elementor-element-7623ef6{--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-10707 .elementor-element.elementor-element-40c59c9{--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-10707 .elementor-element.elementor-element-10da64b{--spacer-size:50px;}.elementor-10707 .elementor-element.elementor-element-3224514{--display:flex;}.elementor-10707 .elementor-element.elementor-element-51fdb2e iframe{height:50vh;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-10707 .elementor-element.elementor-element-7c44ef5{--content-width:80%;}.elementor-10707 .elementor-element.elementor-element-68ce59d{--width:23%;}.elementor-10707 .elementor-element.elementor-element-ed813b0{--width:23%;}.elementor-10707 .elementor-element.elementor-element-83fbd28{--width:23%;}.elementor-10707 .elementor-element.elementor-element-b977b1c{--width:23%;}.elementor-10707 .elementor-element.elementor-element-6704c79{--width:70%;}.elementor-10707 .elementor-element.elementor-element-cc93e10{--width:30%;}.elementor-10707 .elementor-element.elementor-element-7623ef6{--width:80%;}}@media(max-width:1024px) and (min-width:768px){.elementor-10707 .elementor-element.elementor-element-b79d84c{--width:80%;}.elementor-10707 .elementor-element.elementor-element-68ce59d{--width:35%;}.elementor-10707 .elementor-element.elementor-element-ed813b0{--width:35%;}.elementor-10707 .elementor-element.elementor-element-83fbd28{--width:35%;}.elementor-10707 .elementor-element.elementor-element-b977b1c{--width:35%;}.elementor-10707 .elementor-element.elementor-element-f128b7f{--width:100%;}}@media(max-width:1024px){.elementor-10707 .elementor-element.elementor-element-b79d84c{--flex-wrap:wrap;--padding-top:20px;--padding-bottom:20px;--padding-left:60px;--padding-right:60px;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-209962d{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10707 .elementor-element.elementor-element-f128b7f{--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:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-10707 .elementor-element.elementor-element-91948d7{--e-image-carousel-slides-to-show:4;}}@media(max-width:767px){.elementor-10707 .elementor-element.elementor-element-68ce59d{--margin-top:0px;--margin-bottom:0px;--margin-left:20px;--margin-right:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-a30091e .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-ed813b0{--margin-top:0px;--margin-bottom:0px;--margin-left:20px;--margin-right:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-e944a98 .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-83fbd28{--margin-top:0px;--margin-bottom:0px;--margin-left:20px;--margin-right:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-38cfb43 .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-b977b1c{--margin-top:0px;--margin-bottom:0px;--margin-left:20px;--margin-right:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-title, .elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-title a{font-size:var( --e-global-typography-accent-font-size );}.elementor-10707 .elementor-element.elementor-element-7114e12 .elementor-icon-box-description{font-size:var( --e-global-typography-896e167-font-size );}.elementor-10707 .elementor-element.elementor-element-91948d7{--e-image-carousel-slides-to-show:2;}}/* Start custom CSS for icon-box, class: .elementor-element-a30091e */.elementor-icon-box-description {
  text-align: center;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0a0f662 *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button .elementor-button-content-wrapper,
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button .elementor-button-text,
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button::before,
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* <--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10707 .elementor-element.elementor-element-0a0f662 .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68ce59d *//* 1. Contenedor de la tarjeta en estado inicial */
.elementor-10707 .elementor-element.elementor-element-68ce59d {
    position: relative !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    z-index: 1;
    transition: all 0.4s ease !important;
}

/* 2. La cortina oculta en la parte superior con tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-68ce59d::before {
    position: absolute;
    content: "";
    top: -100%; /* Oculta arriba */
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #78BE21 !important; /* Tu color personalizado */
    z-index: 0;
    transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 3. HOVER: La cortina cae al tocar CUALQUIER parte de la tarjeta */
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover::before {
    top: 0;
}

/* 4. Mantiene los textos e iconos visibles al frente de la cortina */
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-widget-heading,
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-widget-text-editor,
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-widget-icon,
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-icon-box-wrapper {
    position: relative;
    z-index: 2;
}

/* 4.5. JUSTIFICAR DESCRIPCIÓN: Fuerza la alineación justificada en el Icon Box */
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-icon-box-description {
    text-align: center !important;
}

/* 5. HOVER: Fuerza de forma absoluta el color blanco en todas las capas del texto */
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-heading-title,
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-text-editor,
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-text-editor *,
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-text-editor p,
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-icon-box-title,
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-icon-box-description {
    color: #ffffff !important;
}

/* 6. ESTADO INICIAL DEL ICONO: Prepara la transición de rotación y color suave */
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-icon {
    transition: background-color 0.3s ease, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 7. HOVER DE TARJETA: El círculo pasa a BLANCO al tocar la tarjeta */
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-icon {
    background-color: #ffffff !important; 
}

/* 7.5 HOVER EXCLUSIVO DEL ICONO: Rota en sentido horario y cambia su fondo a NEGRO */
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-icon:hover {
    background-color: #000000 !important; /* Fondo negro al tocar el icono */
    transform: rotate(360deg) !important; /* Giro en sentido horario */
}

/* 8. HOVER DE TARJETA: El corazón interno toma tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-icon i,
.elementor-10707 .elementor-element.elementor-element-68ce59d:hover .elementor-icon svg {
    color: #78BE21 !important; 
    fill: #78BE21 !important;
    transition: color 0.3s ease;
}

/* 8.5 HOVER EXCLUSIVO DEL ICONO: Mantiene el corazón legible sobre el fondo negro */
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-icon:hover i,
.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-icon:hover svg {
    color: #ffffff !important; /* El corazón se vuelve blanco sobre el fondo negro */
    fill: #ffffff !important;
}

/* 8. ALINEACIÓN VERTICAL DE BOTONES AL FONDO */
.elementor-10707 .elementor-element.elementor-element-68ce59d {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Distribuye el contenido uniformemente */
}

.elementor-10707 .elementor-element.elementor-element-68ce59d .elementor-widget-button {
    margin-top: auto !important; /* Empuja el botón al fondo sin importar el largo del texto */
    position: relative;
    z-index: 2; /* Mantiene el botón visible al frente de la cortina */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e73dd3c *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button .elementor-button-content-wrapper,
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button .elementor-button-text,
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button::before,
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* <--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10707 .elementor-element.elementor-element-e73dd3c .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ed813b0 *//* 1. Contenedor de la tarjeta en estado inicial */
.elementor-10707 .elementor-element.elementor-element-ed813b0 {
    position: relative !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    z-index: 1;
    transition: all 0.4s ease !important;
}

/* 2. La cortina oculta en la parte superior con tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-ed813b0::before {
    position: absolute;
    content: "";
    top: -100%; /* Oculta arriba */
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #D22730 !important; /* Tu color personalizado */
    z-index: 0;
    transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 3. HOVER: La cortina cae al tocar CUALQUIER parte de la tarjeta */
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover::before {
    top: 0;
}

/* 4. Mantiene los textos e iconos visibles al frente de la cortina */
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-widget-heading,
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-widget-text-editor,
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-widget-icon,
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-icon-box-wrapper {
    position: relative;
    z-index: 2;
}

/* 4.5. JUSTIFICAR DESCRIPCIÓN: Fuerza la alineación justificada en el Icon Box */
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-icon-box-description {
    text-align: center !important;
}

/* 5. HOVER: Fuerza de forma absoluta el color blanco en todas las capas del texto */
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-heading-title,
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-text-editor,
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-text-editor *,
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-text-editor p,
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-icon-box-title,
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-icon-box-description {
    color: #ffffff !important;
}

/* 6. ESTADO INICIAL DEL ICONO: Prepara la transición de rotación y color suave */
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-icon {
    transition: background-color 0.3s ease, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 7. HOVER DE TARJETA: El círculo pasa a BLANCO al tocar la tarjeta */
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-icon {
    background-color: #ffffff !important; 
}

/* 7.5 HOVER EXCLUSIVO DEL ICONO: Rota en sentido horario y cambia su fondo a NEGRO */
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-icon:hover {
    background-color: #000000 !important; /* Fondo negro al tocar el icono */
    transform: rotate(360deg) !important; /* Giro en sentido horario */
}

/* 8. HOVER DE TARJETA: El corazón interno toma tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-icon i,
.elementor-10707 .elementor-element.elementor-element-ed813b0:hover .elementor-icon svg {
    color: #D22730 !important; 
    fill: #D22730 !important;
    transition: color 0.3s ease;
}

/* 8.5 HOVER EXCLUSIVO DEL ICONO: Mantiene el corazón legible sobre el fondo negro */
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-icon:hover i,
.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-icon:hover svg {
    color: #ffffff !important; /* El corazón se vuelve blanco sobre el fondo negro */
    fill: #ffffff !important;
}


/* 8. ALINEACIÓN VERTICAL DE BOTONES AL FONDO */
.elementor-10707 .elementor-element.elementor-element-ed813b0 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Distribuye el contenido uniformemente */
}

.elementor-10707 .elementor-element.elementor-element-ed813b0 .elementor-widget-button {
    margin-top: auto !important; /* Empuja el botón al fondo sin importar el largo del texto */
    position: relative;
    z-index: 2; /* Mantiene el botón visible al frente de la cortina */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-d46815b *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button .elementor-button-content-wrapper,
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button .elementor-button-text,
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button::before,
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* <--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10707 .elementor-element.elementor-element-d46815b .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-83fbd28 *//* 1. Contenedor de la tarjeta en estado inicial */
.elementor-10707 .elementor-element.elementor-element-83fbd28 {
    position: relative !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    z-index: 1;
    transition: all 0.4s ease !important;
}

/* 2. La cortina oculta en la parte superior con tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-83fbd28::before {
    position: absolute;
    content: "";
    top: -100%; /* Oculta arriba */
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #95BFE4 !important; /* Tu color personalizado */
    z-index: 0;
    transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 3. HOVER: La cortina cae al tocar CUALQUIER parte de la tarjeta */
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover::before {
    top: 0;
}

/* 4. Mantiene los textos e iconos visibles al frente de la cortina */
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-widget-heading,
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-widget-text-editor,
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-widget-icon,
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-icon-box-wrapper {
    position: relative;
    z-index: 2;
}

/* 4.5. JUSTIFICAR DESCRIPCIÓN: Fuerza la alineación justificada en el Icon Box */
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-icon-box-description {
    text-align: center !important;
}

/* 5. HOVER: Fuerza de forma absoluta el color blanco en todas las capas del texto */
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-heading-title,
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-text-editor,
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-text-editor *,
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-text-editor p,
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-icon-box-title,
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-icon-box-description {
    color: #ffffff !important;
}

/* 6. ESTADO INICIAL DEL ICONO: Prepara la transición de rotación y color suave */
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-icon {
    transition: background-color 0.3s ease, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 7. HOVER DE TARJETA: El círculo pasa a BLANCO al tocar la tarjeta */
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-icon {
    background-color: #ffffff !important; 
}

/* 7.5 HOVER EXCLUSIVO DEL ICONO: Rota en sentido horario y cambia su fondo a NEGRO */
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-icon:hover {
    background-color: #000000 !important; /* Fondo negro al tocar el icono */
    transform: rotate(360deg) !important; /* Giro en sentido horario */
}

/* 8. HOVER DE TARJETA: El corazón interno toma tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-icon i,
.elementor-10707 .elementor-element.elementor-element-83fbd28:hover .elementor-icon svg {
    color: #95BFE4 !important; 
    fill: #95BFE4 !important;
    transition: color 0.3s ease;
}

/* 8.5 HOVER EXCLUSIVO DEL ICONO: Mantiene el corazón legible sobre el fondo negro */
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-icon:hover i,
.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-icon:hover svg {
    color: #ffffff !important; /* El corazón se vuelve blanco sobre el fondo negro */
    fill: #ffffff !important;
}

/* 8. ALINEACIÓN VERTICAL DE BOTONES AL FONDO */
.elementor-10707 .elementor-element.elementor-element-83fbd28 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Distribuye el contenido uniformemente */
}

.elementor-10707 .elementor-element.elementor-element-83fbd28 .elementor-widget-button {
    margin-top: auto !important; /* Empuja el botón al fondo sin importar el largo del texto */
    position: relative;
    z-index: 2; /* Mantiene el botón visible al frente de la cortina */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2ffd6ac *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button .elementor-button-content-wrapper,
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button .elementor-button-text,
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button::before,
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* <--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10707 .elementor-element.elementor-element-2ffd6ac .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b977b1c *//* 1. Contenedor de la tarjeta en estado inicial */
.elementor-10707 .elementor-element.elementor-element-b977b1c {
    position: relative !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    z-index: 1;
    transition: all 0.4s ease !important;
}

/* 2. La cortina oculta en la parte superior con tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-b977b1c::before {
    position: absolute;
    content: "";
    top: -100%; /* Oculta arriba */
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #7C3520 !important; /* Tu color personalizado */
    z-index: 0;
    transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 3. HOVER: La cortina cae al tocar CUALQUIER parte de la tarjeta */
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover::before {
    top: 0;
}

/* 4. Mantiene los textos e iconos visibles al frente de la cortina */
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-widget-heading,
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-widget-text-editor,
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-widget-icon,
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-icon-box-wrapper {
    position: relative;
    z-index: 2;
}

/* 4.5. JUSTIFICAR DESCRIPCIÓN: Fuerza la alineación justificada en el Icon Box */
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-icon-box-description {
    text-align: center !important;
}

/* 5. HOVER: Fuerza de forma absoluta el color blanco en todas las capas del texto */
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-heading-title,
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-text-editor,
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-text-editor *,
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-text-editor p,
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-icon-box-title,
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-icon-box-description {
    color: #ffffff !important;
}

/* 6. ESTADO INICIAL DEL ICONO: Prepara la transición de rotación y color suave */
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-icon {
    transition: background-color 0.3s ease, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 7. HOVER DE TARJETA: El círculo pasa a BLANCO al tocar la tarjeta */
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-icon {
    background-color: #ffffff !important; 
}

/* 7.5 HOVER EXCLUSIVO DEL ICONO: Rota en sentido horario y cambia su fondo a NEGRO */
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-icon:hover {
    background-color: #000000 !important; /* Fondo negro al tocar el icono */
    transform: rotate(360deg) !important; /* Giro en sentido horario */
}

/* 8. HOVER DE TARJETA: El corazón interno toma tu color personalizado */
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-icon i,
.elementor-10707 .elementor-element.elementor-element-b977b1c:hover .elementor-icon svg {
    color: #7C3520 !important; 
    fill: #7C3520 !important;
    transition: color 0.3s ease;
}

/* 8.5 HOVER EXCLUSIVO DEL ICONO: Mantiene el corazón legible sobre el fondo negro */
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-icon:hover i,
.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-icon:hover svg {
    color: #ffffff !important; /* El corazón se vuelve blanco sobre el fondo negro */
    fill: #ffffff !important;
}

/* 8. ALINEACIÓN VERTICAL DE BOTONES AL FONDO */
.elementor-10707 .elementor-element.elementor-element-b977b1c {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Distribuye el contenido uniformemente */
}

.elementor-10707 .elementor-element.elementor-element-b977b1c .elementor-widget-button {
    margin-top: auto !important; /* Empuja el botón al fondo sin importar el largo del texto */
    position: relative;
    z-index: 2; /* Mantiene el botón visible al frente de la cortina */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1ecc1ff *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button .elementor-button-content-wrapper,
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button .elementor-button-text,
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button::before,
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* &lt;--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10707 .elementor-element.elementor-element-1ecc1ff .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */