.elementor-41058 .elementor-element.elementor-element-aacc8b2{--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;--padding-top:100px;--padding-bottom:100px;--padding-left:350px;--padding-right:350px;}.elementor-41058 .elementor-element.elementor-element-aacc8b2:not(.elementor-motion-effects-element-type-background), .elementor-41058 .elementor-element.elementor-element-aacc8b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(270deg, var( --e-global-color-43f54aa ) 28%, var( --e-global-color-43f54aa ) 100%);}.elementor-41058 .elementor-element.elementor-element-c93bd7f{--display:flex;--justify-content:center;}.elementor-41058 .elementor-element.elementor-element-1092fc6 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:56px;letter-spacing:-1.3px;color:var( --e-global-color-434cfdf );}.elementor-41058 .elementor-element.elementor-element-ce27c40{text-align:start;}.elementor-41058 .elementor-element.elementor-element-ce27c40 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:20px;font-weight:200;line-height:1.2em;letter-spacing:0px;color:var( --e-global-color-434cfdf );}.elementor-41058 .elementor-element.elementor-element-73b27c2{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--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-41058 .elementor-element.elementor-element-73b27c2.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button span{gap:6px;justify-content:center;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:14px;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-14px;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-labels-inline .elementor-field-group > label{padding-left:1px;}body:not(.rtl) .elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-labels-inline .elementor-field-group > label{padding-right:1px;}body .elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-labels-above .elementor-field-group > label{padding-bottom:1px;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group > label, .elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-subgroup label{color:#FFFFFF;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group > label{font-family:"Rubik", Sans-serif;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-type-html{padding-bottom:0px;font-family:"Rubik", Sans-serif;font-weight:400;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group .elementor-field, .elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-subgroup label{font-family:"Rubik", Sans-serif;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-width:0px 0px 0px 0px;border-radius:2px 2px 2px 2px;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-width:0px 0px 0px 0px;border-radius:2px 2px 2px 2px;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button{font-family:"Rubik", Sans-serif;font-size:16px;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .e-form__buttons__wrapper__button-next{background-color:#CDDC00;color:#063310;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button[type="submit"]{background-color:#CDDC00;color:#063310;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button[type="submit"] svg *{fill:#063310;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-41058 .elementor-element.elementor-element-73b27c2 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-41058 .elementor-element.elementor-element-b0cbe6d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:-50px;}.elementor-41058 .elementor-element.elementor-element-74938d2{--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;--padding-top:100px;--padding-bottom:100px;--padding-left:350px;--padding-right:350px;}.elementor-41058 .elementor-element.elementor-element-fa40568{width:100%;max-width:100%;}.elementor-41058 .elementor-element.elementor-element-c90ef33{--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;--padding-top:100px;--padding-bottom:150px;--padding-left:325px;--padding-right:325px;}.elementor-41058 .elementor-element.elementor-element-c90ef33:not(.elementor-motion-effects-element-type-background), .elementor-41058 .elementor-element.elementor-element-c90ef33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-43f54aa );}.elementor-41058 .elementor-element.elementor-element-adc3ca0{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-41058 .elementor-element.elementor-element-9778ed1{padding:0px 0px 0px 0px;text-align:center;}.elementor-41058 .elementor-element.elementor-element-9778ed1.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-9778ed1 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:42px;color:var( --e-global-color-434cfdf );}.elementor-41058 .elementor-element.elementor-element-4b688ed .elementor-button{background-color:var( --e-global-color-f66040c );font-family:"Rubik", Sans-serif;font-weight:600;text-transform:uppercase;fill:var( --e-global-color-2951aec );color:var( --e-global-color-2951aec );border-radius:20px 20px 20px 20px;}.elementor-41058 .elementor-element.elementor-element-4b688ed .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-41058 .elementor-element.elementor-element-d5bd037{--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-end;--overlay-opacity:0.5;--border-radius:50px 50px 0px 0px;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:-50px;--padding-left:200px;--padding-right:200px;}.elementor-41058 .elementor-element.elementor-element-d5bd037:not(.elementor-motion-effects-element-type-background), .elementor-41058 .elementor-element.elementor-element-d5bd037 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-f66040c );}.elementor-41058 .elementor-element.elementor-element-d5bd037::before, .elementor-41058 .elementor-element.elementor-element-d5bd037 > .elementor-background-video-container::before, .elementor-41058 .elementor-element.elementor-element-d5bd037 > .e-con-inner > .elementor-background-video-container::before, .elementor-41058 .elementor-element.elementor-element-d5bd037 > .elementor-background-slideshow::before, .elementor-41058 .elementor-element.elementor-element-d5bd037 > .e-con-inner > .elementor-background-slideshow::before, .elementor-41058 .elementor-element.elementor-element-d5bd037 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-41058 .elementor-element.elementor-element-d5bd037.e-con{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-435715f{--display:grid;--e-con-grid-template-columns:1fr 3fr 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--align-items:center;}.elementor-41058 .elementor-element.elementor-element-435715f.e-con{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-4684d22{width:100%;max-width:100%;}.elementor-41058 .elementor-element.elementor-element-4684d22.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-4684d22 .wd-text-block{font-family:"Rubik New", Sans-serif;font-size:18px;color:#063310;}.elementor-41058 .elementor-element.elementor-element-94f9aa3{--grid-template-columns:repeat(0, auto);text-align:right;width:100%;max-width:100%;--grid-column-gap:0px;--grid-row-gap:0px;}.elementor-41058 .elementor-element.elementor-element-94f9aa3.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-94f9aa3 .elementor-social-icon{background-color:var( --e-global-color-f66040c );}.elementor-41058 .elementor-element.elementor-element-94f9aa3 .elementor-social-icon i{color:var( --e-global-color-2951aec );}.elementor-41058 .elementor-element.elementor-element-94f9aa3 .elementor-social-icon svg{fill:var( --e-global-color-2951aec );}.elementor-41058 .elementor-element.elementor-element-b97f8bf{--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-end;--overlay-opacity:0.5;--border-radius:50px 50px 0px 0px;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:-50px;--padding-left:200px;--padding-right:200px;}.elementor-41058 .elementor-element.elementor-element-b97f8bf:not(.elementor-motion-effects-element-type-background), .elementor-41058 .elementor-element.elementor-element-b97f8bf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-f66040c );}.elementor-41058 .elementor-element.elementor-element-b97f8bf::before, .elementor-41058 .elementor-element.elementor-element-b97f8bf > .elementor-background-video-container::before, .elementor-41058 .elementor-element.elementor-element-b97f8bf > .e-con-inner > .elementor-background-video-container::before, .elementor-41058 .elementor-element.elementor-element-b97f8bf > .elementor-background-slideshow::before, .elementor-41058 .elementor-element.elementor-element-b97f8bf > .e-con-inner > .elementor-background-slideshow::before, .elementor-41058 .elementor-element.elementor-element-b97f8bf > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-41058 .elementor-element.elementor-element-b97f8bf.e-con{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-43b1ef4{--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-41058 .elementor-element.elementor-element-43b1ef4.e-con{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-f56e5e3{width:var( --container-widget-width, 10% );max-width:10%;padding:0px 0px 0px 0px;--container-widget-width:10%;--container-widget-flex-grow:0;text-align:start;}.elementor-41058 .elementor-element.elementor-element-f56e5e3.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-a8928c4{width:100%;max-width:100%;}.elementor-41058 .elementor-element.elementor-element-a8928c4.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-a8928c4 .wd-text-block{font-family:"Rubik New", Sans-serif;font-size:18px;color:#063310;}.elementor-41058 .elementor-element.elementor-element-3fe12e4{--grid-template-columns:repeat(0, auto);text-align:right;width:100%;max-width:100%;--grid-column-gap:0px;--grid-row-gap:0px;}.elementor-41058 .elementor-element.elementor-element-3fe12e4.elementor-element{--align-self:center;}.elementor-41058 .elementor-element.elementor-element-3fe12e4 .elementor-social-icon{background-color:var( --e-global-color-f66040c );}.elementor-41058 .elementor-element.elementor-element-3fe12e4 .elementor-social-icon i{color:var( --e-global-color-2951aec );}.elementor-41058 .elementor-element.elementor-element-3fe12e4 .elementor-social-icon svg{fill:var( --e-global-color-2951aec );}@media(max-width:1024px){.elementor-41058 .elementor-element.elementor-element-435715f{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-41058 .elementor-element.elementor-element-aacc8b2{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-41058 .elementor-element.elementor-element-1092fc6{text-align:center;}.elementor-41058 .elementor-element.elementor-element-1092fc6 .elementor-heading-title{font-size:28px;}.elementor-41058 .elementor-element.elementor-element-ce27c40{text-align:center;}.elementor-41058 .elementor-element.elementor-element-ce27c40 .elementor-heading-title{font-size:18px;}.elementor-41058 .elementor-element.elementor-element-b0cbe6d{--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-41058 .elementor-element.elementor-element-74938d2{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41058 .elementor-element.elementor-element-c90ef33{--padding-top:50px;--padding-bottom:105px;--padding-left:20px;--padding-right:20px;}.elementor-41058 .elementor-element.elementor-element-adc3ca0{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41058 .elementor-element.elementor-element-9778ed1{width:100%;max-width:100%;}.elementor-41058 .elementor-element.elementor-element-9778ed1 .elementor-heading-title{font-size:22px;}.elementor-41058 .elementor-element.elementor-element-4b688ed .elementor-button{font-size:16px;}.elementor-41058 .elementor-element.elementor-element-d5bd037{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41058 .elementor-element.elementor-element-435715f{--e-con-grid-template-columns:1fr 2fr;--grid-auto-flow:row;}.elementor-41058 .elementor-element.elementor-element-4684d22{width:100%;max-width:100%;}.elementor-41058 .elementor-element.elementor-element-4684d22 .wd-text-block{font-size:15px;}.elementor-41058 .elementor-element.elementor-element-94f9aa3{text-align:center;}.elementor-41058 .elementor-element.elementor-element-b97f8bf{--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-41058 .elementor-element.elementor-element-43b1ef4{--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-41058 .elementor-element.elementor-element-f56e5e3{width:100%;max-width:100%;padding:0px 0px 0px 0px;text-align:center;}.elementor-41058 .elementor-element.elementor-element-f56e5e3 img{width:20%;}.elementor-41058 .elementor-element.elementor-element-a8928c4{width:100%;max-width:100%;}.elementor-41058 .elementor-element.elementor-element-a8928c4 .wd-text-block{font-size:15px;}.elementor-41058 .elementor-element.elementor-element-3fe12e4{text-align:center;}}/* Start custom CSS for html, class: .elementor-element-712e741 *//* 
  SELECTOR
  --------------------------------------------------
  No Elementor, ".elementor-41058 .elementor-element.elementor-element-712e741" aponta para o próprio elemento
  onde este CSS está sendo aplicado.
  Aqui ele força esse elemento a ocupar toda a largura e altura disponíveis.
*/
.elementor-41058 .elementor-element.elementor-element-712e741 { 
  width: 100%; /* ocupa 100% da largura do elemento pai */
  height: 100%; /* tenta ocupar 100% da altura do elemento pai */
  max-height: 100%; /* impede passar da altura máxima do pai */
}

/* 
  CONTAINER EXTERNO DO CARD
  --------------------------------------------------
  Esse bloco segura o card e centraliza ele.
*/
.hero-card-shell {
  width: 100%; /* ocupa toda a largura disponível */
  height: 100%; /* ocupa toda a altura disponível */
  max-height: 100%; /* não passa da altura máxima do pai */
  display: flex; /* ativa flexbox */
  justify-content: center; /* centraliza horizontalmente o card */
  align-items: center; /* centraliza verticalmente o card */
}

/* 
  CARD PRINCIPAL
  --------------------------------------------------
  Esse é o bloco visual verde inclinado.
*/
.hero-card {
  width: 90%; /* card ocupa 90% da largura disponível */
  height: 100%; /* tenta ocupar toda a altura do container */
  max-width: 420px; /* limita a largura máxima do card */
  max-height: 100%; /* impede ultrapassar a altura máxima do pai */
  box-sizing: border-box; /* inclui padding e borda no cálculo da largura/altura */
  background: rgba(205, 220, 0, 0.40); /* fundo do card com cor #cddc00 e 40% de transparência */
  border: 1px solid rgba(205, 220, 0, 0.55); /* borda com mesma cor, um pouco mais visível */
  border-radius: 32px; /* arredonda os cantos externos do card */
  padding: 16px; /* espaçamento interno entre borda e conteúdo */
  overflow: hidden; /* esconde qualquer conteúdo que ultrapasse as bordas arredondadas */
  transform: rotate(3deg); /* inclina o card em 3 graus */
  transform-origin: center center; /* define o centro como ponto da rotação */
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22); /* sombra externa para dar profundidade */
  display: flex; /* ativa flexbox dentro do card */
  align-items: center; /* centraliza o conteúdo verticalmente */
  justify-content: center; /* centraliza o conteúdo horizontalmente */
  position: relative; /* necessário para o pseudo-elemento ::before funcionar */
  transition: box-shadow 0.35s ease, border-color 0.35s ease, transform 0.35s ease; /* suaviza as mudanças no hover */
}

/* 
  REFLEXO / BRILHO PASSANDO POR CIMA DO CARD
  --------------------------------------------------
  Esse pseudo-elemento cria um feixe de luz diagonal que atravessa o card no hover.
*/
.hero-card::before {
  content: ""; /* cria o pseudo-elemento vazio */
  position: absolute; /* posiciona em relação ao .hero-card */
  inset: -30%; /* aumenta a área para o brilho passar além do card */
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 20%, /* transparente no começo */
    rgba(255, 255, 255, 0.18) 50%, /* brilho no meio */
    rgba(255, 255, 255, 0) 80% /* transparente no fim */
  );
  transform: translateX(-120%) rotate(12deg); /* começa escondido à esquerda, inclinado */
  transition: transform 0.8s ease; /* suaviza o movimento do brilho */
  pointer-events: none; /* esse brilho não interfere em cliques/hover */
}

/* 
  HOVER DO CARD
  --------------------------------------------------
  Quando passa o mouse:
  - a borda fica mais forte
  - o card ganha brilho
  - sobe um pouco
  - cresce levemente
*/
.hero-card:hover {
  border-color: rgba(205, 220, 0, 0.95); /* deixa a borda mais visível */
  box-shadow:
    0 0 20px rgba(205, 220, 0, 0.22), /* brilho perto do card */
    0 0 50px rgba(205, 220, 0, 0.18), /* brilho mais espalhado */
    0 20px 40px rgba(0, 0, 0, 0.28); /* sombra base mais intensa */
  transform: rotate(3deg) translateY(-4px) scale(1.01); /* mantém inclinação, sobe 4px e aumenta levemente */
}

/* 
  MOVIMENTO DO BRILHO NO HOVER
  --------------------------------------------------
  Faz o feixe de luz atravessar o card da esquerda para a direita.
*/
.hero-card:hover::before {
  transform: translateX(120%) rotate(12deg); /* move o brilho para o outro lado */
}

/* 
  WRAP DA IMAGEM
  --------------------------------------------------
  Esse container segura a imagem interna.
*/
.hero-card-image-wrap {
  width: 100%; /* ocupa toda a largura interna do card */
  height: 100%; /* ocupa toda a altura interna do card */
  max-height: 100%; /* impede ultrapassar a altura máxima disponível */
  border-radius: 20px; /* bordas arredondadas da imagem */
  overflow: hidden; /* corta qualquer parte da imagem que ultrapasse as bordas */
  display: flex; /* ativa flexbox */
  align-items: center; /* centraliza verticalmente a imagem */
  justify-content: center; /* centraliza horizontalmente a imagem */
  position: relative; /* cria contexto para z-index */
  z-index: 1; /* mantém a imagem acima do brilho ::before */
}

/* 
  IMAGEM
  --------------------------------------------------
  Ajusta a imagem para caber inteira dentro do card sem cortar.
*/
.hero-card-image {
  display: block; /* remove comportamento inline da imagem */
  width: 100%; /* tenta ocupar toda a largura disponível */
  height: 100%; /* tenta ocupar toda a altura disponível */
  max-width: 100%; /* impede ultrapassar a largura do container */
  max-height: 100%; /* impede ultrapassar a altura do container */
  object-fit: contain; /* faz a imagem caber inteira sem cortar */
  object-position: center; /* centraliza a imagem dentro do espaço */
  border-radius: 20px; /* bordas arredondadas da imagem */
}

/* 
  ANIMAÇÃO DE FLUTUAÇÃO
  --------------------------------------------------
  Faz o card subir e descer suavemente.
*/
@keyframes float {
  0% {
    transform: translateY(0px); /* posição inicial */
  }
  50% {
    transform: translateY(-10px); /* sobe 10px no meio da animação */
  }
  100% {
    transform: translateY(0px); /* volta à posição inicial */
  }
}

/* 
  CLASSE QUE APLICA A ANIMAÇÃO DE FLUTUAÇÃO
  --------------------------------------------------
  Use essa classe no container externo do card.
*/
.animate-float {
  animation: float 6s ease-in-out infinite; /* animação suave, dura 6s e repete para sempre */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fa40568 *//* 
  SEÇÃO PRINCIPAL
  ---------------
*/
.benefits-section {
  position: relative; /* permite posicionar elementos absolutos dentro da seção, como a textura */
  overflow: hidden; /* impede que elementos internos "vazem" para fora da seção */
  background: #ffffff; /* fundo branco da seção */
  color: #063310; /* cor base do texto */
  font-family: 'Rubik', sans-serif; /* fonte padrão da seção */
}


/* 
  CONTAINER INTERNO
  ----------------------------
  Centraliza o conteúdo e mantém tudo acima da textura de fundo.
*/
.benefits-container {
  position: relative; /* cria contexto para z-index */
  z-index: 2; /* mantém o conteúdo acima da textura */
  margin: 0 auto; /* centraliza horizontalmente */
  width: 100%; /* ocupa toda a largura disponível */
}


/* 
  GRID PRINCIPAL DA SEÇÃO
  --------------------------------------------------
  No mobile começa com 1 coluna.
  Em telas maiores vira 2 colunas:
  texto à esquerda e cards à direita.
*/
.editorial-grid {
  display: grid; /* ativa layout em grid */
  grid-template-columns: 1fr; /* no mobile: uma coluna */
  gap: 32px; /* espaço entre os blocos */
}


/* 
  BLOCO INTRODUTÓRIO DA ESQUERDA
  --------------------------------------------------
  Contém kicker, título, texto e linha decorativa.
*/
.benefits-intro {
  font-family: 'Rubik', sans-serif;
  max-width: 100%; /* no mobile ocupa toda a largura */
}


/* 
  KICKER / SOBRETÍTULO
  --------------------------------------------------
  Texto pequeno em caixa alta acima do título principal.
*/
.benefits-kicker {
  display: block; /* garante que ele ocupe a linha toda */
  font-family: 'Rubik', sans-serif;
  margin-bottom: 14px; /* espaço abaixo do kicker */
  font-size: 10px; /* tamanho pequeno */
  font-weight: 700; /* negrito */
  text-transform: uppercase; /* deixa tudo em maiúsculas */
  letter-spacing: 0.24em; /* espaçamento entre letras */
  color: #cddc00; /* cor de destaque */
}


/* 
  TÍTULO PRINCIPAL
  --------------------------------------------------
  Chamada principal da seção.
*/
.benefits-title {
  margin: 0 0 20px; /* remove margem superior/lateral e deixa margem inferior */
  font-size: 32px; /* tamanho de título no mobile */
  line-height: 1; /* altura da linha compacta */
  letter-spacing: -0.04em; /* aproxima as letras */
  font-weight: 700; /* negrito */
  color: #063310; /* verde escuro */
  font-family: 'Rubik', sans-serif;
  text-wrap: balance; /* distribui melhor a quebra de linha quando suportado */
}


/* 
  TEXTO DE APOIO
  --------------------------------------------------
  Parágrafo explicativo abaixo do título.
*/
.benefits-text {
  margin: 0; /* remove margens padrão */
  font-family: 'Rubik', sans-serif;
  font-size: 16px; /* tamanho confortável para mobile */
  line-height: 1.65; /* melhora a legibilidade */
  font-weight: 300; /* peso leve */
  color: rgba(18, 49, 38, 0.7); /* verde escuro com transparência */
}


/* 
  WRAP DA LINHA DECORATIVA
  --------------------------------------------------
  Fica escondido no mobile e aparece no tablet/desktop.
*/
.benefits-line-wrap {
  margin-top: 32px; /* espaço acima da linha */
  display: none; /* escondido no mobile */
}


/* 
  LINHA DECORATIVA
  --------------------------------------------------
  Pequena linha horizontal abaixo do texto.
*/
.benefits-line {
  width: 96px; /* largura fixa */
  height: 2px; /* espessura */
  background: #cddc00; /* cor destaque */
}


/* 
  GRID DOS CARDS
  --------------------------------------------------
  Agrupa os cards de benefícios.
  No mobile fica 1 por linha.
  Em telas maiores vira 2 colunas.
*/
.benefits-grid {
  display: grid; /* ativa grid */
  grid-template-columns: 1fr; /* mobile: uma coluna */
  gap: 1px; /* separação mínima entre cards */
  background: rgba(18, 49, 38, 0.05); /* cria "linhas" finas entre os cards */
  border: 1px solid #cddc00; /* borda externa do bloco */
  border-radius: 24px; /* cantos arredondados */
  overflow: hidden; /* impede que os cards vazem da borda arredondada */
  box-shadow: 0 20px 40px rgba(18, 49, 38, 0.05); /* sombra suave */
}


/* 
  CARD INDIVIDUAL
  --------------------------------------------------
  Cada benefício.
*/
.value-item {
  position: relative; /* necessário para posicionar o pontinho animado */
  z-index: 0; /* base de empilhamento */
  padding: 24px 22px; /* espaçamento interno do card no mobile */
  background: #ffffff; /* fundo branco */
  border-right: none; /* no mobile não precisa borda lateral */
  border-bottom: 1px solid rgba(18, 49, 38, 0.05); /* separação entre cards */
  transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease; /* suaviza hover */
  font-family: 'Rubik', sans-serif;
}


/* 
  REMOVE BORDA DO ÚLTIMO CARD NO MOBILE
*/
.value-item:last-child {
  border-bottom: none;
}


/* 
  HOVER DO CARD
  --------------------------------------------------
  Efeito visual quando passa o mouse por cima.
  Em dispositivos touch ele não é tão relevante, mas em desktop funciona bem.
*/
.value-item:hover {
  background: #f8faf7; /* fundo levemente diferente */
  transform: translateY(-2px); /* sobe um pouco */
  box-shadow: 0 10px 24px rgba(18, 49, 38, 0.06); /* sombra mais evidente */
  z-index: 2; /* traz o card para frente */
}


/* 
  TÍTULO DO CARD
*/
.value-item h3 {
  margin: 0 0 10px; /* espaço abaixo do título */
  font-size: 20px; /* tamanho no mobile */
  line-height: 1.15; /* altura da linha */
  font-weight: 700; /* negrito */
  color: #063310; /* verde escuro */
  font-family: 'Rubik', sans-serif;
}


/* 
  TEXTO DO CARD
*/
.value-item p {
  margin: 0; /* remove margens padrão */
  font-size: 14px; /* texto menor que o título */
  line-height: 1.65; /* legibilidade */
  color: rgba(18, 49, 38, 0.68); /* tom mais suave */
  font-family: 'Rubik', sans-serif;
}


/* 
  CARD ATIVO / DESTACADO
  --------------------------------------------------
  O primeiro card tem um destaque visual extra.
*/
.value-item-active {
  background: #f8faf7; /* fundo levemente diferente */
  box-shadow: 0 8px 20px rgba(18, 49, 38, 0.06); /* sombra discreta */
}


/* 
  BLOCO DO ÍCONE
  --------------------------------------------------
  Caixa arredondada que recebe o SVG.
*/
.value-icon {
  width: 44px; /* largura do bloco do ícone */
  height: 44px; /* altura do bloco do ícone */
  margin-bottom: 18px; /* espaço abaixo do ícone */
  border-radius: 14px; /* cantos arredondados */
  display: flex; /* centraliza conteúdo */
  align-items: center; /* centraliza verticalmente */
  justify-content: center; /* centraliza horizontalmente */
  background: rgba(18, 49, 38, 0.05); /* fundo do ícone */
  color: #123126; /* cor do SVG */
  font-size: 18px; /* fallback se usar texto/emojis */
  transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease; /* animação suave */
}


/* 
  AJUSTE DOS SVGs DENTRO DO ÍCONE
*/
.value-icon svg {
  width: 20px; /* tamanho do SVG */
  height: 20px;
  display: block; /* evita espaços estranhos em inline */
}


/* 
  HOVER DO BLOCO DE ÍCONE
*/
.value-item:hover .value-icon {
  background: #063310; /* fundo escuro no hover */
  color: #cddc00; /* ícone em verde limão */
  transform: scale(1.04); /* cresce levemente */
}


/* 
  ÍCONE DO CARD ATIVO
*/
.value-item-active .value-icon {
  background: #063310;
  color: #cddc00;
}


/* 
  PONTINHO ANIMADO
  --------------------------------------------------
  Aparece apenas no card ativo.
*/
.value-dot {
  position: absolute; /* posiciona em relação ao card */
  top: 16px; /* distância do topo */
  right: 16px; /* distância da direita */
  width: 6px; /* tamanho */
  height: 6px;
  border-radius: 999px; /* deixa redondo */
  background: #cddc00; /* cor do ponto */
  animation: pulseDot 1.8s ease-in-out infinite; /* animação pulsante */
}


/* 
  TEXTURA DE FUNDO
  --------------------------------------------------
  Fica atrás de todo o conteúdo.
*/
.benefits-texture {
  position: absolute; /* cobre toda a seção */
  inset: 0; /* atalho para top/right/bottom/left: 0 */
  pointer-events: none; /* não interfere em cliques */
  opacity: 0.03; /* textura bem sutil */
  background-image: url("https://www.transparenttextures.com/patterns/cubes.png");
  background-repeat: repeat;
  background-size: auto;
}


/* 
  ANIMAÇÃO DO PONTINHO
*/
@keyframes pulseDot {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.8);
    opacity: 0.45;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}


/* 
  MOBILE
  --------------------------------------------------
  Aqui você pode definir padding/margem só para mobile.
  Isso NÃO afeta o desktop.
*/
@media (max-width: 767px) {
  .benefits-section {
    padding: 72px 20px; /* padding mobile da seção */
    margin: 0; /* margem mobile da seção */
  }
}


/* 
  TABLET
  --------------------------------------------------
  A partir de 768px a seção vira duas colunas.
  Aqui NÃO estou definindo padding da seção,
  porque você quer controlar desktop/tablet pelo Elementor.
*/
@media (min-width: 768px) {
  .editorial-grid {
    grid-template-columns: minmax(240px, 4fr) minmax(380px, 8fr); /* duas colunas */
    align-items: start; /* alinhamento pelo topo */
    gap: 40px; /* espaço maior entre texto e grid */
  }

  .benefits-intro {
    max-width: 420px; /* limita a largura do texto */
  }

  .benefits-title {
    margin: 0 0 28px;
    font-size: 42px; /* título maior em telas médias */
    line-height: 0.95;
  }

  .benefits-text {
    font-size: 17px;
    line-height: 1.75;
  }

  .benefits-line-wrap {
    display: block; /* mostra a linha decorativa */
    margin-top: 40px;
  }

  .benefits-grid {
    grid-template-columns: 1fr 1fr; /* cards em 2 colunas */
    border-radius: 32px;
  }

  .value-item {
    padding: 32px; /* mais respiro */
    border-right: 1px solid rgba(18, 49, 38, 0.05); /* volta a borda lateral */
    border-bottom: 1px solid rgba(18, 49, 38, 0.05);
  }

  .value-item:nth-child(2n) {
    border-right: none; /* remove borda do último card da linha */
  }

  .value-item:nth-last-child(-n+2) {
    border-bottom: none; /* remove borda da última linha */
  }

  .value-item:last-child {
    border-bottom: 1px solid rgba(18, 49, 38, 0.05);
  }

  .value-item h3 {
    font-size: 22px;
  }

  .value-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 20px;
    border-radius: 16px;
  }

  .value-icon svg {
    width: 22px;
    height: 22px;
  }
}


/* 
  DESKTOP
  --------------------------------------------------
  Também sem padding/margin da seção, para você controlar no Elementor.
*/
@media (min-width: 1024px) {
  .editorial-grid {
    grid-template-columns: minmax(260px, 4fr) minmax(420px, 8fr);
    gap: 48px;
  }

  .benefits-title {
    margin: 0 0 32px;
    font-size: 48px; /* título maior no desktop */
  }

  .benefits-text {
    font-size: 18px;
    line-height: 1.8;
  }

  .benefits-grid {
    border-radius: 40px;
    box-shadow: 0 25px 60px rgba(18, 49, 38, 0.05);
  }

  .value-item {
    padding: 40px;
  }

  .value-item:hover {
    transform: translateY(-4px); /* hover mais forte em desktop */
    box-shadow: 0 18px 40px rgba(18, 49, 38, 0.08);
  }

  .value-item h3 {
    font-size: 24px;
  }

  .value-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    border-radius: 18px;
  }

  .value-icon svg {
    width: 24px;
    height: 24px;
  }
}


/* 
  TELAS MUITO PEQUENAS
  --------------------------------------------------
  Ajustes extras para celulares menores.
*/
@media (max-width: 390px) {
  .benefits-section {
    padding: 60px 16px; /* padding menor que o mobile padrão */
  }

  .benefits-title {
    font-size: 28px;
  }

  .benefits-text {
    font-size: 15px;
  }

  .benefits-grid {
    border-radius: 20px;
  }

  .value-item {
    padding: 22px 18px;
  }

  .value-item h3 {
    font-size: 18px;
  }

  .value-item p {
    font-size: 13px;
  }

  .value-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    margin-bottom: 16px;
  }

  .value-icon svg {
    width: 18px;
    height: 18px;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Rubik New';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-Regular.eot');
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-Regular.woff2') format('woff2'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-Regular.woff') format('woff'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-400-Regular.ttf') format('truetype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-Regular.svg#RubikNew') format('svg');
}
@font-face {
	font-family: 'Rubik New';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-Medium.eot');
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-Medium.eot?#iefix') format('embedded-opentype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-Medium.woff2') format('woff2'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-Medium.woff') format('woff'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-500-Medium.ttf') format('truetype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-Medium.svg#RubikNew') format('svg');
}
@font-face {
	font-family: 'Rubik New';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-SemiBold.eot');
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-SemiBold.woff2') format('woff2'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-SemiBold.woff') format('woff'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-600-SemiBold.ttf') format('truetype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-SemiBold.svg#RubikNew') format('svg');
}
@font-face {
	font-family: 'Rubik New';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-ExtraBold.eot');
	src: url('https://cultlight.com.br/wp-content/uploads/Rubik-ExtraBold.eot?#iefix') format('embedded-opentype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-ExtraBold.woff2') format('woff2'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-ExtraBold.woff') format('woff'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-800-ExtraBold.ttf') format('truetype'),
		url('https://cultlight.com.br/wp-content/uploads/Rubik-ExtraBold.svg#RubikNew') format('svg');
}
/* End Custom Fonts CSS */