.elementor-14 .elementor-element.elementor-element-3c2ada1{--display:flex;--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-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-14 .elementor-element.elementor-element-50ed19e{width:var( --container-widget-width, 1000px );max-width:1000px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:1000px;--container-widget-flex-grow:0;text-align:start;}.elementor-14 .elementor-element.elementor-element-50ed19e.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-50ed19e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:56px;font-weight:800;text-transform:uppercase;line-height:1.2em;text-shadow:0px 0px 27px rgba(0, 0, 0, 0.93);color:#FFFFFF;}.elementor-14 .elementor-element.elementor-element-31bc37d{padding:20px 0px 20px 00px;text-align:center;}.elementor-14 .elementor-element.elementor-element-31bc37d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:800;text-transform:uppercase;color:#222078;}.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-14 .elementor-element.elementor-element-27b9a96{width:var( --container-widget-width, 60% );max-width:60%;padding:0px 0px 30px 0px;--container-widget-width:60%;--container-widget-flex-grow:0;text-align:center;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-27b9a96.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-1c9498b{--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:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-14 .elementor-element.elementor-element-245690b{--display:flex;--gap:13px 0px;--row-gap:13px;--column-gap:0px;border-style:none;--border-style:none;--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-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b4b3ed7 .elementor-icon-wrapper{text-align:center;}.elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-stacked .elementor-icon{background-color:#333333;}.elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-default .elementor-icon{color:#333333;border-color:#333333;}.elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-default .elementor-icon svg{fill:#333333;}.elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-b4b3ed7.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b4b3ed7 .elementor-icon{font-size:34px;}.elementor-14 .elementor-element.elementor-element-b4b3ed7 .elementor-icon svg{height:34px;}.elementor-14 .elementor-element.elementor-element-d8ae9e3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;text-align:center;}.elementor-14 .elementor-element.elementor-element-d8ae9e3 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;color:#333333;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-14 .elementor-element.elementor-element-6982819{--divider-border-style:solid;--divider-color:#333333;--divider-border-width:1px;}.elementor-14 .elementor-element.elementor-element-6982819 .elementor-divider-separator{width:100%;}.elementor-14 .elementor-element.elementor-element-6982819 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-14 .elementor-element.elementor-element-6982819 .elementor-divider__text{color:#333333;}.elementor-14 .elementor-element.elementor-element-32fb9aa{padding:10px 25px 10px 25px;text-align:center;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;line-height:14px;color:#333333;}.elementor-14 .elementor-element.elementor-element-9ac42e4{--display:flex;--gap:13px 0px;--row-gap:13px;--column-gap:0px;border-style:none;--border-style:none;--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-14 .elementor-element.elementor-element-3d9e5de .elementor-icon-wrapper{text-align:center;}.elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-stacked .elementor-icon{background-color:#333333;}.elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-default .elementor-icon{color:#333333;border-color:#333333;}.elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-default .elementor-icon svg{fill:#333333;}.elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-3d9e5de.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-3d9e5de .elementor-icon{font-size:34px;}.elementor-14 .elementor-element.elementor-element-3d9e5de .elementor-icon svg{height:34px;}.elementor-14 .elementor-element.elementor-element-4137b36{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;text-align:center;}.elementor-14 .elementor-element.elementor-element-4137b36 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;color:#333333;}.elementor-14 .elementor-element.elementor-element-144b786{--divider-border-style:solid;--divider-color:#333333;--divider-border-width:1px;}.elementor-14 .elementor-element.elementor-element-144b786 .elementor-divider-separator{width:100%;}.elementor-14 .elementor-element.elementor-element-144b786 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-14 .elementor-element.elementor-element-144b786 .elementor-divider__text{color:#333333;}.elementor-14 .elementor-element.elementor-element-ade569a{padding:10px 25px 10px 25px;text-align:center;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;line-height:14px;color:#333333;}.elementor-14 .elementor-element.elementor-element-bbf08bc{--display:flex;--gap:13px 0px;--row-gap:13px;--column-gap:0px;border-style:none;--border-style:none;--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-14 .elementor-element.elementor-element-b0e3bf5 .elementor-icon-wrapper{text-align:center;}.elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-stacked .elementor-icon{background-color:#333333;}.elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-default .elementor-icon{color:#333333;border-color:#333333;}.elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-default .elementor-icon svg{fill:#333333;}.elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-b0e3bf5.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-b0e3bf5 .elementor-icon{font-size:34px;}.elementor-14 .elementor-element.elementor-element-b0e3bf5 .elementor-icon svg{height:34px;}.elementor-14 .elementor-element.elementor-element-9800a6b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;text-align:center;}.elementor-14 .elementor-element.elementor-element-9800a6b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;color:#333333;}.elementor-14 .elementor-element.elementor-element-6900923{--divider-border-style:solid;--divider-color:#333333;--divider-border-width:1px;}.elementor-14 .elementor-element.elementor-element-6900923 .elementor-divider-separator{width:100%;}.elementor-14 .elementor-element.elementor-element-6900923 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-14 .elementor-element.elementor-element-6900923 .elementor-divider__text{color:#333333;}.elementor-14 .elementor-element.elementor-element-64c4087{padding:10px 25px 10px 025px;text-align:center;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;line-height:14px;color:#333333;}.elementor-14 .elementor-element.elementor-element-d40971e{--display:flex;--gap:13px 0px;--row-gap:13px;--column-gap:0px;border-style:none;--border-style:none;--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-14 .elementor-element.elementor-element-2abc06b .elementor-icon-wrapper{text-align:center;}.elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-stacked .elementor-icon{background-color:#333333;}.elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-default .elementor-icon{color:#333333;border-color:#333333;}.elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-framed .elementor-icon, .elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-default .elementor-icon svg{fill:#333333;}.elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-framed .elementor-icon:hover, .elementor-14 .elementor-element.elementor-element-2abc06b.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2abc06b .elementor-icon{font-size:34px;}.elementor-14 .elementor-element.elementor-element-2abc06b .elementor-icon svg{height:34px;}.elementor-14 .elementor-element.elementor-element-3ac9d8a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;text-align:center;}.elementor-14 .elementor-element.elementor-element-3ac9d8a .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;color:#333333;}.elementor-14 .elementor-element.elementor-element-2f3de35{--divider-border-style:solid;--divider-color:#333333;--divider-border-width:1px;}.elementor-14 .elementor-element.elementor-element-2f3de35 .elementor-divider-separator{width:100%;}.elementor-14 .elementor-element.elementor-element-2f3de35 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-14 .elementor-element.elementor-element-2f3de35 .elementor-divider__text{color:#333333;}.elementor-14 .elementor-element.elementor-element-3f8bcbb{padding:10px 25px 10px 25px;text-align:center;font-family:"Outfit", Sans-serif;font-size:13px;font-weight:400;line-height:14px;color:#333333;}.elementor-14 .elementor-element.elementor-element-1f4a45f{padding:20px 0px 20px 00px;text-align:center;}.elementor-14 .elementor-element.elementor-element-1f4a45f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:800;text-transform:uppercase;color:#222078;}.elementor-14 .elementor-element.elementor-element-0f81cc1{width:var( --container-widget-width, 60% );max-width:60%;padding:0px 0px 30px 0px;--container-widget-width:60%;--container-widget-flex-grow:0;text-align:center;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-0f81cc1.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-e3b81e4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-e3b81e4:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-e3b81e4, .elementor-14 .elementor-element.elementor-element-e3b81e4::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-1f455fb{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-1f455fb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-61d9a77{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-4571a63{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-4571a63.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-4571a63 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-e160eba{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-e160eba:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-e160eba, .elementor-14 .elementor-element.elementor-element-e160eba::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-99637d8{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-99637d8:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-99637d8, .elementor-14 .elementor-element.elementor-element-99637d8::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-99637d8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-cbb4ca2{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-cbb4ca2.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-7d7701e{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-40be337{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-40be337.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-40be337 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-9c565b0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-9c565b0:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-9c565b0, .elementor-14 .elementor-element.elementor-element-9c565b0::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-595fb93{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-595fb93:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-595fb93, .elementor-14 .elementor-element.elementor-element-595fb93::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-595fb93.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-3f8f086{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-3f8f086.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-9957a5c{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-cc7acdd{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-cc7acdd.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-cc7acdd p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-6dc662a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-6dc662a:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-6dc662a, .elementor-14 .elementor-element.elementor-element-6dc662a::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-60c83b7{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-60c83b7:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-60c83b7, .elementor-14 .elementor-element.elementor-element-60c83b7::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-60c83b7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-606d9b6{--display:flex;--justify-content:center;--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-14 .elementor-element.elementor-element-606d9b6.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-2acdfd6{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-76f8895{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-76f8895.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-76f8895 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-5948689{--n-accordion-title-font-size:20px;width:var( --container-widget-width, 1200px );max-width:1200px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 23px 0px;--container-widget-width:1200px;--container-widget-flex-grow:0;border-style:none;border-radius:0px 0px 0px 0px;--n-accordion-title-justify-content:center;--n-accordion-title-flex-grow:initial;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:22px;--n-accordion-item-title-distance-from-content:8px;--n-accordion-border-radius:13px 13px 13px 13px;--n-accordion-title-normal-color:#222078;--n-accordion-title-active-color:#FFFFFF;--n-accordion-icon-size:15px;}.elementor-14 .elementor-element.elementor-element-5948689 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#F0F0F059;border-style:solid;border-width:1px 1px 1px 1px;border-color:#22207880;}.elementor-14 .elementor-element.elementor-element-5948689 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#222078;border-style:solid;}.elementor-14 .elementor-element.elementor-element-5948689.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-5948689:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-5948689 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{border-style:solid;border-color:#BDBDBD;}.elementor-14 .elementor-element.elementor-element-5948689 {--n-accordion-padding:5px 5px 5px 5px;}:where( .elementor-14 .elementor-element.elementor-element-5948689 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Outfit", Sans-serif;font-weight:500;}:where( .elementor-14 .elementor-element.elementor-element-5948689 > .e-n-accordion > .e-n-accordion-item ) > .e-con{--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-right:10px;--padding-bottom:0px;--padding-left:10px;}.elementor-14 .elementor-element.elementor-element-83fca1b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-83fca1b:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-83fca1b, .elementor-14 .elementor-element.elementor-element-83fca1b::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-6e8e74f{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-6e8e74f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-1f4ea49{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-a84b3e2{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-a84b3e2.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-a84b3e2 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-4c1722f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-4c1722f:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-4c1722f, .elementor-14 .elementor-element.elementor-element-4c1722f::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-b8f178f{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-b8f178f:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-b8f178f, .elementor-14 .elementor-element.elementor-element-b8f178f::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-b8f178f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-e65ef6e{--display:flex;--justify-content:center;--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-14 .elementor-element.elementor-element-e65ef6e.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.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-14 .elementor-element.elementor-element-09ef7f2 img{width:45%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-fd0673d{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-2bcb02c{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-2bcb02c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-2bcb02c p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-1fdcb97{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-1fdcb97:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-1fdcb97, .elementor-14 .elementor-element.elementor-element-1fdcb97::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-8e01137{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-8e01137:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-8e01137, .elementor-14 .elementor-element.elementor-element-8e01137::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-8e01137.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-aa0db52{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-aa0db52.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-1d40a0e img{width:45%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-1cdd340{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-e5d44ed{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-e5d44ed.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-e5d44ed p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-cc694b8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-cc694b8:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-cc694b8, .elementor-14 .elementor-element.elementor-element-cc694b8::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-13dd06c{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-13dd06c:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-13dd06c, .elementor-14 .elementor-element.elementor-element-13dd06c::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-13dd06c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-7d24773{--display:flex;--justify-content:center;--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-14 .elementor-element.elementor-element-7d24773.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-1d4aab9{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-7dde285{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-7dde285.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-7dde285 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-e18c2c5{--n-accordion-title-font-size:20px;width:var( --container-widget-width, 1200px );max-width:1200px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 23px 0px;--container-widget-width:1200px;--container-widget-flex-grow:0;border-style:none;border-radius:0px 0px 0px 0px;--n-accordion-title-justify-content:center;--n-accordion-title-flex-grow:initial;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:22px;--n-accordion-item-title-distance-from-content:8px;--n-accordion-border-radius:13px 13px 13px 13px;--n-accordion-title-normal-color:#222078;--n-accordion-title-active-color:#FFFFFF;--n-accordion-icon-size:15px;}.elementor-14 .elementor-element.elementor-element-e18c2c5 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#F0F0F059;border-style:solid;border-width:1px 1px 1px 1px;border-color:#22207880;}.elementor-14 .elementor-element.elementor-element-e18c2c5 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#222078;border-style:solid;}.elementor-14 .elementor-element.elementor-element-e18c2c5.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-e18c2c5:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-e18c2c5 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{border-style:solid;border-color:#BDBDBD;}.elementor-14 .elementor-element.elementor-element-e18c2c5 {--n-accordion-padding:5px 5px 5px 5px;}:where( .elementor-14 .elementor-element.elementor-element-e18c2c5 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Outfit", Sans-serif;font-weight:500;}:where( .elementor-14 .elementor-element.elementor-element-e18c2c5 > .e-n-accordion > .e-n-accordion-item ) > .e-con{--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-right:10px;--padding-bottom:0px;--padding-left:10px;}.elementor-14 .elementor-element.elementor-element-cea833a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-cea833a:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-cea833a, .elementor-14 .elementor-element.elementor-element-cea833a::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-fc4fd0d{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-fc4fd0d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-aadb232{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-941c370{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-941c370.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-941c370 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-713d05a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-713d05a:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-713d05a, .elementor-14 .elementor-element.elementor-element-713d05a::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-567eef3{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-567eef3:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-567eef3, .elementor-14 .elementor-element.elementor-element-567eef3::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-567eef3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-98c2267{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-98c2267.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-db5574f img{width:100%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-7ae6662{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-1f94ee5{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-1f94ee5.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-1f94ee5 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-cc4bdfe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-cc4bdfe:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-cc4bdfe, .elementor-14 .elementor-element.elementor-element-cc4bdfe::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-da23ba8{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-da23ba8:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-da23ba8, .elementor-14 .elementor-element.elementor-element-da23ba8::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-da23ba8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-12f8be4{--display:flex;--justify-content:center;--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-14 .elementor-element.elementor-element-12f8be4.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-bad9a94{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-a8b4572{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-a8b4572.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-a8b4572 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-0656254{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-0656254:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-0656254, .elementor-14 .elementor-element.elementor-element-0656254::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-d676796{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-d676796:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-d676796, .elementor-14 .elementor-element.elementor-element-d676796::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-d676796.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-7d542f9{--display:flex;--justify-content:center;--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-14 .elementor-element.elementor-element-7d542f9.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-6ce61f0 img{width:45%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-2b37432{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-fb725eb{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-fb725eb.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-fb725eb p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-d20621f{--n-accordion-title-font-size:20px;width:var( --container-widget-width, 1200px );max-width:1200px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 23px 0px;--container-widget-width:1200px;--container-widget-flex-grow:0;border-style:none;border-radius:0px 0px 0px 0px;--n-accordion-title-justify-content:center;--n-accordion-title-flex-grow:initial;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:22px;--n-accordion-item-title-distance-from-content:8px;--n-accordion-border-radius:13px 13px 13px 13px;--n-accordion-title-normal-color:#222078;--n-accordion-title-active-color:#FFFFFF;--n-accordion-icon-size:15px;}.elementor-14 .elementor-element.elementor-element-d20621f > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#F0F0F059;border-style:solid;border-width:1px 1px 1px 1px;border-color:#22207880;}.elementor-14 .elementor-element.elementor-element-d20621f > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#222078;border-style:solid;}.elementor-14 .elementor-element.elementor-element-d20621f.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-d20621f:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-d20621f > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{border-style:solid;border-color:#BDBDBD;}.elementor-14 .elementor-element.elementor-element-d20621f {--n-accordion-padding:5px 5px 5px 5px;}:where( .elementor-14 .elementor-element.elementor-element-d20621f > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Outfit", Sans-serif;font-weight:500;}:where( .elementor-14 .elementor-element.elementor-element-d20621f > .e-n-accordion > .e-n-accordion-item ) > .e-con{--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-right:10px;--padding-bottom:0px;--padding-left:10px;}.elementor-14 .elementor-element.elementor-element-3619c3a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-3619c3a:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-3619c3a, .elementor-14 .elementor-element.elementor-element-3619c3a::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-f10a749{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-f10a749.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-4c68ec9{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-82f3455{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-82f3455.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-82f3455 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-e83d629{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-e83d629:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-e83d629, .elementor-14 .elementor-element.elementor-element-e83d629::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-07fc2c6{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-07fc2c6:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-07fc2c6, .elementor-14 .elementor-element.elementor-element-07fc2c6::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-07fc2c6.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-e8329fe{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-e8329fe.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-b238616 img{width:45%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-d13ee3b{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-e95d0fd{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-e95d0fd.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-e95d0fd p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-eda9b3b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-eda9b3b:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-eda9b3b, .elementor-14 .elementor-element.elementor-element-eda9b3b::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-41f1c55{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-41f1c55:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-41f1c55, .elementor-14 .elementor-element.elementor-element-41f1c55::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-41f1c55.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-77528e1{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-77528e1.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-9a3a7eb{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-ae3186f{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-ae3186f.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-ae3186f p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-d9036a4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-d9036a4:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-d9036a4, .elementor-14 .elementor-element.elementor-element-d9036a4::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-c4065e9{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-c4065e9:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-c4065e9, .elementor-14 .elementor-element.elementor-element-c4065e9::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-c4065e9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-4b69cd1{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-4b69cd1.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-2de8c8b img{width:45%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-027c7b7{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-8995b48{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-8995b48.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-8995b48 p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-d0de268{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;}.elementor-14 .elementor-element.elementor-element-d0de268:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-d0de268, .elementor-14 .elementor-element.elementor-element-d0de268::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-8f887af{--display:flex;--justify-content:center;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-8f887af:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-14 .elementor-element.elementor-element-8f887af, .elementor-14 .elementor-element.elementor-element-8f887af::before{--border-transition:0.3s;}.elementor-14 .elementor-element.elementor-element-8f887af.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-788e6d0{--display:flex;--justify-content:flex-start;--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-14 .elementor-element.elementor-element-788e6d0.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-715da8c img{width:45%;border-radius:20px 20px 20px 20px;}.elementor-14 .elementor-element.elementor-element-7896b59{--display:flex;--justify-content:center;}.elementor-14 .elementor-element.elementor-element-8a753ed{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-8a753ed.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-8a753ed p{margin-block-end:0px;}.elementor-14 .elementor-element.elementor-element-b003832{--n-accordion-title-font-size:20px;width:var( --container-widget-width, 1200px );max-width:1200px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 23px 0px;--container-widget-width:1200px;--container-widget-flex-grow:0;border-style:none;border-radius:0px 0px 0px 0px;--n-accordion-title-justify-content:center;--n-accordion-title-flex-grow:initial;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:22px;--n-accordion-item-title-distance-from-content:8px;--n-accordion-border-radius:13px 13px 13px 13px;--n-accordion-title-normal-color:#222078;--n-accordion-title-active-color:#FFFFFF;--n-accordion-icon-size:15px;}.elementor-14 .elementor-element.elementor-element-b003832 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#F0F0F059;border-style:solid;border-width:1px 1px 1px 1px;border-color:#22207880;}.elementor-14 .elementor-element.elementor-element-b003832 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#222078;border-style:solid;}.elementor-14 .elementor-element.elementor-element-b003832.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-b003832:hover{border-style:none;}.elementor-14 .elementor-element.elementor-element-b003832 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{border-style:solid;border-color:#BDBDBD;}.elementor-14 .elementor-element.elementor-element-b003832 {--n-accordion-padding:5px 5px 5px 5px;}:where( .elementor-14 .elementor-element.elementor-element-b003832 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Outfit", Sans-serif;font-weight:500;}:where( .elementor-14 .elementor-element.elementor-element-b003832 > .e-n-accordion > .e-n-accordion-item ) > .e-con{--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-right:10px;--padding-bottom:0px;--padding-left:10px;}.elementor-14 .elementor-element.elementor-element-3bffaba{--display:flex;}.elementor-14 .elementor-element.elementor-element-aa7034e{padding:20px 0px 20px 00px;text-align:center;}.elementor-14 .elementor-element.elementor-element-aa7034e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:800;text-transform:uppercase;color:#222078;}.elementor-14 .elementor-element.elementor-element-eefb94c{width:var( --container-widget-width, 60% );max-width:60%;padding:0px 0px 30px 0px;--container-widget-width:60%;--container-widget-flex-grow:0;text-align:center;font-family:"Outfit", Sans-serif;font-size:15px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-eefb94c.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.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-14 .elementor-element.elementor-element-4b4270d .elementor-button{background-color:#ca0a12;border-style:solid;border-width:1px 1px 1px 1px;border-radius:43px 43px 43px 43px;padding:15px 19px 15px 19px;}.elementor-14 .elementor-element.elementor-element-4b4270d .elementor-button:hover, .elementor-14 .elementor-element.elementor-element-4b4270d .elementor-button:focus{background-color:#CA0A1299;color:#FFFFFF;border-color:#ca0a12;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-14 .elementor-element.elementor-element-4b4270d{padding:3px 3px 3px 3px;}.elementor-14 .elementor-element.elementor-element-4b4270d.elementor-element{--order:99999 /* order end hack */;}.elementor-14 .elementor-element.elementor-element-4b4270d .elementor-button:hover svg, .elementor-14 .elementor-element.elementor-element-4b4270d .elementor-button:focus svg{fill:#FFFFFF;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-14 .elementor-element.elementor-element-3c2ada1{--content-width:1200px;}.elementor-14 .elementor-element.elementor-element-1c9498b{--width:1200px;}.elementor-14 .elementor-element.elementor-element-245690b{--width:25%;}.elementor-14 .elementor-element.elementor-element-9ac42e4{--width:25%;}.elementor-14 .elementor-element.elementor-element-bbf08bc{--width:25%;}.elementor-14 .elementor-element.elementor-element-d40971e{--width:25%;}.elementor-14 .elementor-element.elementor-element-1f455fb{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-99637d8{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-cbb4ca2{--width:100%;}.elementor-14 .elementor-element.elementor-element-595fb93{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-3f8f086{--width:100%;}.elementor-14 .elementor-element.elementor-element-60c83b7{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-606d9b6{--width:100%;}.elementor-14 .elementor-element.elementor-element-6e8e74f{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-b8f178f{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-e65ef6e{--width:100%;}.elementor-14 .elementor-element.elementor-element-8e01137{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-aa0db52{--width:100%;}.elementor-14 .elementor-element.elementor-element-13dd06c{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-7d24773{--width:100%;}.elementor-14 .elementor-element.elementor-element-fc4fd0d{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-567eef3{--width:45%;}.elementor-14 .elementor-element.elementor-element-98c2267{--width:72%;}.elementor-14 .elementor-element.elementor-element-da23ba8{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-12f8be4{--width:100%;}.elementor-14 .elementor-element.elementor-element-d676796{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-7d542f9{--width:100%;}.elementor-14 .elementor-element.elementor-element-f10a749{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-07fc2c6{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-e8329fe{--width:100%;}.elementor-14 .elementor-element.elementor-element-41f1c55{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-77528e1{--width:100%;}.elementor-14 .elementor-element.elementor-element-c4065e9{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-4b69cd1{--width:100%;}.elementor-14 .elementor-element.elementor-element-8f887af{--width:60.059%;}.elementor-14 .elementor-element.elementor-element-788e6d0{--width:100%;}}@media(max-width:1024px){.elementor-14 .elementor-element.elementor-element-50ed19e .elementor-heading-title{font-size:45px;}.elementor-14 .elementor-element.elementor-element-d8ae9e3{width:var( --container-widget-width, 80% );max-width:80%;padding:0% 0% 10% 0%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-4137b36{width:var( --container-widget-width, 80% );max-width:80%;padding:0% 0% 10% 0%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-9800a6b{width:var( --container-widget-width, 80% );max-width:80%;padding:0% 0% 10% 0%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-3ac9d8a{width:var( --container-widget-width, 80% );max-width:80%;padding:0% 0% 10% 0%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-5948689{--n-accordion-title-font-size:17px;}.elementor-14 .elementor-element.elementor-element-e18c2c5{--n-accordion-title-font-size:17px;}.elementor-14 .elementor-element.elementor-element-d20621f{--n-accordion-title-font-size:17px;}.elementor-14 .elementor-element.elementor-element-b003832{--n-accordion-title-font-size:17px;}}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-50ed19e .elementor-heading-title{font-size:40px;}.elementor-14 .elementor-element.elementor-element-27b9a96{width:100%;max-width:100%;font-size:14px;}.elementor-14 .elementor-element.elementor-element-d8ae9e3{padding:0% 0% 4% 0%;}.elementor-14 .elementor-element.elementor-element-d8ae9e3.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-9ac42e4{--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-14 .elementor-element.elementor-element-4137b36{padding:0% 0% 4% 0%;}.elementor-14 .elementor-element.elementor-element-4137b36.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-bbf08bc{--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-14 .elementor-element.elementor-element-9800a6b{padding:0% 0% 4% 0%;}.elementor-14 .elementor-element.elementor-element-9800a6b.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-d40971e{--padding-top:10%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-14 .elementor-element.elementor-element-3ac9d8a{padding:0% 0% 4% 0%;}.elementor-14 .elementor-element.elementor-element-3ac9d8a.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-0f81cc1{width:100%;max-width:100%;font-size:14px;}.elementor-14 .elementor-element.elementor-element-4571a63{font-size:13px;}.elementor-14 .elementor-element.elementor-element-40be337{font-size:13px;}.elementor-14 .elementor-element.elementor-element-cc7acdd{font-size:13px;}.elementor-14 .elementor-element.elementor-element-76f8895{font-size:13px;}.elementor-14 .elementor-element.elementor-element-5948689{--n-accordion-title-font-size:14px;}.elementor-14 .elementor-element.elementor-element-a84b3e2{font-size:13px;}.elementor-14 .elementor-element.elementor-element-2bcb02c{font-size:13px;}.elementor-14 .elementor-element.elementor-element-e5d44ed{font-size:13px;}.elementor-14 .elementor-element.elementor-element-7dde285{font-size:13px;}.elementor-14 .elementor-element.elementor-element-e18c2c5{--n-accordion-title-font-size:14px;}.elementor-14 .elementor-element.elementor-element-941c370{font-size:13px;}.elementor-14 .elementor-element.elementor-element-1f94ee5{font-size:13px;}.elementor-14 .elementor-element.elementor-element-a8b4572{font-size:13px;}.elementor-14 .elementor-element.elementor-element-fb725eb{font-size:13px;}.elementor-14 .elementor-element.elementor-element-d20621f{--n-accordion-title-font-size:14px;}.elementor-14 .elementor-element.elementor-element-82f3455{font-size:13px;}.elementor-14 .elementor-element.elementor-element-e95d0fd{font-size:13px;}.elementor-14 .elementor-element.elementor-element-ae3186f{font-size:13px;}.elementor-14 .elementor-element.elementor-element-8995b48{font-size:13px;}.elementor-14 .elementor-element.elementor-element-8a753ed{font-size:13px;}.elementor-14 .elementor-element.elementor-element-b003832{--n-accordion-title-font-size:14px;}.elementor-14 .elementor-element.elementor-element-eefb94c{width:100%;max-width:100%;font-size:14px;}}/* Start custom CSS for html, class: .elementor-element-089e6bc *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8162a86 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-877d153 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42f82f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-089e6bc *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8162a86 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-877d153 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42f82f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-089e6bc *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8162a86 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-877d153 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42f82f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-089e6bc *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8162a86 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-877d153 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42f82f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-089e6bc *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8162a86 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-877d153 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42f82f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12941d4 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-09ef7f2 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1d40a0e *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-021acf3 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12941d4 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-09ef7f2 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1d40a0e *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-021acf3 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12941d4 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-09ef7f2 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1d40a0e *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-021acf3 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12941d4 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-09ef7f2 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1d40a0e *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-021acf3 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12941d4 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-09ef7f2 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1d40a0e *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-021acf3 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a85948 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-db5574f *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6eec5f5 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6ce61f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a85948 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-db5574f *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6eec5f5 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6ce61f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a85948 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-db5574f *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6eec5f5 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6ce61f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a85948 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-db5574f *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6eec5f5 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6ce61f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a85948 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-db5574f *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6eec5f5 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6ce61f0 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d30ed99 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b238616 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d53afe *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2de8c8b *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-715da8c *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d30ed99 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b238616 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d53afe *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2de8c8b *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-715da8c *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d30ed99 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b238616 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d53afe *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2de8c8b *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-715da8c *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d30ed99 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b238616 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d53afe *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2de8c8b *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-715da8c *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d30ed99 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b238616 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d53afe *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2de8c8b *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-715da8c *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d30ed99 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b238616 *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d53afe *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2de8c8b *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-715da8c *//* Contenedor principal que oculta el desbordamiento */
.carrusel-viewport {
  width: 100%; /* Ocupa todo el ancho */
  overflow: hidden; /* Oculta las imágenes fuera de vista */
  background-color: #ffffff; /* El fondo suave de tu ejemplo */
  padding: 0px 0; /* Espaciado superior e inferior para el diseño */
}

/* La 'cinta' interna que se mueve */
.carrusel-track {
  display: flex;
  width: max-content; /* Se ajusta automáticamente al ancho de todas las imágenes */
  
  /* Optimizaciones de rendimiento (Aceleración por GPU) */
  transform: translate3d(0, 0, 0); 
  will-change: transform; 
  
  /* Definición de la animación infinita y fluida */
  animation: carrusel-infinito 30s linear infinite; /* Ajusta '30s' para velocidad */
}

/* Estilos individuales para las imágenes */
.carrusel-track img {
  /* Control de tamaño */
  width: auto; /* Mantener proporción */
  height: 200px; /* Altura aumentada para que coincida con tu ejemplo */
  max-width: 350px; /* Ancho máximo para mayor control */
  object-fit: cover; /* Recortar para llenar sin estirar */
  
  /* Estilos visuales del ejemplo */
  margin: 0 3px; /* Espaciado entre imágenes (izquierda y derecha) */
  border-radius: 20px; /* Bordes muy redondeados */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave para un toque premium */
  backface-visibility: hidden; /* Prevenir parpadeos */
}

/* Pausar al pasar el mouse (para mejor UX) */
.carrusel-viewport:hover .carrusel-track {
  animation-play-state: paused;
}

/* Definición matemática de la animación para bucle infinito */
@keyframes carrusel-infinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Desplaza la cinta hacia la izquierda.
       Como duplicamos las imágenes (de 3 a 6),
       nos movemos exactamente -50% para que el bucle sea invisible */
    transform: translate3d(-50%, 0, 0); 
  }
}/* End custom CSS */