.elementor-21 .elementor-element.elementor-element-63081d7{--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;}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-image-box:has(:hover) .elementor-image-box-title,
					 .elementor-widget-image-box:has(:focus) .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-21 .elementor-element.elementor-element-a59620d.elementor-position-right .elementor-image-box-img{margin-left:50px;}.elementor-21 .elementor-element.elementor-element-a59620d.elementor-position-left .elementor-image-box-img{margin-right:50px;}.elementor-21 .elementor-element.elementor-element-a59620d.elementor-position-top .elementor-image-box-img{margin-bottom:50px;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-title{margin-bottom:4px;font-family:"Montserrat", Sans-serif;font-size:50px;font-weight:700;color:#FDFDFD;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-wrapper .elementor-image-box-img{width:450px;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-img img{transition-duration:0.3s;}.elementor-21 .elementor-element.elementor-element-a59620d:has(:hover) .elementor-image-box-title,
					 .elementor-21 .elementor-element.elementor-element-a59620d:has(:focus) .elementor-image-box-title{color:#FDFDFD;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:22.3px;font-weight:400;color:#E3E9FF;}.elementor-21 .elementor-element.elementor-element-c46a45f{--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-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-21 .elementor-element.elementor-element-73f6fe0 .elementor-button{background-color:transparent;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;fill:#FDFDFD;color:#FDFDFD;background-image:linear-gradient(15deg, #058320 0%, #67B627 100%);border-radius:14px 14px 14px 14px;padding:20px 40px 20px 40px;}.elementor-21 .elementor-element.elementor-element-81363a5 .elementor-button{background-color:transparent;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;fill:#FDFDFD;color:#FDFDFD;background-image:linear-gradient(15deg, #058320 0%, #67B627 100%);border-radius:14px 14px 14px 14px;padding:20px 40px 20px 40px;}body.elementor-page-21:not(.elementor-motion-effects-element-type-background), body.elementor-page-21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #05123F 0%, #091E66 100%);}@media(max-width:1024px){.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-title{font-size:30px;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-description{font-size:16.5px;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-a59620d{width:var( --container-widget-width, 350px );max-width:350px;--container-widget-width:350px;--container-widget-flex-grow:0;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-img{margin-bottom:25px;}.elementor-21 .elementor-element.elementor-element-a59620d.elementor-position-right .elementor-image-box-img{margin-left:25px;}.elementor-21 .elementor-element.elementor-element-a59620d.elementor-position-left .elementor-image-box-img{margin-right:25px;}.elementor-21 .elementor-element.elementor-element-a59620d.elementor-position-top .elementor-image-box-img{margin-bottom:25px;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-wrapper .elementor-image-box-img{width:250px;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-title{font-size:40px;}.elementor-21 .elementor-element.elementor-element-a59620d .elementor-image-box-description{font-size:15px;}.elementor-21 .elementor-element.elementor-element-81363a5 > .elementor-widget-container{margin:-10px 0px 0px 0px;}}/* Start custom CSS for button, class: .elementor-element-73f6fe0 */.elementor-21 .elementor-element.elementor-element-73f6fe0 .elementor-button {
    position: relative;
    overflow: hidden;
    background: transparent; /* deixa o fundo por conta do ::before */
}

/* Camada de gradiente do botão */
.elementor-21 .elementor-element.elementor-element-73f6fe0 .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    /* seu gradiente base */
    background: linear-gradient(90deg, #058320 0%, #67B627 100%);
    background-size: 200% 200%;
    background-position: 0% 50%;

    transition: background-position 0.4s ease-out;
}

/* Animação só enquanto o mouse está em cima */
.elementor-21 .elementor-element.elementor-element-73f6fe0 .elementor-button:hover::before {
    animation: moveGradient 2s linear infinite;
}

/* Movimento interno do gradiente */
@keyframes moveGradient {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-81363a5 */.elementor-21 .elementor-element.elementor-element-81363a5 .elementor-button {
    position: relative;
    overflow: hidden;
    background: transparent; /* deixa o fundo por conta do ::before */
}

/* Camada de gradiente do botão */
.elementor-21 .elementor-element.elementor-element-81363a5 .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    /* seu gradiente base */
    background: linear-gradient(90deg, #058320 0%, #67B627 100%);
    background-size: 200% 200%;
    background-position: 0% 50%;

    transition: background-position 0.4s ease-out;
}

/* Animação só enquanto o mouse está em cima */
.elementor-21 .elementor-element.elementor-element-81363a5 .elementor-button:hover::before {
    animation: moveGradient 2s linear infinite;
}

/* Movimento interno do gradiente */
@keyframes moveGradient {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}/* End custom CSS */