.elementor-kit-5{--e-global-color-primary:#FFA01E;--e-global-color-secondary:#08131F;--e-global-color-text:#F2F4F7;--e-global-color-accent:#19B6D9;--e-global-color-laranjahv:#FFB84D;--e-global-color-azul:#0E1E2E;--e-global-color-azulhv:#1A3048;--e-global-color-cardesc:#0B1826;--e-global-color-cardhv:#0F2033;--e-global-color-rodape:#050D16;--e-global-color-claro:#F3F5F8;--e-global-color-branco:#FFFFFF;--e-global-color-paragrafo:#B9C4D1;--e-global-color-paragesc:#46566A;--e-global-color-subtitulo:#DCE3EB;--e-global-color-navlink:#C9D2DD;--e-global-color-label:#A7B3C2;--e-global-color-risco:#8593A3;--e-global-color-alerta:#D63C53;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-size:clamp(36px, 4.4vw, 60px);--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:clamp(34px, 4.4vw, 60px);--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-line-height:1.02em;--e-global-typography-secondary-letter-spacing:-0.03em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-h2grande-font-family:"Plus Jakarta Sans";--e-global-typography-h2grande-font-size:clamp(36px, 5vw, 72px);--e-global-typography-h2grande-font-weight:800;--e-global-typography-h2grande-line-height:1em;--e-global-typography-h2grande-letter-spacing:-0.04em;--e-global-typography-h2plat-font-family:"Plus Jakarta Sans";--e-global-typography-h2plat-font-size:clamp(36px, 5vw, 68px);--e-global-typography-h2plat-font-weight:800;--e-global-typography-h2plat-line-height:1.02em;--e-global-typography-h2plat-letter-spacing:-0.035em;--e-global-typography-h2contato-font-family:"Plus Jakarta Sans";--e-global-typography-h2contato-font-size:clamp(36px, 5vw, 72px);--e-global-typography-h2contato-font-weight:800;--e-global-typography-h2contato-line-height:1em;--e-global-typography-h2contato-letter-spacing:-0.035em;--e-global-typography-h3-font-family:"Plus Jakarta Sans";--e-global-typography-h3-font-size:clamp(22px, 2vw, 28px);--e-global-typography-h3-font-weight:800;--e-global-typography-h3-line-height:1.25em;--e-global-typography-h3-letter-spacing:-0.02em;--e-global-typography-herosub-font-family:"Plus Jakarta Sans";--e-global-typography-herosub-font-size:clamp(20px, 2vw, 28px);--e-global-typography-herosub-font-weight:600;--e-global-typography-herosub-line-height:1.3em;--e-global-typography-herosub-letter-spacing:-0.01em;--e-global-typography-lead21-font-family:"Plus Jakarta Sans";--e-global-typography-lead21-font-size:clamp(17px, 1.5vw, 21px);--e-global-typography-lead21-font-weight:400;--e-global-typography-lead21-line-height:1.55em;--e-global-typography-lead21-letter-spacing:0em;--e-global-typography-lead20-font-family:"Plus Jakarta Sans";--e-global-typography-lead20-font-size:clamp(17px, 1.5vw, 20px);--e-global-typography-lead20-font-weight:400;--e-global-typography-lead20-line-height:1.6em;--e-global-typography-lead20-letter-spacing:0em;--e-global-typography-manifesto-font-family:"Plus Jakarta Sans";--e-global-typography-manifesto-font-size:clamp(17px, 1.5vw, 21px);--e-global-typography-manifesto-font-weight:600;--e-global-typography-manifesto-line-height:1.5em;--e-global-typography-manifesto-letter-spacing:0em;--e-global-typography-card20-font-family:"Plus Jakarta Sans";--e-global-typography-card20-font-size:20px;--e-global-typography-card20-font-weight:700;--e-global-typography-card20-line-height:1.25em;--e-global-typography-card20-letter-spacing:-0.01em;--e-global-typography-item23-font-family:"Plus Jakarta Sans";--e-global-typography-item23-font-size:clamp(18px, 1.7vw, 23px);--e-global-typography-item23-font-weight:700;--e-global-typography-item23-line-height:1.3em;--e-global-typography-item23-letter-spacing:-0.01em;--e-global-typography-frase54-font-family:"Plus Jakarta Sans";--e-global-typography-frase54-font-size:clamp(30px, 4vw, 54px);--e-global-typography-frase54-font-weight:800;--e-global-typography-frase54-line-height:1.05em;--e-global-typography-frase54-letter-spacing:-0.03em;--e-global-typography-frase56-font-family:"Plus Jakarta Sans";--e-global-typography-frase56-font-size:clamp(30px, 4vw, 56px);--e-global-typography-frase56-font-weight:800;--e-global-typography-frase56-line-height:1.05em;--e-global-typography-frase56-letter-spacing:-0.03em;--e-global-typography-ctabox-font-family:"Plus Jakarta Sans";--e-global-typography-ctabox-font-size:clamp(26px, 3vw, 42px);--e-global-typography-ctabox-font-weight:800;--e-global-typography-ctabox-line-height:1.08em;--e-global-typography-ctabox-letter-spacing:-0.03em;--e-global-typography-label-font-family:"Plus Jakarta Sans";--e-global-typography-label-font-size:14px;--e-global-typography-label-font-weight:700;--e-global-typography-label-text-transform:uppercase;--e-global-typography-label-line-height:1.2em;--e-global-typography-label-letter-spacing:0.14em;--e-global-typography-btn17-font-family:"Plus Jakarta Sans";--e-global-typography-btn17-font-size:17px;--e-global-typography-btn17-font-weight:700;--e-global-typography-btn17-line-height:1.2em;--e-global-typography-btn17-letter-spacing:0em;--e-global-typography-btn14-font-family:"Plus Jakarta Sans";--e-global-typography-btn14-font-size:14px;--e-global-typography-btn14-font-weight:700;--e-global-typography-btn14-line-height:1.2em;--e-global-typography-btn14-letter-spacing:0em;--e-global-typography-nav15-font-family:"Plus Jakarta Sans";--e-global-typography-nav15-font-size:15px;--e-global-typography-nav15-font-weight:600;--e-global-typography-nav15-line-height:1.2em;--e-global-typography-nav15-letter-spacing:0em;--e-global-typography-rodape19-font-family:"Plus Jakarta Sans";--e-global-typography-rodape19-font-size:clamp(16px, 1.4vw, 19px);--e-global-typography-rodape19-font-weight:600;--e-global-typography-rodape19-line-height:1.25em;--e-global-typography-rodape19-letter-spacing:0em;--e-global-typography-contato17-font-family:"Plus Jakarta Sans";--e-global-typography-contato17-font-size:17px;--e-global-typography-contato17-font-weight:700;--e-global-typography-contato17-line-height:1.25em;--e-global-typography-contato17-letter-spacing:0em;--e-global-typography-contato19-font-family:"Plus Jakarta Sans";--e-global-typography-contato19-font-size:19px;--e-global-typography-contato19-font-weight:700;--e-global-typography-contato19-line-height:1.25em;--e-global-typography-contato19-letter-spacing:0em;--e-global-typography-contato14-font-family:"Plus Jakarta Sans";--e-global-typography-contato14-font-size:14px;--e-global-typography-contato14-font-weight:400;--e-global-typography-contato14-line-height:1.25em;--e-global-typography-contato14-letter-spacing:0em;background-color:#08131F;color:#F2F4F7;font-family:"Plus Jakarta Sans", system-ui, sans-serif;font-size:18px;font-weight:400;line-height:1.6em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#FFA01E;}.elementor-kit-5 a:hover{color:#FFB84D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1168px;}.e-con{--container-max-width:1168px;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   EXPERT — CSS global (Elementor > Configurações do site > CSS personalizado)
   Aqui só entra o que o painel do Elementor não faz nativamente.
   Tudo o mais (cores, tipografia, espaçamento, sombra, raio, hover) está
   configurado widget a widget e nos Globais do Kit.
   ========================================================================== */

/* --- fundos com gradiente radial (o painel só faz duas paradas) ---------- */
.exp-hero {
  background-image:
    radial-gradient(700px 560px at 6% 10%, rgba(255,160,30,.16), transparent 70%),
    radial-gradient(900px 700px at 96% 96%, rgba(25,182,217,.16), transparent 70%);
}
.exp-plataforma {
  background-image:
    radial-gradient(1000px 600px at 50% 0%, rgba(25,182,217,.16), transparent 70%);
}
.exp-contato {
  background-image:
    radial-gradient(800px 560px at 0% 100%, rgba(255,160,30,.18), transparent 70%),
    radial-gradient(800px 560px at 100% 0%, rgba(25,182,217,.16), transparent 70%);
}

/* --- halo ciano atrás da foto do hero ----------------------------------- */
.exp-halo { position: relative; }
.exp-halo::before {
  content: "";
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 110%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(25,182,217,.24), rgba(25,182,217,0) 60%);
  pointer-events: none;
}
.exp-halo > * { position: relative; }

/* --- brilho laranja atrás do print da plataforma ------------------------ */
.exp-vidro { position: relative; }
.exp-vidro::before {
  content: "";
  position: absolute; inset: -8% 6% auto; height: 70%;
  background: radial-gradient(closest-side, rgba(255,160,30,.25), transparent);
  filter: blur(20px);
  pointer-events: none;
}
.exp-vidro > * { position: relative; }

/* --- grifo laranja atrás do texto --------------------------------------- */
.exp-grifo {
  background: linear-gradient(transparent 60%, rgba(255,160,30,.75) 60%);
}

/* --- texto riscado com traço laranja grosso ----------------------------- */
.exp-risco {
  color: #8593A3;
  text-decoration: line-through;
  text-decoration-color: #FFA01E;
  text-decoration-thickness: 4px;
}

/* --- seta dentro de bolinha no botão ------------------------------------ */
/* No layout a seta é o caractere "→", não um ícone de biblioteca. Mantido
   assim: fica idêntico e não depende de Font Awesome (que o Elementor 4
   não carrega mais) nem de upload de SVG. */
.exp-btn .elementor-button-text { display: inline-flex; align-items: center; }
.exp-bolinha {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%; margin-left: 14px; flex: none;
  background: #08131F; color: #FFA01E;
  font-size: 16px; line-height: 1; font-weight: 400; letter-spacing: 0;
}
.exp-btn-sm .exp-bolinha { width: 30px; height: 30px; font-size: 15px; }
.exp-btn-clara .exp-bolinha { background: #FFA01E; color: #0E1E2E; }

/* --- cabeçalho fixo ----------------------------------------------------- */
/* No layout o cabeçalho é transparente no topo e vira vidro depois de 24px
   de rolagem. Aqui ele é vidro sempre, de propósito:

   - o Sticky do Elementor (que traria a classe do estado rolado) clona o
     cabeçalho como espaçador, duplicando o menu no DOM com o mesmo data-id;
   - a alternativa sem JS, `animation-timeline: scroll()`, não é suportada em
     todos os navegadores, e onde falha o cabeçalho ficaria transparente por
     cima das seções claras — o logo branco sumiria.

   O vidro é quase imperceptível sobre o hero escuro e garante o logo legível
   em qualquer ponto da página. */
.elementor-location-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
}
/* fundo e filete são nativos (no container do cabeçalho); aqui só o desfoque,
   que o painel do Elementor não oferece */
.exp-header {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* No celular o logo e o botão precisam caber lado a lado. Sem isto o botão
   quebra para uma segunda linha e o cabeçalho fica com 133px de altura. */
/* o !important é proposital: a regra do Elementor para o widget tem
   especificidade maior e vence este bloco sem ele */
@media (max-width: 767px) {
  .exp-logo-header img { height: 30px !important; }
  .exp-header .elementor-button {
    font-size: 13px !important;
    padding: 10px 14px !important;
    white-space: nowrap;
  }
  .exp-header .e-con-inner { gap: 10px !important; }
}

/* --- quebra de linha equilibrada, como no layout original ---------------- */
.exp-balance .elementor-heading-title,
.exp-balance .elementor-widget-container > p,
.exp-balance { text-wrap: balance; }
.exp-pretty .elementor-widget-container > p,
.exp-pretty { text-wrap: pretty; }

/* --- rolagem suave descontando o cabeçalho fixo ------------------------- */
html { scroll-behavior: smooth; }
.exp-ancora { scroll-margin-top: 72px; }

/* --- quebra do e-mail em telas estreitas (igual ao original) ------------- */
.exp-quebra { word-break: break-word; }

/* --- cor de destaque dentro de um título -------------------------------- */
.exp-laranja { color: #FFA01E; }
.exp-ciano   { color: #19B6D9; }

/* --- proporção das fotos (o layout original usa aspect-ratio) ----------- */
.exp-ar-4x5 img, .exp-ar-4x3 img, .exp-ar-16x9 img,
.exp-ar-print img, .exp-preencher img {
  display: block; width: 100%; height: auto; object-fit: cover;
}
.exp-ar-4x5   img { aspect-ratio: 4 / 5; }
.exp-ar-4x3   img { aspect-ratio: 4 / 3; }
.exp-ar-16x9  img { aspect-ratio: 16 / 9; min-height: 260px; }
.exp-ar-print img { aspect-ratio: 1867 / 933; }

/* foto do "desafio": acompanha a altura da lista ao lado */
.exp-preencher,
.exp-preencher .elementor-widget-container { height: 100%; }
.exp-preencher img { height: 100%; min-height: 420px; }

/* --- visto dentro do círculo (cards de benefício) ----------------------- */
/* `.elementor-widget` entra no seletor de propósito: sem ele o widget de
   título aplica o Global "primary" (60px) por cima deste bloco. */
.exp-check.elementor-widget .elementor-heading-title {
  font-size: 15px; font-weight: 800; line-height: 1; letter-spacing: 0;
}
.exp-check .elementor-heading-title {
  width: 36px; height: 36px; border-radius: 50%;
  background: #0E1E2E; color: #FFA01E;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 800;
}

/* --- logos: o layout fixa a ALTURA, a largura acompanha ----------------- */
.exp-logo-header img { height: 36px; width: auto; }
.exp-logo-rodape img { height: clamp(40px, 4vw, 52px); width: auto; }

/* --- decorações soltas sobre a foto do hero ----------------------------- */
/* O Elementor não aplicou "posição absoluta" nestes containers, então a
   posição vem daqui — ancorada no .exp-rel da foto. */
.exp-badge {
  position: absolute; left: -28px; bottom: 36px; z-index: 2;
  width: max-content;            /* containers do Elementor nascem com 100% */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  pointer-events: none;
}
.exp-bolinha-hero {
  position: absolute; right: -18px; top: -18px; z-index: 2;
  pointer-events: none;
}

/* --- rodapé -------------------------------------------------------------- */
.exp-rodape-grade:not(.e-con-boxed), .exp-rodape-grade > .e-con-inner {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
}
@media (max-width: 900px) {
  .exp-rodape-grade:not(.e-con-boxed), .exp-rodape-grade > .e-con-inner {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .exp-rodape-grade:not(.e-con-boxed), .exp-rodape-grade > .e-con-inner {
    grid-template-columns: 1fr;
  }
}
/* lista de links do rodapé: sem marcador, e o laranja no hover */
.exp-links .elementor-icon-list-icon { display: none; }
.exp-links .elementor-icon-list-item > a,
.exp-links .elementor-heading-title a,
.exp-links a { transition: color .2s; }
.exp-links a:hover,
.exp-links .elementor-heading-title a:hover { color: #FFA01E; }

/* --- estados de hover ---------------------------------------------------- */
.exp-celula-ia { transition: background-color .2s; }
.exp-celula-ia:hover { background-color: #0F2033; }
.exp-card-contato { transition: background-color .2s, border-color .2s; }
.exp-card-contato:hover {
  background-color: rgba(255,160,30,.08);
  border-color: #FFA01E;
}

/* --- grades ------------------------------------------------------------- */
/* São as MESMAS expressões do layout original: auto-fit + minmax. A coluna
   quebra quando deixa de caber, no mesmo ponto exato — sem breakpoint, que
   seria sempre uma aproximação. O espaçamento, o alinhamento e o resto
   continuam nativos e editáveis no painel.

   Atenção ao alvo: um container "boxed" do Elementor 4 renderiza um
   .e-con-inner por dentro, e é ELE que recebe os filhos. Um container de
   largura total não tem esse nível. Por isso cada regra cobre os dois casos. */
.exp-grade-2a:not(.e-con-boxed), .exp-grade-2a > .e-con-inner,
.exp-grade-2b:not(.e-con-boxed), .exp-grade-2b > .e-con-inner,
.exp-grade-2c:not(.e-con-boxed), .exp-grade-2c > .e-con-inner,
.exp-grade-2d:not(.e-con-boxed), .exp-grade-2d > .e-con-inner,
.exp-grade-4:not(.e-con-boxed),  .exp-grade-4  > .e-con-inner,
.exp-grade-4ia:not(.e-con-boxed), .exp-grade-4ia > .e-con-inner { display: grid; }

.exp-grade-2a:not(.e-con-boxed), .exp-grade-2a > .e-con-inner {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr));
}
.exp-grade-2b:not(.e-con-boxed), .exp-grade-2b > .e-con-inner {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
}
.exp-grade-2c:not(.e-con-boxed), .exp-grade-2c > .e-con-inner,
.exp-grade-2d:not(.e-con-boxed), .exp-grade-2d > .e-con-inner {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
}
/* 4 -> 2 -> 1 coluna. O desconto no calc() é o do espaçamento da grade:
   1px na grade da plataforma, 14px nas grades de cards. */
.exp-grade-4ia:not(.e-con-boxed), .exp-grade-4ia > .e-con-inner {
  grid-template-columns: repeat(auto-fit, minmax(max(calc(25% - 1px),
    min(calc(50% - 1px), calc((1000px - 100%) * 1000)),
    min(100%, calc((520px - 100%) * 1000))), 1fr));
}
.exp-grade-4:not(.e-con-boxed), .exp-grade-4 > .e-con-inner {
  grid-template-columns: repeat(auto-fit, minmax(max(calc(25% - 11px),
    min(calc(50% - 7px), calc((1000px - 100%) * 1000)),
    min(100%, calc((520px - 100%) * 1000))), 1fr));
}

/* --- caixa do ícone: nunca encolhe (é o flex:none do layout) ------------ */
.exp-caixa-icone.e-con { flex: none; }

/* ícone embutido: o SVG centraliza na caixa */
.exp-icone, .exp-icone .elementor-widget-container { line-height: 0; }
.exp-icone svg { display: block; }

/* --- utilidades ---------------------------------------------------------- */
.exp-rel    { position: relative; }
.exp-cortar { overflow: hidden; }

/* larguras máximas de blocos (o original usa max-width, não largura fixa) */
.exp-max-480  { max-width: 480px; }
.exp-max-820  { width: fit-content; max-width: 820px; }
.exp-max-900  { max-width: 900px; }
.exp-max-1100 { max-width: 1100px; margin-left: auto; margin-right: auto; }/* End custom CSS */