.elementor-15625 .elementor-element.elementor-element-b23dac1{--display:flex;--min-height:82vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.6;--padding-top:120px;--padding-bottom:92px;--padding-left:80px;--padding-right:80px;}.elementor-15625 .elementor-element.elementor-element-b23dac1:not(.elementor-motion-effects-element-type-background), .elementor-15625 .elementor-element.elementor-element-b23dac1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-hero009 );background-image:url("https://grupocabello.es/wp-content/uploads/2026/08/pexels-pixabay-164572.jpg");background-repeat:no-repeat;background-size:cover;}.elementor-15625 .elementor-element.elementor-element-b23dac1::before, .elementor-15625 .elementor-element.elementor-element-b23dac1 > .elementor-background-video-container::before, .elementor-15625 .elementor-element.elementor-element-b23dac1 > .e-con-inner > .elementor-background-video-container::before, .elementor-15625 .elementor-element.elementor-element-b23dac1 > .elementor-background-slideshow::before, .elementor-15625 .elementor-element.elementor-element-b23dac1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-15625 .elementor-element.elementor-element-b23dac1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(96deg, #000000 0%, #060C146B 100%);}.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 );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-15625 .elementor-element.elementor-element-3662308{padding:0rem 0rem 0rem 0.6rem;text-align:start;font-family:var( --e-global-typography-nav4444-font-family ), Sans-serif;font-size:var( --e-global-typography-nav4444-font-size );font-weight:var( --e-global-typography-nav4444-font-weight );line-height:var( --e-global-typography-nav4444-line-height );letter-spacing:var( --e-global-typography-nav4444-letter-spacing );color:rgba(255,255,255,0.5);}.elementor-15625 .elementor-element.elementor-element-95b5177{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-15625 .elementor-element.elementor-element-2503c7a{text-align:start;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-15625 .elementor-element.elementor-element-4f984bd{text-align:start;}.elementor-15625 .elementor-element.elementor-element-4f984bd .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:88px;font-weight:500;line-height:1em;letter-spacing:-0.035em;color:#FFFFFF;}.elementor-15625 .elementor-element.elementor-element-76e33d7{width:var( --container-widget-width, 42% );max-width:42%;--container-widget-width:42%;--container-widget-flex-grow:0;text-align:start;font-family:var( --e-global-typography-lead111-font-family ), Sans-serif;font-size:var( --e-global-typography-lead111-font-size );font-weight:var( --e-global-typography-lead111-font-weight );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );color:rgba(255,255,255,0.9);}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-btn2222-font-family ), Sans-serif;font-size:var( --e-global-typography-btn2222-font-size );font-weight:var( --e-global-typography-btn2222-font-weight );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );transition-duration:0.45s;border-radius:2px 2px 2px 2px;padding:20px 32px 20px 32px;}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button:hover, .elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button:hover svg, .elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-5a6a635{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:65px;--padding-bottom:65px;--padding-left:48px;--padding-right:48px;}.elementor-15625 .elementor-element.elementor-element-5a6a635:not(.elementor-motion-effects-element-type-background), .elementor-15625 .elementor-element.elementor-element-5a6a635 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-15625 .elementor-element.elementor-element-5ce57b3{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15625 .elementor-element.elementor-element-9897135{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-15625 .elementor-element.elementor-element-f497ebc{text-align:start;}.elementor-15625 .elementor-element.elementor-element-f497ebc .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:50px;font-weight:500;line-height:1.05em;letter-spacing:-0.03em;color:var( --e-global-color-ink0001 );}.elementor-15625 .elementor-element.elementor-element-08f2c70{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:var( --e-global-typography-lead111-font-family ), Sans-serif;font-size:var( --e-global-typography-lead111-font-size );font-weight:var( --e-global-typography-lead111-font-weight );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );color:var( --e-global-color-text );}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-btn2222-font-family ), Sans-serif;font-size:var( --e-global-typography-btn2222-font-size );font-weight:var( --e-global-typography-btn2222-font-weight );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );transition-duration:0.45s;border-radius:2px 2px 2px 2px;padding:20px 32px 20px 32px;}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button:hover, .elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button:hover svg, .elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-989333c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-a8bddab img{width:100%;max-width:100%;height:45vh;}body:not(.rtl) .elementor-15625 .elementor-element.elementor-element-aeb055f{left:5%;}body.rtl .elementor-15625 .elementor-element.elementor-element-aeb055f{right:5%;}.elementor-15625 .elementor-element.elementor-element-aeb055f{bottom:-8%;z-index:0;}.elementor-15625 .elementor-element.elementor-element-aeb055f img{width:100%;max-width:82%;}.elementor-15625 .elementor-element.elementor-element-4e20efc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:65px;--padding-bottom:65px;--padding-left:48px;--padding-right:48px;}.elementor-15625 .elementor-element.elementor-element-4e20efc:not(.elementor-motion-effects-element-type-background), .elementor-15625 .elementor-element.elementor-element-4e20efc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-15625 .elementor-element.elementor-element-df3b9f4{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-15625 .elementor-element.elementor-element-725e9c4 img{width:100%;max-width:100%;height:45vh;}.elementor-15625 .elementor-element.elementor-element-20f16be{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15625 .elementor-element.elementor-element-6a42f34{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-15625 .elementor-element.elementor-element-3b0b12f{text-align:start;}.elementor-15625 .elementor-element.elementor-element-3b0b12f .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:50px;font-weight:500;line-height:1.05em;letter-spacing:-0.03em;color:var( --e-global-color-ink0001 );}.elementor-15625 .elementor-element.elementor-element-9e09d6a{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:var( --e-global-typography-lead111-font-family ), Sans-serif;font-size:var( --e-global-typography-lead111-font-size );font-weight:var( --e-global-typography-lead111-font-weight );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );color:var( --e-global-color-text );}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-btn2222-font-family ), Sans-serif;font-size:var( --e-global-typography-btn2222-font-size );font-weight:var( --e-global-typography-btn2222-font-weight );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );transition-duration:0.45s;border-radius:2px 2px 2px 2px;padding:20px 32px 20px 32px;}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button:hover, .elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button:hover svg, .elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-be9a825{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:65px;--padding-bottom:65px;--padding-left:48px;--padding-right:48px;}.elementor-15625 .elementor-element.elementor-element-be9a825:not(.elementor-motion-effects-element-type-background), .elementor-15625 .elementor-element.elementor-element-be9a825 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-15625 .elementor-element.elementor-element-71ca2b9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15625 .elementor-element.elementor-element-521bdd9{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-15625 .elementor-element.elementor-element-9626b28{text-align:start;}.elementor-15625 .elementor-element.elementor-element-9626b28 .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:50px;font-weight:500;line-height:1.05em;letter-spacing:-0.03em;color:var( --e-global-color-ink0001 );}.elementor-15625 .elementor-element.elementor-element-11af609{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:var( --e-global-typography-lead111-font-family ), Sans-serif;font-size:var( --e-global-typography-lead111-font-size );font-weight:var( --e-global-typography-lead111-font-weight );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );color:var( --e-global-color-text );}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-btn2222-font-family ), Sans-serif;font-size:var( --e-global-typography-btn2222-font-size );font-weight:var( --e-global-typography-btn2222-font-weight );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );transition-duration:0.45s;border-radius:2px 2px 2px 2px;padding:20px 32px 20px 32px;}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button:hover, .elementor-15625 .elementor-element.elementor-element-269848a .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button:hover svg, .elementor-15625 .elementor-element.elementor-element-269848a .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-bc52dd9{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-15625 .elementor-element.elementor-element-b6951cd img{width:100%;max-width:100%;height:45vh;}body:not(.rtl) .elementor-15625 .elementor-element.elementor-element-8d967f0{left:5%;}body.rtl .elementor-15625 .elementor-element.elementor-element-8d967f0{right:5%;}.elementor-15625 .elementor-element.elementor-element-8d967f0{bottom:-8%;z-index:0;}.elementor-15625 .elementor-element.elementor-element-8d967f0 img{width:100%;max-width:82%;}.elementor-15625 .elementor-element.elementor-element-d18c44a{--display:flex;}.elementor-15625 .elementor-element.elementor-element-37eabe3{text-align:start;}.elementor-15625 .elementor-element.elementor-element-37eabe3 .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:50px;font-weight:500;line-height:1.05em;letter-spacing:-0.03em;color:var( --e-global-color-ink0001 );}.elementor-15625 .elementor-element.elementor-element-7cbec85{--display:flex;}.elementor-15625 .elementor-element.elementor-element-dcaadc5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-15625 .elementor-element.elementor-element-dab8196{--divider-border-style:solid;--divider-color:var( --e-global-color-760d75e );--divider-border-width:1px;width:var( --container-widget-width, 2% );max-width:2%;--container-widget-width:2%;--container-widget-flex-grow:0;}.elementor-15625 .elementor-element.elementor-element-dab8196 .elementor-divider-separator{width:100%;}.elementor-15625 .elementor-element.elementor-element-dab8196 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-15625 .elementor-element.elementor-element-5db13bf{--divider-border-style:solid;--divider-color:var( --e-global-color-760d75e );--divider-border-width:1px;width:var( --container-widget-width, 2% );max-width:2%;--container-widget-width:2%;--container-widget-flex-grow:0;}.elementor-15625 .elementor-element.elementor-element-5db13bf .elementor-divider-separator{width:100%;}.elementor-15625 .elementor-element.elementor-element-5db13bf .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(max-width:1024px){.elementor-15625 .elementor-element.elementor-element-b23dac1{--min-height:40vh;--padding-top:84px;--padding-bottom:64px;--padding-left:32px;--padding-right:32px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-3662308{font-size:var( --e-global-typography-nav4444-font-size );line-height:var( --e-global-typography-nav4444-line-height );letter-spacing:var( --e-global-typography-nav4444-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-2503c7a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-4f984bd .elementor-heading-title{font-size:64px;}.elementor-15625 .elementor-element.elementor-element-76e33d7{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:start;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-5a6a635{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:020px;--padding-bottom:020px;--padding-left:32px;--padding-right:32px;}.elementor-15625 .elementor-element.elementor-element-5ce57b3{--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-15625 .elementor-element.elementor-element-f497ebc{text-align:center;}.elementor-15625 .elementor-element.elementor-element-f497ebc .elementor-heading-title{font-size:48px;}.elementor-15625 .elementor-element.elementor-element-08f2c70{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:center;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-4e20efc{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:020px;--padding-bottom:020px;--padding-left:32px;--padding-right:32px;}.elementor-15625 .elementor-element.elementor-element-3b0b12f{text-align:center;}.elementor-15625 .elementor-element.elementor-element-3b0b12f .elementor-heading-title{font-size:48px;}.elementor-15625 .elementor-element.elementor-element-9e09d6a{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:center;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-be9a825{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:020px;--padding-bottom:020px;--padding-left:32px;--padding-right:32px;}.elementor-15625 .elementor-element.elementor-element-71ca2b9{--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-15625 .elementor-element.elementor-element-9626b28{text-align:center;}.elementor-15625 .elementor-element.elementor-element-9626b28 .elementor-heading-title{font-size:48px;}.elementor-15625 .elementor-element.elementor-element-11af609{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:center;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-37eabe3{text-align:center;}.elementor-15625 .elementor-element.elementor-element-37eabe3 .elementor-heading-title{font-size:48px;}.elementor-15625 .elementor-element.elementor-element-c8f9f33{padding:020px 32px 020px 32px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(max-width:767px){.elementor-15625 .elementor-element.elementor-element-b23dac1{--min-height:40vh;--padding-top:92px;--padding-bottom:60px;--padding-left:24px;--padding-right:24px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-3662308{font-size:var( --e-global-typography-nav4444-font-size );line-height:var( --e-global-typography-nav4444-line-height );letter-spacing:var( --e-global-typography-nav4444-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-2503c7a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-4f984bd{text-align:start;}.elementor-15625 .elementor-element.elementor-element-4f984bd .elementor-heading-title{font-size:32px;}.elementor-15625 .elementor-element.elementor-element-76e33d7{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:start;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-3a0ed0a .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-5a6a635{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:20px;--padding-bottom:20px;--padding-left:24px;--padding-right:24px;}.elementor-15625 .elementor-element.elementor-element-f497ebc{text-align:center;}.elementor-15625 .elementor-element.elementor-element-f497ebc .elementor-heading-title{font-size:36px;}.elementor-15625 .elementor-element.elementor-element-08f2c70{text-align:center;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-1db254a .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-a8bddab img{height:45%;}.elementor-15625 .elementor-element.elementor-element-4e20efc{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:20px;--padding-bottom:20px;--padding-left:24px;--padding-right:24px;}.elementor-15625 .elementor-element.elementor-element-725e9c4 img{height:45%;}.elementor-15625 .elementor-element.elementor-element-3b0b12f{text-align:center;}.elementor-15625 .elementor-element.elementor-element-3b0b12f .elementor-heading-title{font-size:36px;}.elementor-15625 .elementor-element.elementor-element-9e09d6a{text-align:center;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-04f268f .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-be9a825{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:20px;--padding-bottom:20px;--padding-left:24px;--padding-right:24px;}.elementor-15625 .elementor-element.elementor-element-9626b28{text-align:center;}.elementor-15625 .elementor-element.elementor-element-9626b28 .elementor-heading-title{font-size:36px;}.elementor-15625 .elementor-element.elementor-element-11af609{text-align:center;font-size:var( --e-global-typography-lead111-font-size );line-height:var( --e-global-typography-lead111-line-height );letter-spacing:var( --e-global-typography-lead111-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-269848a .elementor-button{font-size:var( --e-global-typography-btn2222-font-size );line-height:var( --e-global-typography-btn2222-line-height );letter-spacing:var( --e-global-typography-btn2222-letter-spacing );}.elementor-15625 .elementor-element.elementor-element-b6951cd img{height:45%;}.elementor-15625 .elementor-element.elementor-element-37eabe3{text-align:center;}.elementor-15625 .elementor-element.elementor-element-37eabe3 .elementor-heading-title{font-size:36px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(min-width:768px){.elementor-15625 .elementor-element.elementor-element-5a6a635{--content-width:1440px;}.elementor-15625 .elementor-element.elementor-element-9897135{--width:50%;}.elementor-15625 .elementor-element.elementor-element-989333c{--width:50%;}.elementor-15625 .elementor-element.elementor-element-4e20efc{--content-width:1440px;}.elementor-15625 .elementor-element.elementor-element-df3b9f4{--width:50%;}.elementor-15625 .elementor-element.elementor-element-20f16be{--width:50%;}.elementor-15625 .elementor-element.elementor-element-6a42f34{--width:100%;}.elementor-15625 .elementor-element.elementor-element-be9a825{--content-width:1440px;}.elementor-15625 .elementor-element.elementor-element-521bdd9{--width:50%;}.elementor-15625 .elementor-element.elementor-element-bc52dd9{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-15625 .elementor-element.elementor-element-9897135{--width:100%;}.elementor-15625 .elementor-element.elementor-element-989333c{--width:100%;}.elementor-15625 .elementor-element.elementor-element-df3b9f4{--width:100%;}.elementor-15625 .elementor-element.elementor-element-20f16be{--width:100%;}.elementor-15625 .elementor-element.elementor-element-6a42f34{--width:100%;}.elementor-15625 .elementor-element.elementor-element-521bdd9{--width:100%;}.elementor-15625 .elementor-element.elementor-element-bc52dd9{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-b23dac1 *//* Reserva de tokens: el kit del sitio, si existe, tiene prioridad */
:root{
  --e-global-color-primary:#1C3A6F;
  --e-global-color-secondary:#142B54;
  --e-global-color-text:#2B2F36;
  --e-global-color-accent:#A8C2E8;
  --e-global-color-ink0001:#0D1117;
  --e-global-color-soft002:#F7F8FA;
  --e-global-color-tsft003:#5B6470;
  --e-global-color-tmut004:#8A929C;
  --e-global-color-line005:#E6E8EC;
  --e-global-color-lnst006:#C7CCD3;
  --e-global-color-blght07:#E8EEF7;
  --e-global-color-amid008:#5A8CC7;
  --e-global-color-hero009:#060C14;
  --e-global-color-cdrk010:#0D1117;
  --e-global-typography-primary-font-family:"Barlow",sans-serif;
  --e-global-typography-primary-font-weight:500;
  --e-global-typography-primary-font-size:88px;
  --e-global-typography-primary-line-height:1em;
  --e-global-typography-primary-letter-spacing:-0.035em;
  --e-global-typography-secondary-font-family:"Barlow",sans-serif;
  --e-global-typography-secondary-font-weight:500;
  --e-global-typography-secondary-font-size:64px;
  --e-global-typography-secondary-line-height:1.05em;
  --e-global-typography-secondary-letter-spacing:-0.03em;
  --e-global-typography-text-font-family:"Inter",sans-serif;
  --e-global-typography-text-font-weight:400;
  --e-global-typography-text-font-size:16px;
  --e-global-typography-text-line-height:1.6em;
  --e-global-typography-text-letter-spacing:0em;
  --e-global-typography-accent-font-family:"Inter",sans-serif;
  --e-global-typography-accent-font-weight:600;
  --e-global-typography-accent-font-size:11px;
  --e-global-typography-accent-line-height:1.4em;
  --e-global-typography-accent-letter-spacing:0.22em;
  --e-global-typography-accent-text-transform:uppercase;
  --e-global-typography-lead111-font-family:"Inter",sans-serif;
  --e-global-typography-lead111-font-weight:400;
  --e-global-typography-lead111-font-size:19px;
  --e-global-typography-lead111-line-height:1.6em;
  --e-global-typography-lead111-letter-spacing:0em;
  --e-global-typography-btn2222-font-family:"Barlow",sans-serif;
  --e-global-typography-btn2222-font-weight:500;
  --e-global-typography-btn2222-font-size:15px;
  --e-global-typography-btn2222-line-height:1.2em;
  --e-global-typography-btn2222-letter-spacing:-0.005em;
  --e-global-typography-cnt3333-font-family:"Barlow",sans-serif;
  --e-global-typography-cnt3333-font-weight:500;
  --e-global-typography-cnt3333-font-size:84px;
  --e-global-typography-cnt3333-line-height:1em;
  --e-global-typography-cnt3333-letter-spacing:-0.04em;
  --e-global-typography-nav4444-font-family:"Barlow",sans-serif;
  --e-global-typography-nav4444-font-weight:500;
  --e-global-typography-nav4444-font-size:16px;
  --e-global-typography-nav4444-line-height:1.2em;
  --e-global-typography-nav4444-letter-spacing:-0.005em;
  --e-global-typography-quo5555-font-family:"Barlow",sans-serif;
  --e-global-typography-quo5555-font-weight:500;
  --e-global-typography-quo5555-font-size:48px;
  --e-global-typography-quo5555-line-height:1.2em;
  --e-global-typography-quo5555-letter-spacing:-0.025em;
  --e-global-typography-h4card6-font-family:"Barlow",sans-serif;
  --e-global-typography-h4card6-font-weight:500;
  --e-global-typography-h4card6-font-size:20px;
  --e-global-typography-h4card6-line-height:1.25em;
  --e-global-typography-h4card6-letter-spacing:-0.015em;
}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button{position:relative;overflow:hidden;z-index:1;
  transition:color .4s cubic-bezier(.23,1,.32,1),border-color .4s cubic-bezier(.23,1,.32,1)}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button::before{content:'';position:absolute;inset:0;background:#fff;
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s cubic-bezier(.77,0,.175,1);z-index:-1}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button:hover{color:var(--e-global-color-primary)}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button:hover::before{transform:scaleX(1)}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button .elementor-button-content-wrapper{position:relative;z-index:2}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button .elementor-button-icon{font-size:13px;
  transition:transform .45s cubic-bezier(.23,1,.32,1)}
.elementor-15625 .elementor-element.elementor-element-b23dac1 .elementor-button:hover .elementor-button-icon{transform:translate(3px,-3px)}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1db254a *//* ============================================================
   BOTÓN DE MARCA — clase  btn-hero
   PEGAR EN: Elementor → Ajustes del sitio → CSS personalizado
   USO: en el widget, Avanzado → Clases CSS →  btn-hero

   Único cambio real:  .elementor-15625 .elementor-element.elementor-element-1db254a  →  .btn-hero
   ".elementor-15625 .elementor-element.elementor-element-1db254a" solo lo sustituye Elementor dentro de la caja
   Avanzado → CSS personalizado DE ESE widget. En cualquier otro
   sitio llega al navegador tal cual y la regla se descarta.
   ============================================================ */


/* ───── VARIABLES ─────
   Cambiar aquí cambia todos los botones del sitio a la vez. */
.btn-hero{
  --btn-fondo:   var(--e-global-color-secondary, #142B54);
  --btn-texto:   #FFFFFF;
  --btn-barrido: #FFFFFF;                                /* el color que entra */
  --btn-hover:   var(--e-global-color-primary, #1C3A6F); /* el texto sobre el barrido */
  --btn-alto:  20px;
  --btn-ancho: 32px;
}


/* ───── BASE ─────
   El !important es deliberado: el .elementor-15625 .elementor-element.elementor-element-1db254a del panel tiene 4 clases
   (.elementor-15743 .elementor-element.elementor-element-9a7b1a9
   .elementor-button) y este tiene 2, así que sin él perdería. Y hay que
   ganarle a propósito: la copia del widget se trae los ajustes del panel
   pegados y son justo los que queremos anular. */
.btn-hero .elementor-button{
  /* Las tres piezas del barrido:
       position:relative  → ancla del ::before
       overflow:hidden    → lo recorta al borde del botón
       z-index:1          → CREA CONTEXTO DE APILADO. Sin esto, un hijo
                            con z-index:-1 se iría DETRÁS del fondo del
                            botón y el barrido no se vería. Es la pieza
                            que sostiene todo el efecto. */
  position: relative;
  overflow: hidden;
  z-index: 1;

  display: inline-flex;
  align-items: center;

  background-color: var(--btn-fondo) !important;
  color: var(--btn-texto) !important;

  font-family:    var(--e-global-typography-btn2222-font-family, "Barlow"), sans-serif !important;
  font-size:      var(--e-global-typography-btn2222-font-size, 15px) !important;
  font-weight:    var(--e-global-typography-btn2222-font-weight, 500) !important;
  line-height:    var(--e-global-typography-btn2222-line-height, 1.2em) !important;
  letter-spacing: var(--e-global-typography-btn2222-letter-spacing, -.005em) !important;

  padding: var(--btn-alto) var(--btn-ancho) !important;
  border: none !important;
  border-radius: 2px !important;
  text-decoration: none !important;

  transition:
    color        .4s cubic-bezier(.23,1,.32,1),
    border-color .4s cubic-bezier(.23,1,.32,1) !important;
}


/* ───── EL BARRIDO ─────
   Entra desde la izquierda escalando en X. Se anima transform y no
   width porque transform no provoca recálculo de layout. */
.btn-hero .elementor-button::before{
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;

  background: var(--btn-barrido);

  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(.77,0,.175,1);
}

.btn-hero .elementor-button:hover::before,
.btn-hero .elementor-button:focus::before{
  transform: scaleX(1);
}

.btn-hero .elementor-button:hover,
.btn-hero .elementor-button:focus{
  color: var(--btn-hover) !important;
}


/* ───── EL CONTENIDO, POR ENCIMA DEL BARRIDO ───── */
.btn-hero .elementor-button .elementor-button-content-wrapper{
  position: relative;
  z-index: 2;

  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse !important;   /* icono a la derecha */
  gap: 10px !important;
}


/* ───── EL ICONO ───── */
.btn-hero .elementor-button .elementor-button-icon{
  display: inline-flex;
  align-items: center;
  font-size: 13px;                          /* si es icono de fuente */
  transition: transform .45s cubic-bezier(.23,1,.32,1);
}

.btn-hero .elementor-button:hover .elementor-button-icon,
.btn-hero .elementor-button:focus .elementor-button-icon{
  transform: translate(3px,-3px);
}

/* SVG EN LÍNEA — la flecha del boceto es un icono de TRAZO
   (fill="none" stroke="currentColor"). El ajuste "color del icono en
   hover" del panel escribe  fill , y como el CSS gana a los atributos
   de presentación, el trazo se rellenaba de azul. Aquí se fija: fill
   nunca, stroke siempre heredado del texto. */
.btn-hero .elementor-button svg{
  width: 12px;
  height: 12px;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ───── FOCO POR TECLADO ─────
   :focus-visible y no :focus, para que el anillo no salte con el ratón. */
.btn-hero .elementor-button:focus-visible{
  outline: 2px solid var(--e-global-color-accent, #A8C2E8) !important;
  outline-offset: 3px;
}


/* ───── VARIANTES ───── */

/* Icono a la izquierda */
.btn-hero.btn-hero--icono-izq .elementor-button .elementor-button-content-wrapper{
  flex-direction: row !important;
}
.btn-hero.btn-hero--icono-izq .elementor-button:hover .elementor-button-icon{
  transform: translate(-3px,0);
}

/* Sobre fondo oscuro: transparente con borde blanco.
   El barrido sigue siendo blanco y el texto pasa al marino. */
.btn-hero.btn-hero--claro .elementor-button{
  background-color: transparent !important;
  border: 1px solid #fff !important;
  padding: calc(var(--btn-alto) - 1px) calc(var(--btn-ancho) - 1px) !important;
}
.btn-hero.btn-hero--claro .elementor-button:hover,
.btn-hero.btn-hero--claro .elementor-button:focus{
  color: var(--btn-fondo) !important;
  border-color: #fff !important;
}

/* Barrido azul sobre botón claro */
.btn-hero.btn-hero--inverso .elementor-button{
  --btn-barrido: var(--e-global-color-primary, #1C3A6F);
  --btn-hover: #fff;
  background-color: var(--e-global-color-soft002, #F7F8FA) !important;
  color: var(--e-global-color-ink0001, #0D1117) !important;
}


/* ───── ALINEACIÓN ─────
   .elementor-align-* del panel sigue funcionando. Esto solo evita que el
   botón se estire a todo el ancho dentro de un contenedor flex con
   align-items: stretch. */
.btn-hero{ align-self: flex-start; }
.btn-hero.elementor-align-center{ align-self: center; }
.btn-hero.elementor-align-right{  align-self: flex-end; }


/* ───── SIN ANIMACIONES SI EL USUARIO LAS HA DESACTIVADO ─────
   El barrido se queda quieto, pero el cambio de color se mantiene: si no,
   en hover no habría ninguna señal. */
@media (prefers-reduced-motion: reduce){
  .btn-hero .elementor-button,
  .btn-hero .elementor-button::before,
  .btn-hero .elementor-button .elementor-button-icon{
    transition: none !important;
  }
  .btn-hero .elementor-button:hover .elementor-button-icon{
    transform: none !important;
  }
}


/* ───── MÓVIL ─────
   32px de padding horizontal en una pantalla de 360px deja el botón
   pegado a los márgenes de sección (24px). Se reduce. */
@media (max-width: 767px){
  .btn-hero{
    --btn-alto:  17px;
    --btn-ancho: 26px;
  }
  .btn-hero .elementor-button{ font-size: 14px !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a6a635 */.hex-historia-1 {
    animation: ahbFloat1 16s ease-in-out infinite alternate;
}

.hex-historia-2 {
    animation: ahbFloat2 12s ease-in-out infinite alternate;
}

.hex-historia-3 {
    animation: ahbFloat1 10s ease-in-out infinite alternate-reverse;
}

@keyframes ahbFloat1 {
    from {
        transform: rotate(0deg) translateY(0);
    }

    to {
        transform: rotate(20deg) translateY(-24px);
    }
}

@keyframes ahbFloat2 {
    from {
        transform: rotate(-12deg) translateY(0) scale(1);
    }

    to {
        transform: rotate(10deg) translateY(18px) scale(1.06);
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-04f268f *//* ============================================================
   BOTÓN DE MARCA — clase  btn-hero
   PEGAR EN: Elementor → Ajustes del sitio → CSS personalizado
   USO: en el widget, Avanzado → Clases CSS →  btn-hero

   Único cambio real:  .elementor-15625 .elementor-element.elementor-element-04f268f  →  .btn-hero
   ".elementor-15625 .elementor-element.elementor-element-04f268f" solo lo sustituye Elementor dentro de la caja
   Avanzado → CSS personalizado DE ESE widget. En cualquier otro
   sitio llega al navegador tal cual y la regla se descarta.
   ============================================================ */


/* ───── VARIABLES ─────
   Cambiar aquí cambia todos los botones del sitio a la vez. */
.btn-hero{
  --btn-fondo:   var(--e-global-color-secondary, #142B54);
  --btn-texto:   #FFFFFF;
  --btn-barrido: #FFFFFF;                                /* el color que entra */
  --btn-hover:   var(--e-global-color-primary, #1C3A6F); /* el texto sobre el barrido */
  --btn-alto:  20px;
  --btn-ancho: 32px;
}


/* ───── BASE ─────
   El !important es deliberado: el .elementor-15625 .elementor-element.elementor-element-04f268f del panel tiene 4 clases
   (.elementor-15743 .elementor-element.elementor-element-9a7b1a9
   .elementor-button) y este tiene 2, así que sin él perdería. Y hay que
   ganarle a propósito: la copia del widget se trae los ajustes del panel
   pegados y son justo los que queremos anular. */
.btn-hero .elementor-button{
  /* Las tres piezas del barrido:
       position:relative  → ancla del ::before
       overflow:hidden    → lo recorta al borde del botón
       z-index:1          → CREA CONTEXTO DE APILADO. Sin esto, un hijo
                            con z-index:-1 se iría DETRÁS del fondo del
                            botón y el barrido no se vería. Es la pieza
                            que sostiene todo el efecto. */
  position: relative;
  overflow: hidden;
  z-index: 1;

  display: inline-flex;
  align-items: center;

  background-color: var(--btn-fondo) !important;
  color: var(--btn-texto) !important;

  font-family:    var(--e-global-typography-btn2222-font-family, "Barlow"), sans-serif !important;
  font-size:      var(--e-global-typography-btn2222-font-size, 15px) !important;
  font-weight:    var(--e-global-typography-btn2222-font-weight, 500) !important;
  line-height:    var(--e-global-typography-btn2222-line-height, 1.2em) !important;
  letter-spacing: var(--e-global-typography-btn2222-letter-spacing, -.005em) !important;

  padding: var(--btn-alto) var(--btn-ancho) !important;
  border: none !important;
  border-radius: 2px !important;
  text-decoration: none !important;

  transition:
    color        .4s cubic-bezier(.23,1,.32,1),
    border-color .4s cubic-bezier(.23,1,.32,1) !important;
}


/* ───── EL BARRIDO ─────
   Entra desde la izquierda escalando en X. Se anima transform y no
   width porque transform no provoca recálculo de layout. */
.btn-hero .elementor-button::before{
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;

  background: var(--btn-barrido);

  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(.77,0,.175,1);
}

.btn-hero .elementor-button:hover::before,
.btn-hero .elementor-button:focus::before{
  transform: scaleX(1);
}

.btn-hero .elementor-button:hover,
.btn-hero .elementor-button:focus{
  color: var(--btn-hover) !important;
}


/* ───── EL CONTENIDO, POR ENCIMA DEL BARRIDO ───── */
.btn-hero .elementor-button .elementor-button-content-wrapper{
  position: relative;
  z-index: 2;

  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse !important;   /* icono a la derecha */
  gap: 10px !important;
}


/* ───── EL ICONO ───── */
.btn-hero .elementor-button .elementor-button-icon{
  display: inline-flex;
  align-items: center;
  font-size: 13px;                          /* si es icono de fuente */
  transition: transform .45s cubic-bezier(.23,1,.32,1);
}

.btn-hero .elementor-button:hover .elementor-button-icon,
.btn-hero .elementor-button:focus .elementor-button-icon{
  transform: translate(3px,-3px);
}

/* SVG EN LÍNEA — la flecha del boceto es un icono de TRAZO
   (fill="none" stroke="currentColor"). El ajuste "color del icono en
   hover" del panel escribe  fill , y como el CSS gana a los atributos
   de presentación, el trazo se rellenaba de azul. Aquí se fija: fill
   nunca, stroke siempre heredado del texto. */
.btn-hero .elementor-button svg{
  width: 12px;
  height: 12px;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ───── FOCO POR TECLADO ─────
   :focus-visible y no :focus, para que el anillo no salte con el ratón. */
.btn-hero .elementor-button:focus-visible{
  outline: 2px solid var(--e-global-color-accent, #A8C2E8) !important;
  outline-offset: 3px;
}


/* ───── VARIANTES ───── */

/* Icono a la izquierda */
.btn-hero.btn-hero--icono-izq .elementor-button .elementor-button-content-wrapper{
  flex-direction: row !important;
}
.btn-hero.btn-hero--icono-izq .elementor-button:hover .elementor-button-icon{
  transform: translate(-3px,0);
}

/* Sobre fondo oscuro: transparente con borde blanco.
   El barrido sigue siendo blanco y el texto pasa al marino. */
.btn-hero.btn-hero--claro .elementor-button{
  background-color: transparent !important;
  border: 1px solid #fff !important;
  padding: calc(var(--btn-alto) - 1px) calc(var(--btn-ancho) - 1px) !important;
}
.btn-hero.btn-hero--claro .elementor-button:hover,
.btn-hero.btn-hero--claro .elementor-button:focus{
  color: var(--btn-fondo) !important;
  border-color: #fff !important;
}

/* Barrido azul sobre botón claro */
.btn-hero.btn-hero--inverso .elementor-button{
  --btn-barrido: var(--e-global-color-primary, #1C3A6F);
  --btn-hover: #fff;
  background-color: var(--e-global-color-soft002, #F7F8FA) !important;
  color: var(--e-global-color-ink0001, #0D1117) !important;
}


/* ───── ALINEACIÓN ─────
   .elementor-align-* del panel sigue funcionando. Esto solo evita que el
   botón se estire a todo el ancho dentro de un contenedor flex con
   align-items: stretch. */
.btn-hero{ align-self: flex-start; }
.btn-hero.elementor-align-center{ align-self: center; }
.btn-hero.elementor-align-right{  align-self: flex-end; }


/* ───── SIN ANIMACIONES SI EL USUARIO LAS HA DESACTIVADO ─────
   El barrido se queda quieto, pero el cambio de color se mantiene: si no,
   en hover no habría ninguna señal. */
@media (prefers-reduced-motion: reduce){
  .btn-hero .elementor-button,
  .btn-hero .elementor-button::before,
  .btn-hero .elementor-button .elementor-button-icon{
    transition: none !important;
  }
  .btn-hero .elementor-button:hover .elementor-button-icon{
    transform: none !important;
  }
}


/* ───── MÓVIL ─────
   32px de padding horizontal en una pantalla de 360px deja el botón
   pegado a los márgenes de sección (24px). Se reduce. */
@media (max-width: 767px){
  .btn-hero{
    --btn-alto:  17px;
    --btn-ancho: 26px;
  }
  .btn-hero .elementor-button{ font-size: 14px !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4e20efc */.hex-historia-1 {
    animation: ahbFloat1 16s ease-in-out infinite alternate;
}

.hex-historia-2 {
    animation: ahbFloat2 12s ease-in-out infinite alternate;
}

.hex-historia-3 {
    animation: ahbFloat1 10s ease-in-out infinite alternate-reverse;
}

@keyframes ahbFloat1 {
    from {
        transform: rotate(0deg) translateY(0);
    }

    to {
        transform: rotate(20deg) translateY(-24px);
    }
}

@keyframes ahbFloat2 {
    from {
        transform: rotate(-12deg) translateY(0) scale(1);
    }

    to {
        transform: rotate(10deg) translateY(18px) scale(1.06);
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-be9a825 */.hex-historia-1 {
    animation: ahbFloat1 16s ease-in-out infinite alternate;
}

.hex-historia-2 {
    animation: ahbFloat2 12s ease-in-out infinite alternate;
}

.hex-historia-3 {
    animation: ahbFloat1 10s ease-in-out infinite alternate-reverse;
}

@keyframes ahbFloat1 {
    from {
        transform: rotate(0deg) translateY(0);
    }

    to {
        transform: rotate(20deg) translateY(-24px);
    }
}

@keyframes ahbFloat2 {
    from {
        transform: rotate(-12deg) translateY(0) scale(1);
    }

    to {
        transform: rotate(10deg) translateY(18px) scale(1.06);
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c8f9f33 *//* ============================================================
   FORMULARIO "Trabaja con nosotros" — Contact Form 7 6.1.7
   Tokens tomados del kit 15477 de grupocabello.es

   DÓNDE PONERLO
     Elementor → Ajustes del sitio → CSS personalizado
     (o en el CSS personalizado de la página)

   CLASE NECESARIA
     Al CONTENEDOR de Elementor que envuelve el shortcode:
       Avanzado → Clases CSS →  gc-form
     Hace falta porque el aviso de validación y el spinner los
     pinta CF7 FUERA del div .form-trabaja-con-nosotros.
   ============================================================ */

.gc-form{
  /* Bordes en azul oscuro: marino en reposo, un paso más oscuro al
     pasar el ratón, y el azul medio al enfocar para que el campo
     activo se distinga del resto. */
  --f-line:   var(--e-global-color-primary,   #1C3A6F);
  --f-line-2: var(--e-global-color-secondary, #142B54);
  --f-focus:  var(--e-global-color-amid008,   #5A8CC7);

  /* El botón: marino plano que se ACLARA en hover, con sombra */
  --f-btn:       var(--e-global-color-secondary, #142B54);
  --f-btn-hover: var(--e-global-color-primary,   #1C3A6F);

  --f-brand:  var(--e-global-color-primary,  #1C3A6F);
  --f-text:   var(--e-global-color-text,     #2B2F36);
  --f-soft:   var(--e-global-color-tsft003,  #5B6470);
  --f-mut:    var(--e-global-color-tmut004,  #8A929C);
  --f-bg:     var(--e-global-color-soft002,  #F7F8FA);
  --f-err:    #C0392B;
  --f-ok:     #1E7A4B;
  --f-sans:   var(--e-global-typography-text-font-family, "Inter"), system-ui, sans-serif;
  --f-disp:   var(--e-global-typography-secondary-font-family, "Barlow"), system-ui, sans-serif;
  --f-ease:   cubic-bezier(.23,1,.32,1);
}


/* ───── CF7 mete <br> y <p> en los saltos de línea del template ───── */
/* Lo más limpio es quitar las líneas en blanco del template, pero
   por si quedan, aquí se neutralizan. */
.gc-form .form-trabaja-con-nosotros br{ display:none; }
.gc-form .form-trabaja-con-nosotros p{ margin:0; }
.gc-form .form-trabaja-con-nosotros p:empty{ display:none; }


/* ───── ESTRUCTURA ───── */
.gc-form .form-trabaja-con-nosotros{
  display:flex;
  flex-direction:column;
  gap:22px;
  font-family: var(--f-sans);
}

.gc-form .fila-dos-columnas{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 24px;
}

.gc-form .campo{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;              /* deja encogerse al select de provincias */
}

/* Los grupos condicionales no deben dejar hueco cuando están ocultos.
   CF7CF les pone display:none en línea, así que basta con no darles
   márgenes propios. */
.gc-form .wpcf7cf-group{ display:block; }
.gc-form .wpcf7cf-group > .campo{ margin:0; }


/* ───── ETIQUETAS ───── */
.gc-form .campo > label{
  font-family: var(--f-disp);
  font-size:11px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--f-soft);
  line-height:1.3;
}

.gc-form .campo small{
  font-size:12.5px;
  line-height:1.5;
  color: var(--f-mut);
}


/* ───── EL WRAP DE CF7 ───── */
/* CF7 envuelve cada control en un <span> inline-block: sin esto
   los campos no llegan al 100% del ancho. */
.gc-form .wpcf7-form-control-wrap{
  display:block;
  position:relative;
}


/* ───── CAMPOS ───── */
.gc-form .wpcf7-form-control:where(
  .wpcf7-text, .wpcf7-email, .wpcf7-tel,
  .wpcf7-number, .wpcf7-date, .wpcf7-textarea, .wpcf7-select
){
  width:100%;
  display:block;
  box-sizing:border-box;
  padding:14px 16px;
  font-family: var(--f-sans);
  font-size:16px;                    /* 16px evita el zoom de iOS al enfocar */
  line-height:1.45;
  color: var(--f-text);
  background:#fff;
  border:1px solid var(--f-line);
  border-radius:2px;                 /* el mismo radio que los botones */
  outline:none;
  appearance:none;
  transition: border-color .25s var(--f-ease),
              box-shadow  .25s var(--f-ease),
              background  .25s var(--f-ease);
}

.gc-form .wpcf7-form-control::placeholder{
  color: var(--f-mut);
  opacity:1;
}

.gc-form .wpcf7-form-control:hover:not(:focus){
  border-color: var(--f-line-2);
}

.gc-form .wpcf7-form-control:focus{
  border-color: var(--f-focus);
  box-shadow: 0 0 0 3px rgba(90,140,199,.15);
}

.gc-form .wpcf7-textarea{
  min-height:140px;
  resize:vertical;
}


/* ───── SELECT: flecha propia, sin imágenes ───── */
.gc-form .wpcf7-select{
  padding-right:44px;
  cursor:pointer;
}

/* El chevron se dibuja con dos bordes girados sobre el wrap del select */
.gc-form .wpcf7-form-control-wrap:has(.wpcf7-select)::after{
  content:"";
  position:absolute;
  top:50%;
  right:18px;
  width:7px;
  height:7px;
  margin-top:-5px;
  border-right:1.5px solid var(--f-soft);
  border-bottom:1.5px solid var(--f-soft);
  transform: rotate(45deg);
  pointer-events:none;
  transition: border-color .25s var(--f-ease);
}
.gc-form .wpcf7-form-control-wrap:has(.wpcf7-select:focus)::after{
  border-color: var(--f-focus);
}

/* first_as_label deja la primera opción con value="" : se ve apagada,
   como un placeholder, hasta que se elige algo de verdad. */
.gc-form .wpcf7-select:has(option[value=""]:checked){
  color: var(--f-mut);
}
.gc-form .wpcf7-select option{
  color: var(--f-text);
}


/* ───── ARCHIVO ───── */
.gc-form .wpcf7-file{
  width:100%;
  box-sizing:border-box;
  padding:11px 14px;
  font-family: var(--f-sans);
  font-size:14px;
  color: var(--f-soft);
  background: var(--f-bg);
  border:1px dashed var(--f-line-2);
  border-radius:2px;
  cursor:pointer;
  transition: border-color .25s var(--f-ease), background .25s var(--f-ease);
}
.gc-form .wpcf7-file:hover{
  border-color: var(--f-focus);
  background:#fff;
}
.gc-form .wpcf7-file:focus{
  outline:none;
  border-color: var(--f-focus);
  box-shadow: 0 0 0 3px rgba(90,140,199,.15);
}
.gc-form .wpcf7-file::file-.elementor-15625 .elementor-element.elementor-element-c8f9f33-button{
  margin-right:14px;
  padding:9px 18px;
  font-family: var(--f-disp);
  font-size:13px;
  font-weight:500;
  letter-spacing:-.005em;
  color:#fff;
  background: var(--f-btn);
  border:1px solid var(--f-btn);
  border-radius:2px;
  cursor:pointer;
  transition: background .3s var(--f-ease), box-shadow .3s var(--f-ease);
}
/* El botón del archivo sigue la misma lógica que el de envío */
.gc-form .wpcf7-file:hover::file-.elementor-15625 .elementor-element.elementor-element-c8f9f33-button{
  background: var(--f-btn-hover);
  box-shadow: 0 6px 16px -8px rgba(20,43,84,.60);
}


/* ───── ACEPTACIÓN: casilla propia ───── */
.gc-form .campo.privacidad{
  flex-direction:row;
  align-items:flex-start;
  gap:0;
  margin-top:4px;
}
.gc-form .wpcf7-acceptance .wpcf7-list-item{
  margin:0;
}
.gc-form .wpcf7-acceptance label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
  font-size:14.5px;
  line-height:1.5;
  color: var(--f-soft);
}
.gc-form .wpcf7-acceptance input[type="checkbox"]{
  appearance:none;
  flex:0 0 auto;
  width:19px;
  height:19px;
  margin:1px 0 0;
  background:#fff;
  border:1px solid var(--f-line-2);
  border-radius:2px;
  cursor:pointer;
  position:relative;
  transition: background .2s var(--f-ease), border-color .2s var(--f-ease);
}
.gc-form .wpcf7-acceptance input[type="checkbox"]:hover{
  border-color: var(--f-focus);
}
.gc-form .wpcf7-acceptance input[type="checkbox"]:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(90,140,199,.20);
}
.gc-form .wpcf7-acceptance input[type="checkbox"]:checked{
  background: var(--f-brand);
  border-color: var(--f-brand);
}
/* La marca: dos bordes girados 45º, sin fuentes ni imágenes */
.gc-form .wpcf7-acceptance input[type="checkbox"]::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border-right:1.5px solid #fff;
  border-bottom:1.5px solid #fff;
  transform: rotate(45deg) scale(0);
  transition: transform .2s var(--f-ease);
}
.gc-form .wpcf7-acceptance input[type="checkbox"]:checked::after{
  transform: rotate(45deg) scale(1);
}
.gc-form .wpcf7-acceptance a{
  color: var(--f-brand);
  text-decoration:underline;
  text-underline-offset:2px;
}


/* ───── BOTÓN DE ENVÍO ───── */
/* Marino plano de base. En hover se aclara al marino de un paso menos
   y aparece la sombra, que es lo que le da el relieve. */
.gc-form .campo.envio{
  margin-top:10px;
  align-items:flex-start;
}
.gc-form .wpcf7-submit{
  font-family: var(--f-disp);
  font-size:15px;
  font-weight:500;
  letter-spacing:-.005em;
  padding:18px 36px;
  color:#fff;
  background: var(--f-btn);
  border:1px solid var(--f-btn);
  border-radius:2px;
  cursor:pointer;
  appearance:none;
  box-shadow: 0 1px 2px rgba(13,17,23,.10);
  transition: background .3s var(--f-ease),
              border-color .3s var(--f-ease),
              box-shadow .3s var(--f-ease),
              transform .3s var(--f-ease);
}
.gc-form .wpcf7-submit:hover{
  background: var(--f-btn-hover);
  border-color: var(--f-btn-hover);
  /* Dos sombras: una amplia que separa del fondo y otra corta
     y pegada que define el canto. */
  box-shadow: 0 12px 28px -10px rgba(20,43,84,.55),
              0 2px 6px rgba(20,43,84,.22);
  transform: translateY(-1px);
}
.gc-form .wpcf7-submit:active{
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(20,43,84,.28);
}
.gc-form .wpcf7-submit:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(90,140,199,.35);
}
.gc-form .wpcf7-submit:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* Táctil: el hover se queda pegado tras el toque */
@media (hover:none){
  .gc-form .wpcf7-submit:hover{
    background: var(--f-btn);
    border-color: var(--f-btn);
    box-shadow: 0 1px 2px rgba(13,17,23,.10);
    transform:none;
  }
  .gc-form .wpcf7-file:hover::file-.elementor-15625 .elementor-element.elementor-element-c8f9f33-button{
    background: var(--f-btn);
    color:#fff;
  }
}


/* ───── VALIDACIÓN ───── */
.gc-form .wpcf7-not-valid{
  border-color: var(--f-err) !important;
  background: #FDF6F5;
}
.gc-form .wpcf7-not-valid:focus{
  box-shadow: 0 0 0 3px rgba(192,57,43,.14);
}
.gc-form .wpcf7-not-valid-tip{
  display:block;
  margin-top:6px;
  font-family: var(--f-sans);
  font-size:12.5px;
  line-height:1.4;
  color: var(--f-err);
}

.gc-form .wpcf7-response-output{
  margin:26px 0 0;
  padding:15px 18px;
  font-family: var(--f-sans);
  font-size:14.5px;
  line-height:1.5;
  border:1px solid var(--f-line);
  border-left:3px solid var(--f-mut);
  border-radius:2px;
  background: var(--f-bg);
  color: var(--f-text);
}
.gc-form form.invalid .wpcf7-response-output,
.gc-form form.unaccepted .wpcf7-response-output,
.gc-form form.payment-required .wpcf7-response-output,
.gc-form form.failed .wpcf7-response-output,
.gc-form form.aborted .wpcf7-response-output{
  border-left-color: var(--f-err);
  background:#FDF6F5;
  color: var(--f-err);
}
.gc-form form.sent .wpcf7-response-output{
  border-left-color: var(--f-ok);
  background:#F1F8F4;
  color: var(--f-ok);
}

.gc-form .wpcf7-spinner{
  margin:0 0 0 14px;
  background: var(--f-focus);
}


/* ───── RESPONSIVE (breakpoints del sitio: 1024 / 767) ───── */
@media (max-width:1024px){
  .gc-form .fila-dos-columnas{ gap:20px 20px; }
}

@media (max-width:767px){
  /* Una sola columna: en móvil dos campos por fila no caben */
  .gc-form .fila-dos-columnas{
    grid-template-columns: 1fr;
    gap:22px;
  }
  .gc-form .form-trabaja-con-nosotros{ gap:20px; }
  .gc-form .wpcf7-form-control:where(
    .wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea, .wpcf7-select
  ){ padding:13px 14px; }
  .gc-form .wpcf7-select{ padding-right:40px; }

  /* El botón a todo el ancho: en móvil es la acción principal */
  .gc-form .campo.envio{ align-items:stretch; }
  .gc-form .wpcf7-submit{ width:100%; padding:17px 24px; }

  /* El <input type=file> nativo desborda en pantallas estrechas */
  .gc-form .wpcf7-file{
    font-size:13px;
    padding:10px 12px;
  }
  .gc-form .wpcf7-file::file-.elementor-15625 .elementor-element.elementor-element-c8f9f33-button{
    margin-right:10px;
    padding:8px 14px;
    font-size:12.5px;
  }
}


/* ============================================================
   VARIANTE OSCURA — añade  gc-form gc-form--dark  al contenedor
   si el formulario va sobre una sección #0D1117 o #060C14
   ============================================================ */
/* Sobre fondo oscuro el borde marino no se ve, así que ahí vuelve a
   ser blanco translúcido. Y el botón invierte: azul claro con texto
   oscuro, porque el marino sobre #0D1117 no contrasta. */
.gc-form--dark{
  --f-line:   rgba(255,255,255,.16);
  --f-line-2: rgba(255,255,255,.30);
  --f-text:   #fff;
  --f-soft:   rgba(255,255,255,.72);
  --f-mut:    rgba(255,255,255,.44);
  --f-bg:     rgba(255,255,255,.05);
  --f-brand:  var(--e-global-color-accent, #A8C2E8);
  --f-btn:       var(--e-global-color-accent,  #A8C2E8);
  --f-btn-hover: var(--e-global-color-blght07, #E8EEF7);
}
.gc-form--dark .wpcf7-form-control:where(
  .wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea, .wpcf7-select
){
  background: rgba(255,255,255,.05);
  color:#fff;
}
.gc-form--dark .wpcf7-select option{ color:#2B2F36; }
.gc-form--dark .wpcf7-acceptance input[type="checkbox"]{
  background: rgba(255,255,255,.05);
}
.gc-form--dark .wpcf7-submit{ color:#0D1117; box-shadow:none; }
/* La sombra marina no se ve sobre negro: aquí es un halo del propio azul */
.gc-form--dark .wpcf7-submit:hover{
  color:#0D1117;
  box-shadow: 0 12px 30px -10px rgba(168,194,232,.45),
              0 2px 6px rgba(168,194,232,.20);
}
.gc-form--dark .wpcf7-submit:active{ box-shadow: 0 2px 6px rgba(168,194,232,.25); }/* End custom CSS */