.elementor-15 .elementor-element.elementor-element-199c778{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.5;}.elementor-15 .elementor-element.elementor-element-199c778::before, .elementor-15 .elementor-element.elementor-element-199c778 > .elementor-background-video-container::before, .elementor-15 .elementor-element.elementor-element-199c778 > .e-con-inner > .elementor-background-video-container::before, .elementor-15 .elementor-element.elementor-element-199c778 > .elementor-background-slideshow::before, .elementor-15 .elementor-element.elementor-element-199c778 > .e-con-inner > .elementor-background-slideshow::before, .elementor-15 .elementor-element.elementor-element-199c778 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0919c54 );--background-overlay:'';}.elementor-15 .elementor-element.elementor-element-86004d9{--display:flex;--min-height:80vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-86004d9.e-con{--align-self:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );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-15 .elementor-element.elementor-element-fe20619{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFFBF;}.elementor-15 .elementor-element.elementor-element-4af3680{--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:100px 100px;--row-gap:100px;--column-gap:100px;}.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-15 .elementor-element.elementor-element-6a04b01 .elementor-button{background-color:#1868C1;font-family:"Satoshi", Sans-serif;font-weight:600;fill:#FFFFFF;color:#FFFFFF;box-shadow:0px 6px 20px 0px rgba(0, 0, 0, 0.25);}.elementor-15 .elementor-element.elementor-element-6a04b01 .elementor-button:hover, .elementor-15 .elementor-element.elementor-element-6a04b01 .elementor-button:focus{background-color:#60E0F3;color:#FFFFFF;box-shadow:0px 10px 30px 0px rgba(0, 0, 0, 0.35);}.elementor-15 .elementor-element.elementor-element-6a04b01 .elementor-button:hover svg, .elementor-15 .elementor-element.elementor-element-6a04b01 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-9862f84 .elementor-button{background-color:#00000059;font-family:"Satoshi", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-color:#FFFFFF66;}.elementor-15 .elementor-element.elementor-element-9862f84 .elementor-button:hover, .elementor-15 .elementor-element.elementor-element-9862f84 .elementor-button:focus{background-color:#FFFFFF1A;border-color:#FFFFFF66;}.elementor-15 .elementor-element.elementor-element-731c177{--display:flex;}.elementor-15 .elementor-element.elementor-element-ec3a1f4{--display:flex;}.elementor-15 .elementor-element.elementor-element-ec3a1f4.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-15 .elementor-element.elementor-element-279b6fc{--display:flex;--min-height:20vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;--padding-top:120px;--padding-bottom:040px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-1a3d513{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;}.elementor-15 .elementor-element.elementor-element-1a3d513.e-con{--align-self:flex-start;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-edca3a3.elementor-element{--align-self:flex-start;}.elementor-15 .elementor-element.elementor-element-edca3a3{text-align:start;}.elementor-15 .elementor-element.elementor-element-edca3a3 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:14px;font-weight:600;line-height:15px;letter-spacing:2px;color:#547AB0;}.elementor-15 .elementor-element.elementor-element-de865d9{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:400;line-height:23px;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-e92a58e{--display:flex;}.elementor-15 .elementor-element.elementor-element-3256697{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:20px 20px;--row-gap:20px;--column-gap:20px;--grid-auto-flow:row;}.elementor-15 .elementor-element.elementor-element-946ab00{--display:flex;}.elementor-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-widget-lottie .e-lottie__caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-15 .elementor-element.elementor-element-68dd5f0 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:600;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-c2280f8{font-family:"Satoshi", Sans-serif;font-size:14px;font-weight:400;line-height:17px;color:#FFFFFFA6;}.elementor-15 .elementor-element.elementor-element-564e412{--display:flex;}.elementor-15 .elementor-element.elementor-element-f221fc1 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:600;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-355000d{font-family:"Satoshi", Sans-serif;font-size:14px;font-weight:400;line-height:17px;color:#FFFFFFA6;}.elementor-15 .elementor-element.elementor-element-166da8e{--display:flex;}.elementor-15 .elementor-element.elementor-element-80406b6 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:600;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-2aa45b0{font-family:"Satoshi", Sans-serif;font-size:14px;font-weight:400;line-height:17px;color:#FFFFFFA6;}.elementor-15 .elementor-element.elementor-element-ac00820{--display:flex;}.elementor-15 .elementor-element.elementor-element-bb8be92 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:600;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-f4175e9{font-family:"Satoshi", Sans-serif;font-size:14px;font-weight:400;line-height:17px;color:#FFFFFFA6;}.elementor-15 .elementor-element.elementor-element-a10bf90{--display:flex;--min-height:70vh;}.elementor-15 .elementor-element.elementor-element-ff2b139 .elementor-heading-title{color:#1868C1;}.elementor-15 .elementor-element.elementor-element-b5649aa{--display:flex;}.elementor-15 .elementor-element.elementor-element-8b28ce9{--display:flex;}.elementor-15 .elementor-element.elementor-element-53b7ea9{--display:flex;}.elementor-15 .elementor-element.elementor-element-abed6c4{--display:flex;}.elementor-15 .elementor-element.elementor-element-d7e39f4{--display:flex;}.elementor-15 .elementor-element.elementor-element-f400b34{--display:flex;}.elementor-15 .elementor-element.elementor-element-4d7a26f{--display:flex;}.elementor-15 .elementor-element.elementor-element-4105dcc{--display:flex;}.elementor-15 .elementor-element.elementor-element-67b72e6{--display:flex;}.elementor-15 .elementor-element.elementor-element-41ddbb4{--display:flex;}.elementor-15 .elementor-element.elementor-element-2f7754b{--display:flex;}.elementor-15 .elementor-element.elementor-element-008afec{--display:flex;}.elementor-15 .elementor-element.elementor-element-4a356b7{--display:flex;}.elementor-15 .elementor-element.elementor-element-4ccaca2{--display:flex;}.elementor-15 .elementor-element.elementor-element-0f7aba2{--display:flex;}.elementor-15 .elementor-element.elementor-element-20dc8c5{--display:flex;}.elementor-15 .elementor-element.elementor-element-062f0da{--display:flex;}.elementor-15 .elementor-element.elementor-element-4ee66e5{--display:flex;}.elementor-15 .elementor-element.elementor-element-feb4892{--display:flex;}.elementor-15 .elementor-element.elementor-element-58b863b{--display:flex;}.elementor-15 .elementor-element.elementor-element-4bca57d{--display:flex;}.elementor-15 .elementor-element.elementor-element-d947084{--display:flex;}.elementor-15 .elementor-element.elementor-element-d9e0fe9{--display:flex;}.elementor-15 .elementor-element.elementor-element-6ff7493{--display:flex;}.elementor-15 .elementor-element.elementor-element-21df0f8{--display:flex;}.elementor-15 .elementor-element.elementor-element-b57e41a{--display:flex;}.elementor-15 .elementor-element.elementor-element-cc5e7bf{--display:flex;}.elementor-15 .elementor-element.elementor-element-04500c3{--display:flex;}.elementor-15 .elementor-element.elementor-element-01f7ffb{--display:flex;}.elementor-15 .elementor-element.elementor-element-88aeb4b{--display:flex;}.elementor-15 .elementor-element.elementor-element-ad0e138{--display:flex;}.elementor-15 .elementor-element.elementor-element-63775a8{--display:flex;}.elementor-15 .elementor-element.elementor-element-eebc60a{--display:flex;}.elementor-15 .elementor-element.elementor-element-c539541{--display:flex;}.elementor-15 .elementor-element.elementor-element-59dd262{--display:flex;}.elementor-15 .elementor-element.elementor-element-e2f99e0{--display:flex;}.elementor-15 .elementor-element.elementor-element-f2161fa{--display:flex;}.elementor-15 .elementor-element.elementor-element-bf88f0c{--display:flex;}.elementor-15 .elementor-element.elementor-element-69ef72e{--display:flex;}.elementor-15 .elementor-element.elementor-element-3b9696d{--display:flex;}.elementor-15 .elementor-element.elementor-element-c564f7a{--display:flex;}.elementor-15 .elementor-element.elementor-element-3406045{--display:flex;}.elementor-15 .elementor-element.elementor-element-d77ae9a{--display:flex;}.elementor-15 .elementor-element.elementor-element-c8acfba{--display:flex;}.elementor-15 .elementor-element.elementor-element-6b9fb41{--display:flex;}.elementor-15 .elementor-element.elementor-element-57a4552{--n-accordion-title-font-size:1rem;background-color:#0D0D0D94;padding:0px 0px 0px 0px;border-style:none;border-radius:0px 0px 0px 0px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:20px 20px 0px 0px;--n-accordion-icon-size:15px;--n-accordion-icon-gap:12px;}.elementor-15 .elementor-element.elementor-element-57a4552 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#0D0D0D6B;}.elementor-15 .elementor-element.elementor-element-57a4552:hover{border-radius:0px 0px 0px 0px;}:where( .elementor-15 .elementor-element.elementor-element-57a4552 > .e-n-accordion > .e-n-accordion-item ) > .e-con{--border-radius:0px 00px 20px 20px;}.elementor-15 .elementor-element.elementor-element-72d7dac{--display:flex;}.elementor-15 .elementor-element.elementor-element-ee59cfa{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-15 .elementor-element.elementor-element-a1cea51{--display:flex;}.elementor-15 .elementor-element.elementor-element-a917bc1{--display:flex;--justify-content:flex-start;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-15 .elementor-element.elementor-element-30a7e15{--display:flex;}.elementor-15 .elementor-element.elementor-element-3e44512{--display:flex;}.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-15 .elementor-element.elementor-element-6b738f4 .elementor-icon-wrapper{text-align:center;}.elementor-15 .elementor-element.elementor-element-be23c06{--display:flex;}.elementor-15 .elementor-element.elementor-element-1e30210 .elementor-icon-wrapper{text-align:center;}.elementor-15 .elementor-element.elementor-element-d110d52{--display:flex;}.elementor-15 .elementor-element.elementor-element-095a754 .elementor-icon-wrapper{text-align:center;}.elementor-15 .elementor-element.elementor-element-74ac4ef{--display:flex;}.elementor-15 .elementor-element.elementor-element-978a1a0 .elementor-icon-wrapper{text-align:center;}.elementor-15 .elementor-element.elementor-element-27bce45{--display:flex;}.elementor-15 .elementor-element.elementor-element-a4a3bb4 .elementor-icon-wrapper{text-align:center;}.elementor-15 .elementor-element.elementor-element-11c48c1{--display:flex;}.elementor-15 .elementor-element.elementor-element-87ad659 .elementor-icon-wrapper{text-align:center;}.elementor-15 .elementor-element.elementor-element-761c8fc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-15 .elementor-element.elementor-element-081b00c{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-15 .elementor-element.elementor-element-b1b5a47 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:48px;font-weight:700;line-height:1.2px;color:#C6C0C094;}.elementor-15 .elementor-element.elementor-element-114834b{--display:flex;}.elementor-15 .elementor-element.elementor-element-0c1aafd{--display:flex;}.elementor-15 .elementor-element.elementor-element-fa04a82{text-align:start;}.elementor-15 .elementor-element.elementor-element-a2240a1{--display:flex;}.elementor-15 .elementor-element.elementor-element-116231a{--display:flex;}.elementor-15 .elementor-element.elementor-element-464ffac{--display:flex;}.elementor-15 .elementor-element.elementor-element-1979a6b{--display:flex;}.elementor-15 .elementor-element.elementor-element-05add8e{--display:flex;}.elementor-15 .elementor-element.elementor-element-54b02bc{--display:flex;}.elementor-15 .elementor-element.elementor-element-2d2d5ab{--display:flex;}.elementor-15 .elementor-element.elementor-element-5386983 .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:12px;font-weight:700;line-height:1.2px;color:#546A78;}.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:0px;--swiper-pagination-bullet-vertical-gap:0px;}.elementor-15 .elementor-element.elementor-element-27dd325 .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-style:solid;border-width:0.5px 0.5px 0.5px 0.5px;border-radius:16px 16px 16px 16px;}.elementor-15 .elementor-element.elementor-element-27dd325 .elementor-image-carousel-caption{text-align:center;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-d698907{--display:flex;}.elementor-15 .elementor-element.elementor-element-5dd03a0{--display:flex;}.elementor-15 .elementor-element.elementor-element-534ee5b{--display:flex;}.elementor-15 .elementor-element.elementor-element-1502c90{--display:flex;}.elementor-15 .elementor-element.elementor-element-6a4c562{--display:flex;}.elementor-15 .elementor-element.elementor-element-71c190a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-15 .elementor-element.elementor-element-3b96fbe{padding:5px 5px 5px 5px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group.recaptcha_v3-bottomleft, .elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-labels-inline .elementor-field-group > label{padding-left:5px;}body:not(.rtl) .elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-labels-inline .elementor-field-group > label{padding-right:5px;}body .elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-labels-above .elementor-field-group > label{padding-bottom:5px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group > label{font-family:"Satoshi", Sans-serif;font-size:18px;font-weight:400;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-type-html{padding-bottom:0px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:16px 16px 16px 16px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:16px 16px 16px 16px;}.elementor-15 .elementor-element.elementor-element-3b96fbe .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button[type="submit"]{color:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button{border-radius:20px 20px 20px 20px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-fe20619{font-size:16px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-15 .elementor-element.elementor-element-edca3a3 .elementor-heading-title{font-size:36px;}.elementor-15 .elementor-element.elementor-element-de865d9{font-size:16px;}.elementor-15 .elementor-element.elementor-element-3256697{--grid-auto-flow:row;}.elementor-widget-lottie .e-lottie__caption{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-68dd5f0 .elementor-heading-title{font-size:36px;}.elementor-15 .elementor-element.elementor-element-c2280f8{font-size:16px;}.elementor-15 .elementor-element.elementor-element-f221fc1 .elementor-heading-title{font-size:36px;}.elementor-15 .elementor-element.elementor-element-355000d{font-size:16px;}.elementor-15 .elementor-element.elementor-element-80406b6 .elementor-heading-title{font-size:36px;}.elementor-15 .elementor-element.elementor-element-2aa45b0{font-size:16px;}.elementor-15 .elementor-element.elementor-element-bb8be92 .elementor-heading-title{font-size:36px;}.elementor-15 .elementor-element.elementor-element-f4175e9{font-size:16px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-b1b5a47 .elementor-heading-title{font-size:36px;}.elementor-15 .elementor-element.elementor-element-5386983 .elementor-heading-title{font-size:36px;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group > label{font-size:16px;}}@media(max-width:767px){.elementor-15 .elementor-element.elementor-element-199c778::before, .elementor-15 .elementor-element.elementor-element-199c778 > .elementor-background-video-container::before, .elementor-15 .elementor-element.elementor-element-199c778 > .e-con-inner > .elementor-background-video-container::before, .elementor-15 .elementor-element.elementor-element-199c778 > .elementor-background-slideshow::before, .elementor-15 .elementor-element.elementor-element-199c778 > .e-con-inner > .elementor-background-slideshow::before, .elementor-15 .elementor-element.elementor-element-199c778 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://sarhstudio.com/wp-content/uploads/2026/04/Imagen-Hero-Fondo-alternativo-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:contain;}.elementor-15 .elementor-element.elementor-element-199c778{--min-height:71vh;--justify-content:center;--overlay-opacity:0.8;}.elementor-15 .elementor-element.elementor-element-86004d9{--content-width:800px;--min-height:0vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-fe20619{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;font-size:12px;line-height:1.6em;}.elementor-15 .elementor-element.elementor-element-4af3680{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:12px 0px;--row-gap:12px;--column-gap:0px;}.elementor-15 .elementor-element.elementor-element-6a04b01 .elementor-button{font-size:14px;letter-spacing:0.5px;border-radius:24px 24px 24px 24px;padding:12px 024px 012px 024px;}.elementor-15 .elementor-element.elementor-element-9862f84 .elementor-button{font-size:14px;letter-spacing:0.5px;border-width:1px 1px 1px 1px;border-radius:24px 24px 24px 24px;padding:12px 24px 12px 24px;}.elementor-15 .elementor-element.elementor-element-279b6fc{--width:1200px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:080px;--padding-bottom:020px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-15 .elementor-element.elementor-element-edca3a3 .elementor-heading-title{font-size:12px;}.elementor-15 .elementor-element.elementor-element-de865d9{font-size:15px;line-height:1.6em;}.elementor-15 .elementor-element.elementor-element-3256697{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-lottie .e-lottie__caption{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-68dd5f0 .elementor-heading-title{font-size:28px;}.elementor-15 .elementor-element.elementor-element-c2280f8{font-size:15px;line-height:1.6em;}.elementor-15 .elementor-element.elementor-element-f221fc1 .elementor-heading-title{font-size:28px;}.elementor-15 .elementor-element.elementor-element-355000d{font-size:15px;line-height:1.6em;}.elementor-15 .elementor-element.elementor-element-80406b6 .elementor-heading-title{font-size:28px;}.elementor-15 .elementor-element.elementor-element-2aa45b0{font-size:15px;line-height:1.6em;}.elementor-15 .elementor-element.elementor-element-bb8be92 .elementor-heading-title{font-size:28px;}.elementor-15 .elementor-element.elementor-element-f4175e9{font-size:15px;line-height:1.6em;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-b1b5a47 .elementor-heading-title{font-size:28px;}.elementor-15 .elementor-element.elementor-element-114834b:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-114834b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sarhstudio.com/wp-content/uploads/2026/04/az.png");}.elementor-15 .elementor-element.elementor-element-5386983 .elementor-heading-title{font-size:28px;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-group > label{font-size:15px;line-height:1.6em;}}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-86004d9{--content-width:900px;}.elementor-15 .elementor-element.elementor-element-ec3a1f4{--width:101.824%;}.elementor-15 .elementor-element.elementor-element-e92a58e{--width:60%;}}/* Start custom CSS for container, class: .elementor-element-199c778 *//* =============================================
   1. RESET DE FONDOS Y CAPAS
   ============================================= */
.hero-video-master {
    position: relative !important;
    overflow: hidden !important;
    background-color: #000 !important;
    z-index: 1 !important;
}

/* Imagen fallback */
.hero-video-master {
    background-image: url('https://sarhstudio.com/wp-content/uploads/2026/04/Imagen-Hero-Fondo-alternativo-scaled.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

@media (max-width: 767px) {
    .hero-video-master {
        background-image: url('URL_DE_TU_IMAGEN_MOVIL.jpg') !important;
    }

    .hero-video-master > .elementor-background-video-container,
    .hero-video-master > .elementor-background-overlay,
    .hero-video-master > .elementor-motion-effects-layer {
        display: none !important;
        opacity: 0 !important;
    }
}

/* =============================================
   2. VIDEO MÓVIL
   ============================================= */
.video-mobile-container {
    display: none;
}

@media (max-width: 767px) {
    .video-mobile-container {
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        pointer-events: none;
    }

    .video-mobile-hero {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* =============================================
   3. TITULO
   ============================================= */
.hero-title {
    width: 100% !important;
    position: relative !important;
    z-index: 10 !important;
    text-align: center;
}

.hero-title h1 {
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    line-height: 0.9;
    margin: 0 auto !important;
    font-size: clamp(40px, 8vw, 100px);
}

.hero-title .line-1 {
    color: #FFFFFF !important;
}

.hero-title .line-2 {
    color: #ACC5FE !important;
}

@media (max-width: 767px) {
    .hero-title h1 {
        font-size: clamp(32px, 10vw, 42px) !important;
        line-height: 1.1 !important;
        padding: 0 15px !important;
    }
}

/* =============================================
   4. SUBTEXT
   ============================================= */
.hero-subtext p {
    text-align: center;
    color: #C0C5D6;
    margin: 10px auto 0 auto;
    max-width: 600px;
}

/* =============================================
   HERO BUTTON SYSTEM (CONSISTENTE CON TU DISEÑO)
   ============================================= */

/* CONTENEDOR (opcional si quieres centrar) */
.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
}

/* =============================================
   BASE DEL BOTÓN (CLASE GLOBAL)
   ============================================= */
.hero-btn .elementor-button {

    /* PROPORCIÓN EXACTA */
    border-radius: 100px !important;
    padding: 16px 35px !important;

    /* TIPOGRAFÍA */
    font-family: "Satoshi", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;

    /* BASE */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* =============================================
   BOTÓN PRIMARIO (AZUL)
   ============================================= */
.btn-primary .elementor-button {
    background: #4A8DFE !important;
    color: #FFFFFF !important;
    border: none !important;
}

/* =============================================
   BOTÓN SECUNDARIO (TRANSPARENTE)
   ============================================= */
.btn-secondary .elementor-button {
    background: transparent !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

/* =============================================
   ANIMACIONES (SEPARADAS)
   ============================================= */

/* 🔵 Animación Primaria (Glow Azul) */
.anim-primary .elementor-button:hover {
    transform: scale(1.08) !important;

    box-shadow: 
        0 0 20px rgba(74, 141, 254, 0.6),
        inset 0 0 10px rgba(74, 141, 254, 0.4) !important;
}

/* ⚪ Animación Secundaria (Borde Azul) */
.anim-secondary .elementor-button:hover {
    transform: scale(1.08) !important;

    border-color: #4A8DFE !important;
    color: #4A8DFE !important;

    box-shadow: 
        0 0 20px rgba(74, 141, 254, 0.4),
        inset 0 0 10px rgba(74, 141, 254, 0.2) !important;
}

/* =============================================
   MOBILE
   ============================================= */
@media (max-width: 767px) {

    .hero-btn .elementor-button {
        padding: 14px 26px !important;
        font-size: 10px !important;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-731c177 *//* 1. Propiedades Base (Para todos los dispositivos) */
.elementor-15 .elementor-element.elementor-element-731c177 {
    background-color: transparent !important;
    z-index: 1;
    pointer-events: none;
}

/* 2. Configuración para Desktop */
@media (min-width: 1025px) {
    .elementor-15 .elementor-element.elementor-element-731c177 {
        height: 150px !important;
        margin-top: -75px !important;
        margin-bottom: -75px !important;
        background-image: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%) !important;
    }
}

/* 3. Configuración para Móvil */
@media (max-width: 1024px) {
    .elementor-15 .elementor-element.elementor-element-731c177 {
        min-height: 400px !important; 
        margin-top: -200px !important; 
        margin-bottom: -200px !important; 
        background-image: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 42%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 58%, rgba(0,0,0,0) 100%) !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4e88cac */.elementor-15 .elementor-element.elementor-element-4e88cac .diag-heading-wrap{
  width: 100%;
  max-width: 520px;
}

.elementor-15 .elementor-element.elementor-element-4e88cac .diag-label{
  font-family: "Satoshi", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5f8fff;
  margin-bottom: 18px;
}

.elementor-15 .elementor-element.elementor-element-4e88cac .diag-heading{
  margin: 0;
  font-family: "Satoshi", sans-serif;
  font-size: 64px;
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: -1.5px;
  color: #ffffff;
}

.elementor-15 .elementor-element.elementor-element-4e88cac .diag-accent{
  color: #3b82f6;
}

.elementor-15 .elementor-element.elementor-element-4e88cac .diag-line{
  width: 60px;
  height: 3px;
  background: #3b82f6;
  border-radius: 999px;
  margin-top: 24px;
}

@media (max-width: 1024px){
  .elementor-15 .elementor-element.elementor-element-4e88cac .diag-heading{
    font-size: 48px;
    line-height: 1;
  }
}

@media (max-width: 767px){
  .elementor-15 .elementor-element.elementor-element-4e88cac .diag-heading-wrap{
    max-width: 100%;
  }

  .elementor-15 .elementor-element.elementor-element-4e88cac .diag-label{
    font-size: 11px;
    letter-spacing: 1.8px;
    margin-bottom: 14px;
  }

  .elementor-15 .elementor-element.elementor-element-4e88cac .diag-heading{
    font-size: 44px;
    line-height: 1;
    letter-spacing: -1px;
  }

  .elementor-15 .elementor-element.elementor-element-4e88cac .diag-line{
    width: 52px;
    margin-top: 18px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-de865d9 */.elementor-15 .elementor-element.elementor-element-de865d9 {
  display: block;
}

.elementor-15 .elementor-element.elementor-element-de865d9 {
  white-space: normal;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1a3d513 */.elementor-15 .elementor-element.elementor-element-1a3d513 {
  flex: 0 0 42%;
  min-width: 0;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68dd5f0 */.card-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #FFFFFF;

  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .card-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c2280f8 */.card-text {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-f221fc1 */.card-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #FFFFFF;

  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .card-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-355000d */.card-text {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-80406b6 */.card-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #FFFFFF;

  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .card-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2aa45b0 */.card-text {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-bb8be92 */.card-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #FFFFFF;

  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .card-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-f4175e9 */.card-text {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3256697 */.cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

@media (max-width: 768px) {
  .cards-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e92a58e */.elementor-15 .elementor-element.elementor-element-e92a58e {
  flex: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-279b6fc *//* ===== LAYOUT GENERAL ===== */

.elementor-15 .elementor-element.elementor-element-279b6fc {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  padding-top: clamp(72px, 8vw, 120px);
  padding-bottom: clamp(72px, 8vw, 120px);
  padding-left: clamp(20px, 6vw, 96px);
  padding-right: clamp(20px, 6vw, 96px);
  position: relative;
  z-index: 2;
  overflow-x: clip;
}

.section-diagnostico {
  display: flex;
  gap: 60px;
  align-items: center;
}

/* Columna izquierda */
.diagnostico-left {
  flex: 1 1 380px;
  max-width: 520px;
  min-width: 0;
}

/* Columna derecha */
.diagnostico-right {
  flex: 1 1 500px;
  min-width: 0;
}

/* Grid */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(12px, 2.5vw, 24px);
  align-items: stretch;
}

/* titulo de seccion */
/* ===== TÍTULO DE SECCIÓN: FASE DE DIAGNÓSTICO ===== */

/* Wrapper del widget */
.titulo-diagnostico {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 12px 0;
}

/* Texto real de Elementor */
.titulo-diagnostico .elementor-heading-title,
.titulo-diagnostico.elementor-heading-title {
  font-size: clamp(10px, 0.72vw, 13px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;

  letter-spacing: clamp(0.8px, 0.12vw, 1.8px);
  text-transform: uppercase;

  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;

  margin: 0;
}




/* ===== CARD BASE ===== */
.card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: rgba(0,0,0,0.58);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: clamp(16px, 3vw, 24px); 
  height: 100%;
  min-height: 200px;
}

.card:hover {
  transform: scale(1.03);
  border-color: rgba(88,166,255,0.3);
  box-shadow:
    0 0 0 1px rgba(88,166,255,0.08),
    0 8px 24px rgba(88,166,255,0.10),
    0 0 30px rgba(88,166,255,0.06);
}



/* ===== TÍTULO DE CARDS (RESPONSIVE) ===== */
.card-title {
  width: 100%;
  min-width: 0;
  margin: 0 0 clamp(6px, 1.5vw, 10px) 0;
}

.card-title .elementor-heading-title {
  font-size: clamp(15px, 3vw, 25px) !important;
  line-height: 1.4 !important;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;

  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}


/*  TEXTO  */

.card-text,
.card-text .elementor-text-editor,
.card-text p {
  font-size: clamp(14px, 2.6vw, 18px);
  line-height: 1.55;
  color: #C0C5D6;
  margin: 0;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  white-space: normal;
}


/* =============================================
   ICONO LOTTIE CORREGIDO
   ============================================= */
.lottie-icon {
    margin-bottom: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    
    /* 🔥 CAMBIO 1: Alineamos a la izquierda en lugar del centro */
    justify-content: flex-start !important; 
}

.lottie-icon svg,
.lottie-icon .e-lottie__container {
    
    /* 🔥 CAMBIO 2: Subimos a 32px para intentar que el dibujo de 500x500 se alcance a leer */
    width: 70px !important;
    height: 70px !important;
    object-fit: contain !important; 
}



/* ===== GLOW CONSTANTE ===== */
.icon-glow .e-lottie__container,
.icon-glow .e-lottie__container i,
.icon-glow .e-lottie__container svg {
  animation: iconPulse 3.8s ease-in-out infinite;
  will-change: filter, opacity, transform;
}

.glow-1 .e-lottie__container,
.glow-1 .e-lottie__container i,
.glow-1 .e-lottie__container svg { animation-delay: 0s; }

.glow-2 .elementor-icon,
.glow-2 .elementor-icon i,
.glow-2 .elementor-icon svg { animation-delay: 0.9s; }

.glow-3 .elementor-icon,
.glow-3 .elementor-icon i,
.glow-3 .elementor-icon svg { animation-delay: 1.8s; }

.glow-4 .elementor-icon,
.glow-4 .elementor-icon i,
.glow-4 .elementor-icon svg { animation-delay: 2.7s; }

@keyframes iconPulse {
  0% {
    opacity: 0.95;
    transform: scale(1);
    filter:
      drop-shadow(0 0 0px rgba(88,166,255,0))
      drop-shadow(0 0 0px rgba(88,166,255,0));
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
    filter:
      drop-shadow(0 0 8px rgba(88,166,255,0.22))
      drop-shadow(0 0 18px rgba(88,166,255,0.16));
  }
  100% {
    opacity: 0.95;
    transform: scale(1);
    filter:
      drop-shadow(0 0 0px rgba(88,166,255,0))
      drop-shadow(0 0 0px rgba(88,166,255,0));
  }
}


/* ===== HOVER GLOW DESKTOP ===== */
@media (hover: hover) and (pointer: fine) {
  .card:hover .icon-glow .elementor-icon,
  .card:hover .icon-glow .elementor-icon i,
  .card:hover .icon-glow .elementor-icon svg {
    filter:
      drop-shadow(0 0 12px rgba(88,166,255,0.35))
      drop-shadow(0 0 26px rgba(88,166,255,0.24));
  }
}

/* ===== ANIMACIÓN DE ENTRADA ===== */
.fade-card {
  opacity: 0;
  transform: translateY(40px);
  filter: blur(6px);
  animation: cardFadeUp 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;

  will-change: transform, opacity;
  backface-visibility: hidden;
}

.card-1 { animation-delay: 0.2s; }
.card-2 { animation-delay: 0.4s; }
.card-3 { animation-delay: 0.6s; }
.card-4 { animation-delay: 0.8s; }

@keyframes cardFadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
    filter: blur(6px);
  }
  60% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* ===== SHINE HOVER ===== */
.card-shine {
  position: relative;
  overflow: hidden;
}

.card-shine::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    105deg,
    transparent 20%,
    #58A6FF26 50%,
    transparent 80%
  );
  transform: skewX(-15deg) translateX(0);
  transition: none;
  pointer-events: none;
  z-index: 3;
}

/* ===== Responsive ===== */

@media (max-width: 768px) {
  .section-diagnostico {
    flex-direction: column;
    gap: 32px;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
    overflow-x: hidden;
  }

  .diagnostico-left,
  .diagnostico-right {
    flex: none;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .diagnostico-left {
    order: 1;
    line-height: 1.6;
  }

  .diagnostico-left p {
  max-width: 480px;
  }

  .diagnostico-right {
    order: 2;
  }

  .card {
    padding: clamp(14px, 4vw, 18px);
    border-radius: 14px;
    min-height: auto;
    width: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .card:hover {
    transform: none;
  }

  .card-icon .elementor-icon i,
  .card-icon .elementor-icon svg {
    font-size: 18px;
  }

  .titulo-diagnostico .elementor-heading-title,
  .titulo-diagnostico.elementor-heading-title {
    font-size: clamp(10px, 1.8vw, 12px) !important;
    line-height: 1.25 !important;
    letter-spacing: clamp(0.7px, 0.16vw, 1.3px);
    white-space: nowrap;
  }

  /* titulos de las cards */
  .card-title .elementor-heading-title {
    font-size: clamp(19px, 5vw, 22px) !important;
    line-height: 1.35 !important;
  }

  /* textos de las cards */
  .card-text,
  .card-text .elementor-widget-container,
  .card-text .elementor-text-editor,
  .card-text p {
    font-size: clamp(16px, 4.4vw, 18px) !important;
    line-height: 1.6 !important;
  }

}

  /* Ajuste para laptop / ventana reducida */
@media (min-width: 769px) and (max-width: 1200px) {
  .titulo-diagnostico .elementor-heading-title,
  .titulo-diagnostico.elementor-heading-title {
    font-size: clamp(9px, 0.65vw, 11px) !important;
    letter-spacing: clamp(0.6px, 0.1vw, 1.2px);
    line-height: 1.25 !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .card-shine:hover::after {
    transform: skewX(-15deg) translateX(350%);
    transition: transform 0.6s ease;
  }
}


@media (max-width: 480px) {
  .cards-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 🔥 FIX CRÍTICO PARA RANGO INTERMEDIO (DESKTOP RESIZE) */
@media (max-width: 900px) {
  .cards-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Rango donde las cards empiezan a comprimirse */
@media (min-width: 901px) and (max-width: 1150px) {
  .card-title,
  .card-title .elementor-heading-title {
    font-size: clamp(12px, 1.15vw, 15px);
    line-height: 1.5;
  }
}

/* Rango intermedio antes de mobile */
@media (min-width: 769px) and (max-width: 900px) {
  .card-title,
  .card-title .elementor-heading-title {
    font-size: clamp(16px, 2.2vw, 22px);
    line-height: 1.35;
  }
}

/* Mobile */
@media (max-width: 520px) {
  .card-title,
  .card-title .elementor-heading-title {
    font-size: clamp(20px, 6vw, 30px);
    line-height: 1.25;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b28ce9 *//* =============================================
   CARDS ÍTEM 1: REPARTO DE ANCHO TOTAL
   ============================================= */

/* 1. EL CONTENEDOR PADRE */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Mantiene la fila */
    justify-content: space-between !important; /* Distribuye espacio */
    align-items: stretch !important; /* Hace que todas midan lo mismo de alto */
    gap: 12px !important;
    padding: 0 24px 32px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzamos a que el contenedor interno de Elementor no bloquee el ancho */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 12px !important;
}

/* 2. LAS CARDS (REPARTO EQUITATIVO) */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card {
    /* La magia está aquí: */
    flex: 1 1 0% !important; /* Crece (1), se encoge (1) y base inicial 0 para repartir igual */
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    
    background: rgba(0, 0, 0, 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
    
    /* Evitamos que se colapsen */
    min-width: 100px !important; 
}

/* 3. HOVER */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #58A6FF26 !important;
    transform: translateY(-5px) !important;
}

/* 4. AJUSTE MÓVIL: Una sobre otra y mismo tamaño (VERSIÓN REFORZADA) */
@media (max-width: 768px) {
    /* 1. Atacamos el contenedor de las tarjetas y sus envoltorios internos de Elementor */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards, 
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="elementor-widget-container"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con-inner"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con"] {
        display: flex !important;
        flex-direction: column !important; /* Fuerza la verticalidad */
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 15px !important;
    }

    /* 2. Forzamos a la tarjeta individual a romper cualquier regla de ancho previo */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .path-card {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important; /* Anula el 45% o el 0 0 0% */
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b28ce9 *//* =============================================
   CARDS ÍTEM 1: REPARTO DE ANCHO TOTAL
   ============================================= */

/* 1. EL CONTENEDOR PADRE */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Mantiene la fila */
    justify-content: space-between !important; /* Distribuye espacio */
    align-items: stretch !important; /* Hace que todas midan lo mismo de alto */
    gap: 12px !important;
    padding: 0 24px 32px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzamos a que el contenedor interno de Elementor no bloquee el ancho */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 12px !important;
}

/* 2. LAS CARDS (REPARTO EQUITATIVO) */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card {
    /* La magia está aquí: */
    flex: 1 1 0% !important; /* Crece (1), se encoge (1) y base inicial 0 para repartir igual */
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    
    background: rgba(0, 0, 0, 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
    
    /* Evitamos que se colapsen */
    min-width: 100px !important; 
}

/* 3. HOVER */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #58A6FF26 !important;
    transform: translateY(-5px) !important;
}

/* 4. AJUSTE MÓVIL: Una sobre otra y mismo tamaño (VERSIÓN REFORZADA) */
@media (max-width: 768px) {
    /* 1. Atacamos el contenedor de las tarjetas y sus envoltorios internos de Elementor */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards, 
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="elementor-widget-container"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con-inner"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con"] {
        display: flex !important;
        flex-direction: column !important; /* Fuerza la verticalidad */
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 15px !important;
    }

    /* 2. Forzamos a la tarjeta individual a romper cualquier regla de ancho previo */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .path-card {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important; /* Anula el 45% o el 0 0 0% */
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b28ce9 *//* =============================================
   CARDS ÍTEM 1: REPARTO DE ANCHO TOTAL
   ============================================= */

/* 1. EL CONTENEDOR PADRE */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Mantiene la fila */
    justify-content: space-between !important; /* Distribuye espacio */
    align-items: stretch !important; /* Hace que todas midan lo mismo de alto */
    gap: 12px !important;
    padding: 0 24px 32px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzamos a que el contenedor interno de Elementor no bloquee el ancho */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 12px !important;
}

/* 2. LAS CARDS (REPARTO EQUITATIVO) */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card {
    /* La magia está aquí: */
    flex: 1 1 0% !important; /* Crece (1), se encoge (1) y base inicial 0 para repartir igual */
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    
    background: rgba(0, 0, 0, 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
    
    /* Evitamos que se colapsen */
    min-width: 100px !important; 
}

/* 3. HOVER */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #58A6FF26 !important;
    transform: translateY(-5px) !important;
}

/* 4. AJUSTE MÓVIL: Una sobre otra y mismo tamaño (VERSIÓN REFORZADA) */
@media (max-width: 768px) {
    /* 1. Atacamos el contenedor de las tarjetas y sus envoltorios internos de Elementor */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards, 
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="elementor-widget-container"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con-inner"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con"] {
        display: flex !important;
        flex-direction: column !important; /* Fuerza la verticalidad */
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 15px !important;
    }

    /* 2. Forzamos a la tarjeta individual a romper cualquier regla de ancho previo */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .path-card {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important; /* Anula el 45% o el 0 0 0% */
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b28ce9 *//* =============================================
   CARDS ÍTEM 1: REPARTO DE ANCHO TOTAL
   ============================================= */

/* 1. EL CONTENEDOR PADRE */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Mantiene la fila */
    justify-content: space-between !important; /* Distribuye espacio */
    align-items: stretch !important; /* Hace que todas midan lo mismo de alto */
    gap: 12px !important;
    padding: 0 24px 32px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzamos a que el contenedor interno de Elementor no bloquee el ancho */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 12px !important;
}

/* 2. LAS CARDS (REPARTO EQUITATIVO) */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card {
    /* La magia está aquí: */
    flex: 1 1 0% !important; /* Crece (1), se encoge (1) y base inicial 0 para repartir igual */
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    
    background: rgba(0, 0, 0, 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
    
    /* Evitamos que se colapsen */
    min-width: 100px !important; 
}

/* 3. HOVER */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #58A6FF26 !important;
    transform: translateY(-5px) !important;
}

/* 4. AJUSTE MÓVIL: Una sobre otra y mismo tamaño (VERSIÓN REFORZADA) */
@media (max-width: 768px) {
    /* 1. Atacamos el contenedor de las tarjetas y sus envoltorios internos de Elementor */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards, 
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="elementor-widget-container"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con-inner"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con"] {
        display: flex !important;
        flex-direction: column !important; /* Fuerza la verticalidad */
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 15px !important;
    }

    /* 2. Forzamos a la tarjeta individual a romper cualquier regla de ancho previo */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .path-card {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important; /* Anula el 45% o el 0 0 0% */
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b28ce9 *//* =============================================
   CARDS ÍTEM 1: REPARTO DE ANCHO TOTAL
   ============================================= */

/* 1. EL CONTENEDOR PADRE */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Mantiene la fila */
    justify-content: space-between !important; /* Distribuye espacio */
    align-items: stretch !important; /* Hace que todas midan lo mismo de alto */
    gap: 12px !important;
    padding: 0 24px 32px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzamos a que el contenedor interno de Elementor no bloquee el ancho */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 12px !important;
}

/* 2. LAS CARDS (REPARTO EQUITATIVO) */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card {
    /* La magia está aquí: */
    flex: 1 1 0% !important; /* Crece (1), se encoge (1) y base inicial 0 para repartir igual */
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    
    background: rgba(0, 0, 0, 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
    
    /* Evitamos que se colapsen */
    min-width: 100px !important; 
}

/* 3. HOVER */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #58A6FF26 !important;
    transform: translateY(-5px) !important;
}

/* 4. AJUSTE MÓVIL: Una sobre otra y mismo tamaño (VERSIÓN REFORZADA) */
@media (max-width: 768px) {
    /* 1. Atacamos el contenedor de las tarjetas y sus envoltorios internos de Elementor */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards, 
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="elementor-widget-container"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con-inner"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con"] {
        display: flex !important;
        flex-direction: column !important; /* Fuerza la verticalidad */
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 15px !important;
    }

    /* 2. Forzamos a la tarjeta individual a romper cualquier regla de ancho previo */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .path-card {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important; /* Anula el 45% o el 0 0 0% */
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b28ce9 *//* =============================================
   CARDS ÍTEM 1: REPARTO DE ANCHO TOTAL
   ============================================= */

/* 1. EL CONTENEDOR PADRE */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Mantiene la fila */
    justify-content: space-between !important; /* Distribuye espacio */
    align-items: stretch !important; /* Hace que todas midan lo mismo de alto */
    gap: 12px !important;
    padding: 0 24px 32px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzamos a que el contenedor interno de Elementor no bloquee el ancho */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 12px !important;
}

/* 2. LAS CARDS (REPARTO EQUITATIVO) */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card {
    /* La magia está aquí: */
    flex: 1 1 0% !important; /* Crece (1), se encoge (1) y base inicial 0 para repartir igual */
    
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    
    background: rgba(0, 0, 0, 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
    
    /* Evitamos que se colapsen */
    min-width: 100px !important; 
}

/* 3. HOVER */
.elementor-15 .elementor-element.elementor-element-8b28ce9 .path-card:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: #58A6FF26 !important;
    transform: translateY(-5px) !important;
}

/* 4. AJUSTE MÓVIL: Una sobre otra y mismo tamaño (VERSIÓN REFORZADA) */
@media (max-width: 768px) {
    /* 1. Atacamos el contenedor de las tarjetas y sus envoltorios internos de Elementor */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards, 
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="elementor-widget-container"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con-inner"],
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards div[class*="e-con"] {
        display: flex !important;
        flex-direction: column !important; /* Fuerza la verticalidad */
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 15px !important;
    }

    /* 2. Forzamos a la tarjeta individual a romper cualquier regla de ancho previo */
    .elementor-15 .elementor-element.elementor-element-8b28ce9 .path-cards .path-card {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important; /* Anula el 45% o el 0 0 0% */
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57a4552 *//* =============================================
   ESTRUCTURA GENERAL DEL CONTENIDO (Fase Cols)
   ============================================= */
.elementor-15 .elementor-element.elementor-element-57a4552 .fase-cols {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  padding: 32px 24px !important;
}

.elementor-15 .elementor-element.elementor-element-57a4552 .fase-col-label .elementor-heading-title {
  font-size: clamp(10px, 2vh, 18px) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #555555 !important;
  margin: 0 0 10px 0 !important;
}

.elementor-15 .elementor-element.elementor-element-57a4552 .fase-col-text p {
  font-size: clamp(10px, 2vh, 16px) !important;
  line-height: 1.6 !important;
  color: #C0C5D6 !important;
  margin: 0 !important;
}

/* Título de la sección de tarjetas */
.elementor-15 .elementor-element.elementor-element-57a4552 .path-label {
  padding: 0 24px 12px 24px !important;
}

.elementor-15 .elementor-element.elementor-element-57a4552 .path-label .elementor-heading-title {
  font-size: clamp(10px, 3vh, 18px) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #555555 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* =============================================
   CONTENEDOR DE TARJETAS (Path Cards)
   ============================================= */
.elementor-15 .elementor-element.elementor-element-57a4552 .path-cards {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding: 0 24px 32px 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Forzar que el contenedor interno de Elementor respete el Flex */
.elementor-15 .elementor-element.elementor-element-57a4552 .path-cards > .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-57a4552 .path-cards div[class*="e-con-inner"] {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  gap: 12px !important;
}

/* =============================================
   TARJETAS INDIVIDUALES (Path Card)
   ============================================= */
.elementor-15 .elementor-element.elementor-element-57a4552 .path-card {
  flex: 1 1 0% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 16px !important;
  border-radius: 12px !important;
  background: rgba(0, 0, 0, 0.58) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
  min-width: 100px !important; 
}

.elementor-15 .elementor-element.elementor-element-57a4552 .path-card:hover {
  background: #1A2030 !important;
  border-color: #58A6FF !important;
  transform: translateY(-5px) !important;
}

/* Iconos y Títulos dentro de la Card */
.lottie-icon {
    margin-bottom: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important; 
}

.lottie-icon svg,
.lottie-icon .e-lottie__container {

    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important; 
}

.elementor-15 .elementor-element.elementor-element-57a4552 .path-card .elementor-heading-title {
  font-size: clamp(10px, 3vh, 20px) !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}


/* ===== GLOW CONSTANTE ===== */

.icon-glow .e-lottie__container,
.icon-glow .e-lottie__container i,
.icon-glow .e-lottie__container svg {
  animation: iconPulse 2.7s ease-in-out infinite;
  will-change: filter, opacity, transform;
}

.glow-1 .e-lottie__container,
.glow-1 .e-lottie__container i,
.glow-1 .e-lottie__container svg { animation-delay: 0s; }

.glow-2 .elementor-icon,
.glow-2 .elementor-icon i,
.glow-2 .elementor-icon svg { animation-delay: 0.9s; }

.glow-3 .elementor-icon,
.glow-3 .elementor-icon i,
.glow-3 .elementor-icon svg { animation-delay: 1.8s; }



/* =============================================
   ADAPTACIÓN MÓVIL (Versión Unificada)
   ============================================= */
@media (max-width: 768px) {
  /* Columnas de texto */
  .elementor-15 .elementor-element.elementor-element-57a4552 .fase-cols {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 24px 16px !important;
  }

  .elementor-15 .elementor-element.elementor-element-57a4552 .path-label {
    padding: 0 16px 12px 16px !important;
  }

  /* Contenedores de tarjetas a columna */
  .elementor-15 .elementor-element.elementor-element-57a4552 .path-cards, 
  .elementor-15 .elementor-element.elementor-element-57a4552 .path-cards div[class*="elementor-widget-container"],
  .elementor-15 .elementor-element.elementor-element-57a4552 .path-cards div[class*="e-con-inner"],
  .elementor-15 .elementor-element.elementor-element-57a4552 .path-cards div[class*="e-con"] {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 15px !important;
  }

  /* Tarjetas a ancho completo */
  .elementor-15 .elementor-element.elementor-element-57a4552 .path-card {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a10bf90 *//* ================================================================
   03-ecosistema.css  —  INICIO ECOSISTEMA DE MARCA
   Pegar en: contenedor principal de sección (clase= section-ecosistema)
   Advanced > CSS Personalizado
   ================================================================ */

.elementor-15 .elementor-element.elementor-element-a10bf90 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  padding-top: clamp(72px, 8vw, 120px);
  padding-bottom: clamp(72px, 8vw, 120px);
  padding-left: clamp(20px, 6vw, 96px);
  padding-right: clamp(20px, 6vw, 96px);

  position: relative;
  z-index: 2;

  overflow-x: clip;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 *,
.elementor-15 .elementor-element.elementor-element-a10bf90 *::before,
.elementor-15 .elementor-element.elementor-element-a10bf90 *::after {
  box-sizing: border-box;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .ecosistema-eyebrow .elementor-heading-title {
  font-size: clamp(10px, 0.75vw, 12px);
  font-weight: 600;
  letter-spacing: clamp(1.4px, 0.18vw, 2.5px);
  line-height: 1.3;
  text-transform: uppercase;
  color: #58A6FF;
  margin: 0 0 clamp(10px, 1vw, 16px) 0;
  white-space: normal;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .ecosistema-titulo .elementor-heading-title {
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
  margin: 0 0 clamp(12px, 1.4vw, 16px) 0;
  max-width: 780px;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .ecosistema-subtext p {
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.6;
  color: #C0C5D6;
  max-width: min(100%, 620px);
  margin: 0 !important;
  margin-bottom: clamp(32px, 4vw, 56px);
}

/* ===== ACORDEÓN COMO BLOQUE GENERAL ===== */
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item-title-text {
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  transition: color 0.3s ease !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text {
  color: #ffffff !important;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item-title-icon {
  color: #555555 !important;
  transition: color 0.3s ease !important;
}

.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon {
  color: #58A6FF !important;
}

/* ========================================================== */
/* 👻 ANTI-FANTASMAS: LIMPIEZA DE BORDES NATIVOS DE ELEMENTOR */
/* ========================================================== */

/* 1. Quitamos el borde cuadrado gigante del contenedor principal */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: none !important;
}

/* 2. Matamos cualquier borde lateral o superior oculto en los títulos o el contenido */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item-title,
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item-content {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    background-color: transparent !important;
}


/* ========================================================== */
/* 🔥 CONTROL TOTAL DE BORDES Y SEPARADORES (CORREGIDO) */
/* ========================================================== */

/* 👻 ANTI-FANTASMAS: LIMPIEZA DE BORDES NATIVOS DE ELEMENTOR */
/* Quitamos el borde cuadrado gigante del contenedor principal */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: none !important;
}

/* 1. Borde perimetral del contenedor de cada item (Forzado en los 4 lados) */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item,
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item {
    border-top: 1px solid #333333 !important;
    border-right: 1px solid #333333 !important;
    border-bottom: 1px solid #333333 !important; /* 👈 Obligamos a que exista el de abajo */
    border-left: 1px solid #333333 !important;
    
    border-radius: 14px !important;
    overflow: hidden !important; /* Mantiene todo dentro de las curvas */
    
    /* Nota: Para separar los ítems, usa el ajuste "Espacio entre elementos" (Gap) 
       en el panel de Elementor en lugar de margin en CSS para evitar fallos. */
}

/* 2. Color cuando el ítem está abierto (Un poco más claro para resaltar) */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item[open],
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item[open] {
    border-top-color: #444444 !important;
    border-right-color: #444444 !important;
    border-bottom-color: #444444 !important;
    border-left-color: #444444 !important;
}

/* ========================================================== */
/* 3. El separador interno (línea entre el título y el contenido al abrir) */
/* ========================================================== */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item-title,
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item-title {
    border-bottom: 1px solid #333333 !important;
    border-radius: 0 !important; 
}

/* 🔥 CAZAFANTASMAS NIVEL 2: Forzar variables y colores nativos a gris oscuro */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion,
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item,
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item-title,
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item-content {
    /* Sobreescribe las variables nativas de Elementor */
    --n-accordion-border-color: #333333 !important; 
    --n-accordion-item-title-border-color: #333333 !important;
    
    /* Fuerza que cualquier borde residual adopte el color correcto */
    border-color: #333333 !important; 
}

/* 4. Ocultar el separador interno si el ítem está CERRADO */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item:not([open]) .e-n-accordion-item-title {
    border-bottom: none !important;
}

/* Limpieza de radios del título abierto */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item[open] > .e-n-accordion-item-title {
    border-radius: 14px 14px 0 0 !important;
}

/* ========================================================== */
/* ✨ HOVER: ILUMINACIÓN AZUL EN LA BARRA DEL ÍTEM            */
/* Solo afecta al título + icono al pasar el cursor.          */
/* El contenido (cuando el ítem está abierto) NO se ilumina.  */
/* ========================================================== */

/* Transición suave del borde y del glow del ítem */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item,
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item {
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

/* Glow azul: se dispara únicamente cuando el cursor está
   sobre la barra de título (hijo directo del ítem).
   El :has() evita que el hover sobre el contenido active el efecto. */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item:has(> .e-n-accordion-item-title:hover),
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item:has(> .e-n-accordion-item-title:hover) {
    border-color: #58A6FF !important;
    box-shadow: 0 0 24px rgba(88, 166, 255, 0.35),
                0 0 1px  rgba(88, 166, 255, 0.6) !important;
}

/* El icono de toggle se tinta de azul al hacer hover en la barra */
.elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon {
    color: #58A6FF !important;
}

/* ========================================================== */
/* ↕️ SEPARACIÓN (GAP) ENTRE ÍTEMS DEL ACORDEÓN */
/* ========================================================== */

/* Añadimos espacio debajo de cada ítem */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item {
    margin-bottom: 15px !important; /* Ajusta este valor (20px) a tu gusto */
}

/* Quitamos el margen al último ítem para que no sobre espacio abajo del todo */
.elementor-15 .elementor-element.elementor-element-a10bf90 .e-n-accordion-item:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  .elementor-15 .elementor-element.elementor-element-a10bf90 {
    padding-top: clamp(48px, 10vw, 64px);
    padding-bottom: clamp(48px, 10vw, 64px);
    padding-left: clamp(16px, 5vw, 24px);
    padding-right: clamp(16px, 5vw, 24px);
    overflow-x: clip;
  }

  .elementor-15 .elementor-element.elementor-element-a10bf90 .ecosistema-subtext p {
    max-width: 100%;
  }

  /* 4. Aseguramos que el acordeón y su contenido no excedan el ancho disponible */
  .elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon,
  .elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item,
  .elementor-15 .elementor-element.elementor-element-a10bf90 .fases-acordeon .e-n-accordion-item-title {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72d7dac *//* =============================================
   CONTENEDOR GLOBAL DE LA SECCIÓN
   ============================================= */
.elementor-15 .elementor-element.elementor-element-72d7dac {
  --bg-dark: #000000;
  --card-bg: #0D0D0D;
  --border-soft: #1A1A1A;
  --accent-blue: #58A6FF;
  --accent-light: #ACC5FE;
  --text-white: #FFFFFF;
  --text-gray: #A1A1A1;
  --text-muted: #7A7A7A;
}


.elementor-15 .elementor-element.elementor-element-72d7dac {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  padding-top: clamp(72px, 8vw, 120px);
  padding-bottom: clamp(72px, 8vw, 120px);
  padding-left: clamp(20px, 6vw, 96px);
  padding-right: clamp(20px, 6vw, 96px);
  position: relative;
  z-index: 2;
  overflow-x: clip;
}
/* === CABECERA (Ajustada para subir el link) === */
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important; /* Cambiado de flex-end a flex-start para subir el link */
  margin-bottom: 50px;
  width: 100% !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-eyebrow .elementor-heading-title {
  color: var(--text-gray) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-titulo .elementor-heading-title {
  color: var(--text-white) !important;
  font-size: clamp(32px, 5vw, 48px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

/* =============================================
   ANIMACIÓN LINK METODOLOGÍA (ESTILO PROYECTOS)
   ============================================= */

/* 1. Limpieza y Posicionamiento */
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia {
    display: inline-flex !important;
    cursor: pointer !important;
    margin-top: 5px !important; /* Ajustado para alineación superior */
}

/* 2. Estilo del Texto / Link */
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia .elementor-heading-title a {
    color: var(--text-muted) !important; 
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    padding-bottom: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
    transition: color 0.4s ease !important;
}

/* 3. El Subrayado Animado */
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia .elementor-heading-title::before,
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia .elementor-heading-title a::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background-color: var(--accent-light) !important; 
    transform: scaleX(0) !important;
    transform-origin: right !important;
    transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}

/* 4. La Flecha */
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia .elementor-heading-title::after,
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia .elementor-heading-title a::after {
    content: '→' !important;
    margin-left: 10px !important;
    font-size: 14px !important;
    display: inline-block !important;
    transition: all 0.4s ease !important;
}

/* --- ESTADOS HOVER --- */

.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia:hover .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia:hover .elementor-heading-title a {
    color: var(--accent-light) !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia:hover .elementor-heading-title::before,
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia:hover .elementor-heading-title a::before {
    transform: scaleX(1) !important;
    transform-origin: left !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia:hover .elementor-heading-title::after,
.elementor-15 .elementor-element.elementor-element-72d7dac .link-metodologia:hover .elementor-heading-title a::after {
    transform: translateX(8px) !important;
    color: var(--accent-light) !important;
}

/* =============================================
   GRID DE TARJETAS
   ============================================= */
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  gap: 16px !important;
  width: 100% !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-01 { flex: 1 1 63% !important; }
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-02 { flex: 1 1 33% !important; }
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-03 { flex: 1 1 28% !important; }
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-04 { flex: 1 1 68% !important; }
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-05 { flex: 1 1 58% !important; }
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-06 { flex: 1 1 38% !important; }

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card {
  background: var(--card-bg) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  box-sizing: border-box !important;
  transition: transform 0.3s ease, border-color 0.3s ease !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card:hover {
  border-color: #333333 !important;
  transform: translateY(-4px) !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-icon .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--border-soft) !important;
  border-radius: 50% !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-icon .elementor-icon i,
.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-icon .elementor-icon svg {
  color: var(--accent-light) !important;
  font-size: 15px !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card-title .elementor-heading-title {
  color: var(--text-white) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2 !important;
}

.elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card-text p {
  color: var(--text-gray) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-01,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-02,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-03,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-04,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-05,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-06 {
    flex: 1 1 48% !important;
  }
}

@media (max-width: 767px) {
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }

  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-01,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-02,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-03,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-04,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-05,
  .elementor-15 .elementor-element.elementor-element-72d7dac .propuesta-card.card-06 {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-761c8fc *//* ==========================================================================
   HERO SPLIT — AGENCY VS SPACE
   Estructura nueva:
   grupo-left / grupo-right contienen titulo2 + botón
   ========================================================================== */


/* ==========================================================================
   1. VARIABLES GENERALES
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc {
  /* Layout */
  --hero-height: clamp(720px, 102vh, 980px);
  --hero-bg: #000000;

  /* Título superior */
  --top-title-size: clamp(11px, 1vw, 18px);
  --top-title-spacing: clamp(2px, 0.35vw, 5px);

  /* Textos desktop */
  --eyebrow-size: clamp(10px, 0.75vw, 11px);
  --eyebrow-spacing: clamp(1.5px, 0.18vw, 2px);

  --hero-title-size: clamp(42px, 5vw, 85px);
  --hero-title-line: 0.9;

  /* Botón */
  --button-padding-y: clamp(12px, 1vw, 16px);
  --button-padding-x: clamp(26px, 2.2vw, 35px);
  --button-font-size: clamp(12px, 0.85vw, 14px);

  /* Imágenes desktop */
  --person-height-desktop: clamp(660px, 130vh, 1250px);
  --left-person-x: -42%;
  --right-person-x: 40%;

  width: 100%;
  max-width: 100%;
  min-height: var(--hero-height);
  margin: 0;
  padding: 0;
  position: relative;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;

  overflow: hidden;
  background: var(--hero-bg);
  box-sizing: border-box;
}

.elementor-15 .elementor-element.elementor-element-761c8fc *,
.elementor-15 .elementor-element.elementor-element-761c8fc *::before,
.elementor-15 .elementor-element.elementor-element-761c8fc *::after {
  box-sizing: border-box;
}


/* ==========================================================================
   2. FONDO GLOBAL DESKTOP
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .img-fondo {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
  overflow: hidden;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .img-fondo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.08);
}


/* ==========================================================================
   3. TÍTULO SUPERIOR
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .dosformas-container {
  position: absolute;
  top: 16%;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 760px);
  z-index: 20;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .dosformas-title .elementor-heading-title {
  font-size: var(--top-title-size);
  font-weight: 900;
  letter-spacing: var(--top-title-spacing);
  text-transform: uppercase;
  text-align: center;
  line-height: 1.4;
  margin: 0;
}


/* ==========================================================================
   4. COLUMNAS / ESCENAS LATERALES
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-side {
  position: relative;
  width: 50%;
  flex: 0 0 50%;
  min-width: 0;
  min-height: var(--hero-height);
  overflow: visible;
  isolation: isolate;
  z-index: 2;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .side-left {
  order: 1;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .side-right {
  order: 2;
}

/* Fondos mobile ocultos en desktop */
.elementor-15 .elementor-element.elementor-element-761c8fc .bg-izq,
.elementor-15 .elementor-element.elementor-element-761c8fc .bg-der {
  display: none;
}


/* ==========================================================================
   5. IMÁGENES PRINCIPALES DESKTOP
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .img-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .img-right {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  pointer-events: none;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .img-left .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-761c8fc .img-right .elementor-widget-container {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .img-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .img-right,
.elementor-15 .elementor-element.elementor-element-761c8fc .img-left .elementor-widget-container,
.elementor-15 .elementor-element.elementor-element-761c8fc .img-right .elementor-widget-container {
  overflow: visible;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .img-left img,
.elementor-15 .elementor-element.elementor-element-761c8fc .img-right img {
  position: absolute;
  bottom: 0;
  width: auto;
  height: var(--person-height-desktop);
  max-width: none;
  object-fit: contain;
  margin: 0;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .img-left img {
  left: 0;
  transform: translateX(var(--left-person-x));
}

.elementor-15 .elementor-element.elementor-element-761c8fc .img-right img {
  right: 0;
  transform: translateX(var(--right-person-x));
}


/* ==========================================================================
   6. BLOQUES DE TEXTO DESKTOP
   ========================================================================== */

/* Elementos que se posicionan libremente */
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right,
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
  position: absolute;
  z-index: 10;
  min-width: 0;
  margin: 0;
}

/* Eyebrows independientes */
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right {
  width: min(100%, 520px);
}

/* Grupos: título grande + botón */
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
  width: min(100%, 520px);
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 2vw, 38px);
}

/* Alineación interna por lado */
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left {
  align-items: flex-end;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
  align-items: flex-start;
}

/* Hijos del grupo: ya no se posicionan con top/left */
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left,
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right {
  position: relative;
  width: 100%;
  margin: 0;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-button {
  position: relative;
  width: max-content;
  max-width: 100%;
  margin: 0;
}


/* ==========================================================================
   7. JOYSTICKS DESKTOP
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .dosformas-container {
  top: 11%;
  left: 50%;
  transform: translateX(-50%);
}

/* Eyebrow izquierdo */
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left {
  top: 29%;
  right: 2%;
}

/* Grupo izquierdo: título + botón */
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left {
  top: 32%;
  right: 2%;
}

/* Eyebrow derecho */
.elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right {
  top: 29%;
  left: 2%;
}

/* Grupo derecho: título + botón */
.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
  top: 32%;
  left: 2%;
}


/* ==========================================================================
   8. TIPOGRAFÍA
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-eyebrow {
  margin: 0;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-eyebrow .elementor-heading-title {
  color: #A1A1A1;
  font-size: var(--eyebrow-size);
  font-weight: 700;
  letter-spacing: var(--eyebrow-spacing);
  text-transform: uppercase;
  line-height: 1.4;
  margin: 0;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-title {
  margin: 0;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-title .elementor-heading-title {
  font-size: var(--hero-title-size);
  font-weight: 800;
  line-height: var(--hero-title-line);
  text-transform: uppercase;
  color: #FFFFFF;
  margin: 0;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .side-left .hero-eyebrow .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-761c8fc .side-left .hero-title .elementor-heading-title {
  text-align: right;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .side-right .hero-eyebrow .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-761c8fc .side-right .hero-title .elementor-heading-title {
  text-align: left;
}


/* ==========================================================================
   9. BOTONES
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-button {
  display: flex;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left .hero-button {
  justify-content: flex-end;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right .hero-button {
  justify-content: flex-start;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button {
  border-radius: 100px;
  padding: var(--button-padding-y) var(--button-padding-x);
  font-size: var(--button-font-size);
  font-weight: 700;
  text-transform: uppercase;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  transition: color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .anim-glow-blue .elementor-button:hover {
  color: #58A6FF;
  border-color: #58A6FF;
  box-shadow: 0 0 20px rgba(88, 166, 255, 0.6);
}

.elementor-15 .elementor-element.elementor-element-761c8fc .anim-glow-yellow .elementor-button:hover {
  color: #D2774D;
  border-color: #D2774D;
  box-shadow: 0 0 20px rgba(146, 119, 77, 0.6);
}


/* ==========================================================================
   10. HOVER TÍTULOS
   ========================================================================== */

.elementor-15 .elementor-element.elementor-element-761c8fc .title-hover-blue .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-761c8fc .title-hover-gold .elementor-heading-title {
  transition: color 0.4s ease, text-shadow 0.4s ease;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .title-hover-blue:hover .elementor-heading-title {
  color: #58A6FF;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
  cursor: default;
}

.elementor-15 .elementor-element.elementor-element-761c8fc .title-hover-gold:hover .elementor-heading-title {
  color: #D2774D;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
  cursor: default;
}


/* ==========================================================================
   11. BREAKPOINT INTERMEDIO — LAPTOP / TABLET HORIZONTAL
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1380px) {
  .elementor-15 .elementor-element.elementor-element-761c8fc {
    --hero-title-size: clamp(42px, 5.4vw, 70px);
    --button-font-size: clamp(12px, 1.4vw, 16px);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right,
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    position: absolute;
    min-width: 0;
    margin: 0;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right {
    width: min(90%, 420px);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    width: min(34vw, 420px);
    max-width: none;
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.2vw, 34px);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left {
    align-items: flex-end;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    align-items: flex-start;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right {
    position: relative;
    width: 100%;
    margin: 0;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin: 0;
  }

  /* Tipografía intermedia */
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left .elementor-heading-title,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right .elementor-heading-title {
    font-size: clamp(42px, 5.4vw, 70px) !important;
    line-height: 0.92 !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-eyebrow .elementor-heading-title {
    font-size: clamp(9px, 1vw, 12px) !important;
    letter-spacing: clamp(1.5px, 0.25vw, 3px) !important;
    line-height: 1.35 !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button {
    padding: clamp(10px, 1.3vw, 15px) clamp(24px, 3vw, 36px) !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button-text {
    font-size: clamp(12px, 1.4vw, 16px) !important;
    font-weight: 800 !important;
  }

  /* Alineaciones */
  .elementor-15 .elementor-element.elementor-element-761c8fc .side-left .hero-title .elementor-heading-title,
  .elementor-15 .elementor-element.elementor-element-761c8fc .side-left .hero-eyebrow .elementor-heading-title {
    text-align: right !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .side-right .hero-title .elementor-heading-title,
  .elementor-15 .elementor-element.elementor-element-761c8fc .side-right .hero-eyebrow .elementor-heading-title {
    text-align: left !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left .hero-button {
    justify-content: flex-end;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right .hero-button {
    justify-content: flex-start;
  }

  /* Joysticks intermedios */
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left {
    top: 30%;
    right: 18% !important;
    left: auto;
    transform: none;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left {
    top: 34%;
    right: 4% !important;
    left: auto;
    transform: none;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right {
    top: 30%;
    left: 12% !important;
    right: auto;
    transform: none;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    top: 34%;
    left: 4% !important;
    right: auto;
    transform: none;
  }
}


/* ==========================================================================
   12. MOBILE — DOS ESCENAS APILADAS
   ========================================================================== */

@media (min-width: 392px) and (max-width: 767px) {
  .elementor-15 .elementor-element.elementor-element-761c8fc {
    --mobile-scene-height: clamp(760px, 120vh, 980px);
    --mobile-top-title-size: clamp(11px, 3vw, 14px);
    --mobile-top-title-spacing: clamp(3px, 1vw, 6px);
    --mobile-eyebrow-size: clamp(12px, 3.4vw, 15px);
    --mobile-eyebrow-spacing: clamp(3px, 1.1vw, 5px);
    --mobile-button-font: clamp(12px, 3.5vw, 14px);

    display: flex;
    flex-direction: column;
    min-height: auto;
    height: auto;
    overflow: visible;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .img-fondo {
    display: none;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .dosformas-container {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    order: -1;
    width: min(90%, 420px);
    margin: clamp(28px, 8vw, 44px) auto clamp(8px, 3vw, 16px);
    z-index: 30;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .dosformas-title .elementor-heading-title {
    font-size: var(--mobile-top-title-size);
    letter-spacing: var(--mobile-top-title-spacing);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-side {
    width: 100%;
    min-height: var(--mobile-scene-height);
    padding: clamp(28px, 7vw, 44px) clamp(18px, 5vw, 28px);
    overflow: hidden;
    flex: 0 0 auto;
  }

  /* Fondos mobile */
  .elementor-15 .elementor-element.elementor-element-761c8fc .bg-izq,
  .elementor-15 .elementor-element.elementor-element-761c8fc .bg-der {
    display: block;
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    height: 100%;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .bg-izq img,
  .elementor-15 .elementor-element.elementor-element-761c8fc .bg-der img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Imágenes/personajes mobile */
  .elementor-15 .elementor-element.elementor-element-761c8fc .img-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .img-right {
    z-index: -1;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .img-left img,
  .elementor-15 .elementor-element.elementor-element-761c8fc .img-right img {
    height: clamp(560px, 120vh, 1200px);
    bottom: 0;
    max-width: none;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .img-left img {
    left: 48%;
    transform: translateX(-58%);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .img-right img {
    right: 48% !important;
    left: auto;
    transform: translateX(58%);
  }

  /* Reset de bloques */
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right,
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    position: absolute;
    width: auto;
    min-width: 0;
    margin: 0;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right {
    max-width: min(90%, 420px);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    width: min(46vw, 260px);
    max-width: none;
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 4vw, 26px);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right {
    position: relative;
    width: 100%;
    margin: 0;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin: 0;
  }

  /* Escena izquierda mobile */
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-left {
    top: 17%;
    left: 20%;
    right: auto;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left {
    top:42%;
    left: auto;
    right: 9% !important;
    transform: none;
    align-items: flex-start;
  }

  /* Escena derecha mobile */
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo-container-right {
    top: 17%;
    left: 53%;
    right: auto;
    transform: translateX(-50%);
    width: 100%;
    max-width: 90%;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    top: 44%;
    left: 2% !important;
    right: auto;
    transform: none;
    align-items: flex-end;
  }

  /* Tipografía mobile */
  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-eyebrow .elementor-heading-title {
    font-size: var(--mobile-eyebrow-size) !important;
    letter-spacing: var(--mobile-eyebrow-spacing) !important;
    line-height: 1.45 !important;
    text-align: center !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left .elementor-heading-title,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right .elementor-heading-title {
    font-size: clamp(36px, 10vw, 56px) !important;
    line-height: 1.05 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left .elementor-heading-title {
    text-align: left !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right .elementor-heading-title {
    text-align: right !important;
  }

  /* Botones mobile */
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left .hero-button {
    justify-content: flex-start;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right .hero-button {
    justify-content: flex-end;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button {
    padding: clamp(10px, 3vw, 13px) clamp(22px, 6vw, 30px) !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button,
  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button-text {
    font-size: var(--mobile-button-font) !important;
    font-weight: 800 !important;
  }
}


/* ==========================================================================
   13. MOBILE ANGOSTO — AJUSTE FINO
   ========================================================================== */

@media (max-width: 390px) {
  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left {
    right: 12% !important;
    left: auto;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right {
    left: 2% !important;
    right: auto;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-left .elementor-heading-title,
  .elementor-15 .elementor-element.elementor-element-761c8fc .titulo2-container-right .elementor-heading-title {
    font-size: clamp(34px, 10.5vw, 48px) !important;
    line-height: 1.05 !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button,
  .elementor-15 .elementor-element.elementor-element-761c8fc .hero-button .elementor-button-text {
    font-size: clamp(11px, 4vw, 18px) !important;
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .img-left img {
    transform: translateX(-65%);
  }

  .elementor-15 .elementor-element.elementor-element-761c8fc .img-right img {
    transform: translateX(62%);
  }
  
    .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-left .hero-button {
    justify-content: flex-end;
    transform: translateX(12%);
    }
    
    .elementor-15 .elementor-element.elementor-element-761c8fc .grupo-right .hero-button {
    justify-content: flex-start;
    transform: translateX(0%) !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-27dd325 *//* =============================================
   CARRUSEL MOVIMIENTO CONTINUO Y GLOW SEGURO
   ============================================= */

:root {
    --escala-hover: 1.10;  /* 👈 Bajamos de 1.15 a 1.10 para evitar choques con el borde */
    --color-glow: #58A6FF;
}

/* 1. MOVIMIENTO LINEAL (GIRO CONSTANTE) */
.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-wrapper {
    transition-timing-function: linear !important; /* Mantiene el flujo sin frenazos */
}

/* 2. CONTENEDOR RAÍZ (LA JAULA) */
.elementor-15 .elementor-element.elementor-element-27dd325 {
    overflow: hidden !important; /* Corta proyectos fantasma a los lados */
    padding: 80px 0 !important;   /* Espacio vertical para el glow */
    margin-top: -80px;
    margin-bottom: -80px;
}

/* 3. PERMITIR QUE EL CONTENIDO FLOTE (SWIPER) */
.elementor-15 .elementor-element.elementor-element-27dd325 .elementor-main-swiper,
.elementor-15 .elementor-element.elementor-element-27dd325 .swiper {
    overflow: visible !important; 
    padding: 40px 0 !important;   
}

/* 4. CADA SLIDE (ZONA DE SEGURIDAD) */
.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-slide {
    padding: 0 35px !important;   /* 👈 Colchón lateral para que el glow respire */
    display: flex;
    justify-content: center;
    overflow: visible !important;
    transition: z-index 0.3s;
}

/* 5. ESTADO INICIAL DE LA IMAGEN */
.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
    border: 1px solid rgba(88, 166, 255, 0.2) !important;
    box-shadow: 0px 0px 0px rgba(88, 166, 255, 0);
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    backface-visibility: hidden;
    box-sizing: border-box !important;
}

/* 6. EFECTO HOVER (REFINADO) */
.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-slide:hover {
    z-index: 99 !important; /* Asegura que la imagen activa esté encima */
}

.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-slide:hover img {
    transform: scale(var(--escala-hover)) !important;
    border: 2px solid var(--color-glow) !important;
    
    /* Brillo ajustado para no chocar con los bordes */
    box-shadow: 0px 0px 20px 2px rgba(88, 166, 255, 0.6) !important; 
    filter: brightness(1.1);
}

/* 7. ATENUAR EL RESTO */
.elementor-15 .elementor-element.elementor-element-27dd325 .swiper-wrapper:hover .swiper-slide:not(:hover) img {
    opacity: 0.4;
    filter: blur(2px) grayscale(50%);
    transform: scale(0.92) !important; /* Encoge un poco las demás para resaltar la activa */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2d2d5ab *//* =============================================
   SECCIÓN PROYECTOS - ESTRUCTURA FINAL
   ============================================= */

/* 1. EL CONTENEDOR (Fondo y Alineación) */
.elementor-15 .elementor-element.elementor-element-2d2d5ab {
    /*background-color: #000000 !important;*/
    padding: 100px 8% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* 2. EL TÍTULO (Blanco + Azul) */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-title .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: clamp(40px, 5.5vw, 70px) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: left !important;
    margin: 0 !important;
}

.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-title span {
    color: #58A6FF !important;
    display: block !important;
    margin-top: 10px !important;
}

/* 3. EL ENLACE (proyectos-link) CON ANIMACIÓN FORZADA */

.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link {
    margin-top: 35px !important;
    margin-bottom: 70px !important;
    cursor: pointer !important; /* Forzar cursor de mano incluso sin link */
}

/* Estilo Base del Texto/Link */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link .elementor-heading-title a {
    color: #7A7A7A !important; 
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    padding-bottom: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
    transition: color 0.4s ease !important;
}

/* Subrayado Animado */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link .elementor-heading-title::before,
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link .elementor-heading-title a::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background-color: #ACC5FE !important; 
    transform: scaleX(0) !important;
    transform-origin: right !important;
    transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}

/* Flecha automática */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link .elementor-heading-title::after,
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link .elementor-heading-title a::after {
    content: '→' !important;
    margin-left: 10px !important;
    font-size: 14px !important;
    display: inline-block !important;
    transition: all 0.4s ease !important;
}

/* --- HOVER EFFECTS (Detecta el hover en el widget completo) --- */

.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link:hover .elementor-heading-title,
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link:hover .elementor-heading-title a {
    color: #ACC5FE !important;
}

/* Activación del subrayado */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link:hover .elementor-heading-title::before,
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link:hover .elementor-heading-title a::before {
    transform: scaleX(1) !important;
    transform-origin: left !important;
}

/* Movimiento de flecha */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link:hover .elementor-heading-title::after,
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-link:hover .elementor-heading-title a::after {
    transform: translateX(8px) !important;
    color: #ACC5FE !important;
}

/* 4. EL CARRUSEL */
.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-carousel .swiper-slide img {
    border-radius: 12px !important;
    filter: brightness(0.8) !important;
    transition: all 0.5s ease !important;
}

.elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-carousel .swiper-slide:hover img {
    filter: brightness(1) !important;
    transform: scale(1.02) !important;
}

/*--------- Ajuste móvil--------- */

@media (max-width: 767px) {
    .elementor-15 .elementor-element.elementor-element-2d2d5ab { padding: 60px 5% !important; }
    .elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-title .elementor-heading-title { font-size: 40px !important; }

    /* --- AJUSTE DE CARRUSEL MÓVIL (SIN RECORTE) --- */
    .elementor-15 .elementor-element.elementor-element-2d2d5ab .proyectos-carousel .swiper-slide img {
        height: 350px !important; /* Ajusta este alto a tu gusto */
        width: 100% !important;
        
        /* 🔥 LA CLAVE: 'contain' obliga a la imagen a mostrarse completa */
        object-fit: contain !important; 
        
        /* Centra la imagen si sobra espacio a los lados */
        object-position: center !important;
        
        /* Opcional: fondo negro por si la imagen no llena todo el ancho */
        background-color: #000000 !important;
        border-radius: 12px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d698907 *//* =============================================
   SECCIÓN SYSTEM CORE - CONFIGURACIÓN TOTAL
   ============================================= */

/* 1. EL CONTENEDOR (Fondo oscuro y centrado total) */
.elementor-15 .elementor-element.elementor-element-d698907 {
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    text-align: center !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    background: #000301;
}

/* imagen de fondo */
.elementor-15 .elementor-element.elementor-element-d698907 .img-fondo {
    position: absolute !important;
    inset: 0 !important; 
    z-index: 0 !important; 
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important; 
    overflow: hidden !important; 
}

.elementor-15 .elementor-element.elementor-element-d698907 .img-fondo .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-15 .elementor-element.elementor-element-d698907 .img-fondo img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important; 
    height: 100% !important;
    object-fit: contain !important; 
    transform: scale(2.2) translateX(0%) translateY(0%) !important; 
}

/* 2. EYEBROW (SARH STUDIO) */
.elementor-15 .elementor-element.elementor-element-d698907 .core-eyebrow .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    margin-bottom: 30px !important;
    transform: translateX(0%) translateY(0%) !important;
}

.elementor-15 .elementor-element.elementor-element-d698907 .core-title .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: clamp(38px, 6vw, 85px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: clamp(-2px, -0.12vw, -1px) !important;
    margin: 0 !important;
}

.elementor-15 .elementor-element.elementor-element-d698907 .core-subtitle .elementor-heading-title {
    color: #9ECBFF !important;
    font-size: clamp(38px, 6vw, 85px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: clamp(-2px, -0.12vw, -1px) !important;
    text-shadow: 0px 0px 25px rgba(88, 166, 255, 0.4) !important;
    margin: 0 !important;
}

/* 5. DESCRIPCIÓN INFERIOR (Diseñado para ejecutar...) */
.elementor-15 .elementor-element.elementor-element-d698907 .core-description .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 6. LÍNEA DECORATIVA INFERIOR (Opcional) */
.elementor-15 .elementor-element.elementor-element-d698907::after {
    content: '';
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, #333, transparent);
    margin-top: 50px;
}


/* contenedores de titulos */


/* =============================================
   CONTENEDORES DE TÍTULOS — JOYSTICKS RESPONSIVE
   ============================================= */

.elementor-15 .elementor-element.elementor-element-d698907 .titulo1-container,
.elementor-15 .elementor-element.elementor-element-d698907 .titulo2-container,
.elementor-15 .elementor-element.elementor-element-d698907 .titulo3-container,
.elementor-15 .elementor-element.elementor-element-d698907 .titulo4-container {
    position: absolute !important;
    left: 50% !important;
    width: min(92%, 1200px) !important;
    z-index: 100 !important;
    display: flex !important;
    justify-content: center !important;
    pointer-events: none;
    transform: translateX(-50%) !important;
}

/* Eyebrow */
.elementor-15 .elementor-element.elementor-element-d698907 .titulo1-container {
    top: 8% !important;
}

/* Título principal */
.elementor-15 .elementor-element.elementor-element-d698907 .titulo2-container {
    top: 37% !important;
}

/* Subtítulo */
.elementor-15 .elementor-element.elementor-element-d698907 .titulo3-container {
    top: 48% !important;
}

/* Descripción inferior */
.elementor-15 .elementor-element.elementor-element-d698907 .titulo4-container {
    top: 88% !important;
    width: min(90%, 650px) !important;
}


/* =============================================
   7. AJUSTES PARA MÓVIL
   ============================================= */

@media (max-width: 768px) {
    .elementor-15 .elementor-element.elementor-element-d698907 {
        min-height: 100vh !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .img-fondo img {
        object-fit: cover !important;
        transform: scale(1.25) translateX(0%) translateY(0%) !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .titulo1-container,
    .elementor-15 .elementor-element.elementor-element-d698907 .titulo2-container,
    .elementor-15 .elementor-element.elementor-element-d698907 .titulo3-container,
    .elementor-15 .elementor-element.elementor-element-d698907 .titulo4-container {
        left: 50% !important;
        width: min(92%, 520px) !important;
        transform: translateX(-50%) !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .titulo1-container {
        top: 16% !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .titulo2-container {
        top: 44% !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .titulo3-container {
        top: 50% !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .titulo4-container {
        top: 82% !important;
        width: min(90%, 420px) !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .core-eyebrow .elementor-heading-title {
        font-size: clamp(10px, 2.8vw, 13px) !important;
        letter-spacing: clamp(3px, 1vw, 5px) !important;
        line-height: 1.3 !important;
        margin: 0 !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .core-title .elementor-heading-title,
    .elementor-15 .elementor-element.elementor-element-d698907 .core-subtitle .elementor-heading-title {
        font-size: clamp(18px, 7.2vw, 24px) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.8px !important;
        margin: 0 !important;
    }

    .elementor-15 .elementor-element.elementor-element-d698907 .core-description .elementor-heading-title {
        font-size: clamp(12px, 3.4vw, 15px) !important;
        line-height: 1.45 !important;
        max-width: 100% !important;
        padding: 0 20px !important;
        margin: 0 auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-3b96fbe *//* 1. CENTRAR EL BOTÓN Y AGREGAR PADDING ARRIBA */
.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-field-type-submit {
    display: flex !important;
    justify-content: center !important;
    padding-top: 30px !important; /* Ajusta este valor para más o menos espacio */
}

/* 2. ESTILO DEL BOTÓN (Normal) */
.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button[type="submit"] {
    background-color: #4A8BFF !important; 
    color: #FFFFFF !important;
    
    /* Forma y Tamaño */
    width: auto !important;
    min-width: 200px !important;
    padding: 14px 35px !important;
    border-radius: 100px !important;
    
    /* Texto */
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    
    /* Estado inicial de la sombra */
    border: none !important;
    transition: all 0.3s ease-in-out !important;
    box-shadow: 0px 4px 15px rgba(74, 139, 255, 0.3) !important;
}

/* 3. ESTILO HOVER (Brillo/Glow) */
/* 3. ESTILO HOVER (Brillo Sutil) */
.elementor-15 .elementor-element.elementor-element-3b96fbe .elementor-button[type="submit"]:hover {
    background-color: #4A8BFF !important; 
    
    /* Brillo más controlado */
    filter: brightness(1.1) !important; 
    transform: translateY(-2px) !important;
    
    /* Sombra reducida para un efecto de luz suave */
    box-shadow: 0px 8px 20px rgba(74, 139, 255, 0.4), 
                0px 0px 8px rgba(74, 139, 255, 0.3) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-71c190a *//* =============================================
   1. ESTILOS BASE DEL CONTENEDOR Y LABELS
   ============================================= */
.elementor-15 .elementor-element.elementor-element-71c190a {
    align-items: center !important;
    /*background: #000000;*/
    padding-bottom: 50px;
}

.elementor-15 .elementor-element.elementor-element-71c190a label {
    color: #ffffff !important;
}


/* Centrar el contenedor del botón */
.elementor-15 .elementor-element.elementor-element-71c190a .elementor-button-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Estilo Base (Imagen 1) */
.elementor-15 .elementor-element.elementor-element-71c190a .btn-form-diag {
    background-color: #4A8BFF !important; /* Azul de la imagen 1 */
    color: #FFFFFF !important;
    font-family: 'Poppins', sans-serif; /* Ajusta a tu tipografía */
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    
    /* Tamaño definido y pequeño */
    padding: 12px 30px !important;
    min-width: 180px;
    width: auto !important;
    border-radius: 50px !important; /* Totalmente redondeado */
    
    border: none !important;
    transition: all 0.3s ease-in-out !important;
    box-shadow: 0px 4px 15px rgba(74, 139, 255, 0.3) !important;
}

/* Estilo Hover (Imagen 2) */
.elementor-15 .elementor-element.elementor-element-71c190a .btn-form-diag:hover {
    background-color: #BD93F9 !important; /* Morado/Lavanda de la imagen 2 */
    color: #FFFFFF !important;
    transform: translateY(-3px) !important; /* Pequeño salto hacia arriba */
    box-shadow: 0px 8px 20px rgba(189, 147, 249, 0.4) !important;
}

/* Ajuste para móvil (Mantenerlo centrado pero quizás un poco más ancho) */
@media (max-width: 768px) {
    .elementor-15 .elementor-element.elementor-element-71c190a .btn-form-diag {
        min-width: 160px;
    }
}


/* Encabezado */
.elementor-15 .elementor-element.elementor-element-71c190a .elementor-heading-title {
    color: #ffffff !important;
    text-align: center !important;
    
    /* Tipografía para mantener la coherencia con tu marca */
    font-family: "Satoshi", sans-serif !important; 
    font-size: 32px !important; 
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    line-height: 1.4;
    margin-bottom: 40px !important;
    margin-top: 60px !important;
}

/* Ajuste para móvil (opcional pero recomendado) */
@media (max-width: 768px) {
    .elementor-15 .elementor-element.elementor-element-71c190a .elementor-heading-title {
        font-size: 24px !important;
        margin-bottom: 25px !important;
        margin-top: 60px !important;
        line-height: 1.2;
    }
    

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ec3a1f4 *//* ================================================================
   00-video-master.css  —  INICIO VIDEO BACKGROUND WRAPPER
   Pegar en: contenedor video-master (clases= video-master tint-overlay)
   Advanced > CSS Personalizado
   -----mensaje de prueba para recuperar css de elementor
   ================================================================ */

/* =============================================
   VIDEO MASTER - ESTRATEGIA DE AISLAMIENTO 
   ============================================= */

.video-master {
    position: relative;
    overflow: hidden !important; 
    background-color: #000000 !important;
    /* Eliminamos cualquier posible borde del contenedor padre */
    border: none !important;
    outline: none !important;
}

/* 1. ELIMINAR ESPACIOS FANTASMA DE ELEMENTOR */
.video-master, 
.video-master .elementor-container, 
.video-master .elementor-column, 
.video-master .elementor-widget-wrap {
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.video-master::after {
    content: "";
    position: absolute;
    inset: 0;
    /* Crea un marco interno negro de 2px que tapa cualquier fuga blanca */
    box-shadow: inset -2px 0 0 #000000, inset 2px 0 0 #000000 !important;
    z-index: 3 !important; /* Por encima del video */
    pointer-events: none;
}

/* 2. CONTENEDOR DEL VIDEO (Desbordamiento controlado) */
.video-master .elementor-background-video-container {
    position: absolute !important;
    /* Usamos un margen negativo agresivo para que el contenedor "pise" fuera de la pantalla */
    top: -5px !important;
    bottom: -5px !important;
    left: -5px !important;
    right: -5px !important;
    width: calc(100% + 10px) !important;
    height: calc(100% + 10px) !important;
    z-index: 0 !important;
    background: #000000 !important;
    /* Quitamos cualquier máscara de recorte de Elementor */
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* 3. EL VIDEO (Escalado y Filtro de Borde) */
.video-master .elementor-background-video-container video {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    min-width: 106% !important; 
    min-height: 106% !important;
    width: auto !important;
    height: auto !important;
    /* El scale(1.06) asegura que el video se renderice fuera de la zona de la línea blanca */
    transform: translate(-50%, -50%) scale(1.06) !important;
    object-fit: cover !important;
    
    /* Evita que el navegador suavice los bordes con blanco */
    image-rendering: -webkit-optimize-contrast;
    filter: contrast(1.05) brightness(1.02);
}

/* 4. CAPA DE SEGURIDAD (Si la línea es un error de píxel, esto la tapa) */
.video-master::after {
    content: "";
    position: absolute;
    inset: 0;
    /* Crea un micro-borde interno negro que cubre cualquier fuga de luz blanca */
    border: 1px solid #000000;
    pointer-events: none;
    z-index: 4;
}




/* =============================================
   TINTS (CAPAS DE COLOR)
   ============================================= */
.section-tint { position: relative; z-index: 2; }
.section-tint::before {
    content: "";
    position: absolute;
    inset: -2px; /* También desbordamos la tinta */
    pointer-events: none;
    z-index: 1;
}

.tint-blue::before { background: #58A6FF1F; }
.tint-indigo::before { background: linear-gradient(180deg, #58A6FF1A 0%, #7DA2FF38 100%); }
.tint-dark::before { background: #0B0F1A73; }
.tint-overlay::before { background: #00000040; }

/* =============================================
   MOBILE
   ============================================= */
@media (max-width: 767px) {
    .video-master .elementor-background-video-container video {
        min-width: 115% !important;
        transform: translate(-50%, -50%) scale(1.1) !important;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://sarhstudio.com/wp-content/uploads/2026/04/Satoshi-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://sarhstudio.com/wp-content/uploads/2026/04/Satoshi-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://sarhstudio.com/wp-content/uploads/2026/04/Satoshi-Bold.woff2') format('woff2');
}
/* End Custom Fonts CSS */