.elementor-kit-21{--e-global-color-primary:#0D202C;--e-global-color-secondary:#18303F;--e-global-color-text:#8FCBF1;--e-global-color-accent:#77ACCE;--e-global-color-07b3bba:#D9D6CF;--e-global-color-8077b78:#222529;--e-global-color-2f731f5:#5C6E77;--e-global-color-02a1169:#BDC1C1;--e-global-color-2333f35:#FCF9F4;--e-global-color-e0a7ee7:#02010100;--e-global-color-3ddebd6:#CF894F;--e-global-color-6691cac:#AFA399;--e-global-color-7525265:#CEC3B9;--e-global-color-c84c0d6:#E5DFD9;--e-global-typography-primary-font-family:"Barlow";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-21 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1500px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;}}@media(max-width:1024px){.e-con{--container-default-padding-top:0px;--container-default-padding-right:72px;--container-default-padding-bottom:0px;--container-default-padding-left:72px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}@media(min-width:2400px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}}:root { --azul-primario:#0D202C; --azul-secundario:#18303F; --naranja-primario:#CF894F; --marron-primario:#AFA399; --hueso:#FCF9F4; --gris-primario:#222529; --gris-secundario:#5C6E77; --gris-terciario:#BDC1C1; --barlow:Barlow; --open-sans:Open Sans; --H1:64px; --H2:56px; --H3:48px; --H4:32px; --H6:20px; --p:16px; --sub-p:14px; --border-btn:4px; --blanco:#FCF9F4; --transparente:#ffffff00; --gris-header:#CECECE80; --Display:100px; --H1-m:40px; --H2-m:32px; --H3-m:24px; --H4-m:28px; --mobile-subtitle:20px; --e-gv-67a25be:#0D202C; --e-gv-76e42fa:#18303F; --e-gv-be23f42:#8FCBF1; --e-gv-a1a7b56:#77ACCE; --e-gv-48a8366:#D9D6CF; --e-gv-4c50156:#222529; --e-gv-67f72a6:#5C6E77; --e-gv-aa59ccb:#BDC1C1; --e-gv-f6894c1:Bebas Neue; --e-gv-f1e3b80:Open Sans; --e-gv-4ab6667:64px; --e-gv-fbfa351:56px; --e-gv-86d9706:48px; --e-gv-c54b6de:36px; --e-gv-3dde0b4:20px; --e-gv-62189db:16px; --e-gv-6445a9e:14px; --e-gv-6cb6b99:4px; --e-gv-d1722f6:#FFFDF9; --e-gv-4bb38db:#ffffff00; --e-gv-125826f:#CECECE80; --e-gv-99529df:100px; --e-gv-4afc83a:44px; --e-gv-728b15f:36px; --e-gv-9f422ce:32px; --e-gv-4e82ea2:28px; --e-gv-b819ebd:24px; --e-gv-de8561d:#0D202C; --e-gv-3eca9a0:#18303F; --e-gv-b264b6e:#8FCBF1; --e-gv-0f6423f:#77ACCE; --e-gv-c3ac0f5:#D9D6CF; --e-gv-5308a76:#222529; --e-gv-30b22b6:#5C6E77; --e-gv-9c6c111:#BDC1C1; --e-gv-e3d0ec2:Bebas Neue; --e-gv-ebb2f4e:Open Sans; --e-gv-17f2efb:64px; --e-gv-9791047:56px; --e-gv-d5572ad:48px; --e-gv-1bc16a4:36px; --e-gv-f395bf0:20px; --e-gv-1f280bc:16px; --e-gv-d89760b:14px; --e-gv-3a1f80b:4px; --e-gv-37babb1:#FFFDF9; --e-gv-4f4abb8:#ffffff00; --e-gv-d4ecebc:#CECECE80; --e-gv-5f5e7ff:100px; --e-gv-bbe9802:44px; --e-gv-dd7cc94:36px; --e-gv-3892c77:32px; --e-gv-113088f:28px; --e-gv-f4f0bf3:24px; --azul-primario-hover:#1F3A4A; --marron-secundario:#CEC3B9; --beige:#E5DFD9; --H5:24px; }
/* Start custom CSS */.elementor .DUP_btn_secondary:hover,
.elementor .DUP_btn_secondary:focus-visible {
  box-shadow: none;
}
/*BTN Secondary bg transparent*/

.elementor .DUP_btn_secondary_light::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%22-1%20-1%20249%2050%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M223.119%201L244.649%209.72949V47H1V1H223.119Z%22%20stroke%3D%22%23FCF9F4%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}


/* Clase base del botón */
.elementor .DUP_btn {
    
    /* Evita que el fondo tape el texto */
    isolation: isolate; 
}

.elementor .DUP_btn_secondary:before {
    content: '';
    position: absolute;
    background-color: var(--blanco); /* Fondo interno */
    
    /* 1. Lo hacemos un poco más pequeño para que se vea el azul de abajo */
    /* El 'inset' genera el grosor del borde en los lados rectos */
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    
    /* 2. El truco: Ajustamos los puntos del recorte interno */
    /* Para que la diagonal no corte el borde, restamos el grosor (2px) a los puntos */
    clip-path: polygon(
        2px 2px, 
        calc(100% - 26px) 2px, /* Un pixel menos para que no se coma la esquina */
        calc(100% - 2px) 17px,           /* Un pixel menos hacia arriba */
        calc(100% - 2px) 96%, 
        2px 97%
    );
    
    z-index: -1;
}

.elementor .DUP_btn_secondary.bg_beige:before {
     background-color: var(--beige);
}

/* Hover del botón outline secondary - rellena el fondo */
.elementor .DUP_btn_secondary:hover::before,
.elementor .DUP_btn_secondary:focus-visible::before {
  background-color: var(--azul-primario-hover);
  transition: background-color 0.3s ease;
}

.elementor .DUP_btn_secondary.bg_beige:hover::before,
.elementor .DUP_btn_secondary.bg_beige:focus-visible::before {
  background-color: var(--azul-primario-hover);
}

/* Slot machine icon - botones con clase DUP_btn_icon */
.elementor .DUP_btn_icon {
  overflow: hidden;
}

.elementor .DUP_btn_icon .btn_icon svg {
  display: block;
}

.elementor .DUP_btn_icon:hover .btn_icon svg,
.elementor .DUP_btn_icon:focus-visible .btn_icon svg {
  animation: slot-down 0.45s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes slot-down {
  0%   { transform: translateY(0%);    opacity: 1; }
  44%  { transform: translateY(260%);  opacity: 1; }
  45%  { transform: translateY(260%);  opacity: 0; }
  46%  { transform: translateY(-260%); opacity: 0; }
  47%  { transform: translateY(-260%); opacity: 1; }
  100% { transform: translateY(0%);    opacity: 1; }
}

.elementor .DUP_btn_secondary.DUP_btn_icon:hover .btn_icon svg path,
.elementor .DUP_btn_secondary.DUP_btn_icon:hover .btn_icon svg rect,
.elementor .DUP_btn_secondary.DUP_btn_icon:hover .btn_icon svg circle,
.elementor .DUP_btn_secondary.DUP_btn_icon:focus-visible .btn_icon svg path,
.elementor .DUP_btn_secondary.DUP_btn_icon:focus-visible .btn_icon svg rect,
.elementor .DUP_btn_secondary.DUP_btn_icon:focus-visible .btn_icon svg circle {
  stroke: var(--hueso);
  fill: var(--hueso);
}



.elementor-widget-text-editor ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.elementor-widget-text-editor ul li {
  position: relative;
  padding-left: 15px;
}

.elementor-widget-text-editor ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  transform: translateY(0%) rotate(45deg);
  width: 6px;
  height: 6px;
  background-color: #CF894F; /* naranja del sitio */
}


.card_platform_wrapper:before {
    content: '';
    position: absolute;
    background-color: var(--beige);
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    
    clip-path: polygon(
        2px 2px, 
        calc(100% - 26px) 2px, /* Un pixel menos para que no se coma la esquina */
        calc(100% - 2px) 17px,           /* Un pixel menos hacia arriba */
        calc(100% - 2px) calc(100% - 2px), 
        2px calc(100% - 2px)
    );
    
    z-index: -1;
}


.card_platform_wrapper.bg_white:before {
    background-color: var(--blanco);
}

/* Slider marker - estado base con transición para apertura Y cierre */
.square_marquer {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  transition: width 0.5s ease, background-color 0.5s ease, max-width 0.5s ease;
}

/* Slide activo - se expande horizontalmente sin salir del flujo */
.work_wrapper:hover .square_marquer {
  background-color: var(--naranja-primario) !important;
  width: 215px !important;
  max-width: 215px !important;
}

.swiper-slide-active .square_marquer {
  background-color: var(--naranja-primario) !important;
  width: 215px !important;
  max-width: 215px !important;
}

body:not(.elementor-editor-active) .random_text_animation {
  opacity: 0;
    display: inline-block;
  cursor: default;
  letter-spacing: inherit;
}
body:not(.elementor-editor-active) .fade_in_up {
    opacity: 0;
    transform: translateY(30px);
  }
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade_in_up.is-visible {
  animation: fadeInUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.delay-0    { animation-delay: 0ms; }
.delay-200  { animation-delay: 200ms; }
.delay-400  { animation-delay: 400ms; }
.delay-600  { animation-delay: 600ms; }
.delay-800  { animation-delay: 800ms; }
.delay-1000 { animation-delay: 1000ms; }
.delay-1200 { animation-delay: 1200ms; }
.delay-1400 { animation-delay: 1400ms; }
.delay-1600 { animation-delay: 1600ms; }
.delay-1800 { animation-delay: 1800ms; }
.delay-2000 { animation-delay: 2000ms; }


.bg-zoom-scroll {
  overflow: hidden;
}

/* Mobile: hasta 767px */
@media (max-width: 767px) {
  .elementor-element-33fec0b iframe {
    height: 2200px !important;
    scrolling: no;
  }
}/* End custom CSS */