/* ==========================================================================
   Safirion — camada de refinamento visual
   Carregada DEPOIS do CSS do Elementor. Nao edite o CSS combinado do
   LiteSpeed: ele e gerado automaticamente e seria sobrescrito.
   Toda regra aqui usa a mesma especificidade do Elementor e vence por
   ordem de carregamento.
   ========================================================================== */

:root{
  --sfr-navy:#050B18;
  --sfr-navy-2:#0A1526;
  --sfr-card:#111A28;
  --sfr-blue:#028DF6;
  --sfr-blue-dark:#0765B4;
  --sfr-blue-light:#2DA5E7;
  --sfr-ink:#1C1C1C;
  --sfr-ink-soft:#4A5568;
  --sfr-line:rgba(2,141,246,.18);
  --sfr-ease:cubic-bezier(.22,.61,.36,1);
  --sfr-shadow-sm:0 2px 8px rgba(5,11,24,.06);
  --sfr-shadow-md:0 10px 30px -12px rgba(5,11,24,.22);
  --sfr-shadow-glow:0 8px 28px -6px rgba(7,101,180,.55);
}

/* --------------------------------------------------------------------------
   1. Base
   -------------------------------------------------------------------------- */

body{ text-rendering:optimizeLegibility; }

/* O tema deixa o body branco puro; o rodape e o topo sao navy.
   Um fundo navy evita a faixa branca no overscroll do iOS/macOS. */
html{ background:var(--sfr-navy); }

::selection{ background:var(--sfr-blue); color:#fff; }

/* --------------------------------------------------------------------------
   2. Header fixo
   Landing page de conversao: o CTA precisa acompanhar a rolagem.
   -------------------------------------------------------------------------- */

header.elementor-location-header{
  position:sticky;
  top:0;
  z-index:999;
  transition:box-shadow .3s var(--sfr-ease), background-color .3s var(--sfr-ease);
}

.elementor-15 .elementor-element.elementor-element-2e33e16{
  transition:padding .3s var(--sfr-ease), background-color .3s var(--sfr-ease);
  padding-block:6px;
}

/* Estado aplicado por JS depois de ~40px de rolagem */
header.elementor-location-header.sfr-scrolled{
  box-shadow:0 6px 24px -10px rgba(0,0,0,.75);
  border-bottom:1px solid var(--sfr-line);
}

@supports (backdrop-filter:blur(1px)){
  header.elementor-location-header.sfr-scrolled
  .elementor-15 .elementor-element.elementor-element-2e33e16:not(.elementor-motion-effects-element-type-background){
    background-color:rgba(5,11,24,.82);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
  }
}

/* --------------------------------------------------------------------------
   3. Hero
   -------------------------------------------------------------------------- */

/* CORRECAO: o H1 estava com color:#000 sobre o gradiente azul -> quase
   ilegivel. Passa a branco com brilho sutil. */
.elementor-8 .elementor-element.elementor-element-354d8575 .elementor-heading-title{
  color:#FFFFFF;
  font-size:clamp(2.6rem,7vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.035em;
  text-shadow:0 0 42px rgba(255,255,255,.25), 0 2px 18px rgba(5,11,24,.45);
}

.elementor-8 .elementor-element.elementor-element-1f13226c .elementor-heading-title{
  font-size:clamp(1.05rem,2.4vw,1.6rem);
  line-height:1.3;
  letter-spacing:-.01em;
  opacity:.96;
}

.elementor-8 .elementor-element.elementor-element-79f65ac4{
  font-size:clamp(.92rem,1.3vw,1.02rem);
  line-height:1.7;
  max-width:52ch;
  color:rgba(255,255,255,.82);
}

/* Aviso legal do hero: presente, mas sem competir com o CTA. */
.elementor-8 .elementor-element.elementor-element-41dcf313 .elementor-heading-title{
  color:rgba(255,255,255,.62);
  font-size:12px;
  letter-spacing:.02em;
}

/* Brilho radial atras do conteudo do hero, dando profundidade ao gradiente. */
.elementor-8 .elementor-element.elementor-element-7aac20ab{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.elementor-8 .elementor-element.elementor-element-7aac20ab::after{
  content:"";
  position:absolute;
  inset:auto -20% -55% -20%;
  height:80%;
  background:radial-gradient(ellipse at 50% 0%, rgba(2,141,246,.34), transparent 62%);
  pointer-events:none;
  z-index:0;
}
.elementor-8 .elementor-element.elementor-element-7aac20ab > .e-con-inner{ position:relative; z-index:1; }

/* Mockup do celular ganha sombra para descolar do fundo. */
.elementor-8 .elementor-element.elementor-element-22f1b2a9 img{
  filter:drop-shadow(0 28px 45px rgba(0,0,0,.5));
  transition:transform .6s var(--sfr-ease);
}
.elementor-8 .elementor-element.elementor-element-22f1b2a9:hover img{ transform:translateY(-8px); }

/* --------------------------------------------------------------------------
   4. Secao de destaques (cards escuros)
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-3dd597ef .elementor-heading-title{
  letter-spacing:-.02em;
  line-height:1.15;
}

.elementor-8 .elementor-element.elementor-element-6e72b18c .elementor-heading-title{
  letter-spacing:-.01em;
  background:linear-gradient(92deg,var(--sfr-blue-light),var(--sfr-blue));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Os quatro cards. O tema original acrescentava uma borda de 2px so no
   hover, o que empurrava o conteudo (layout shift). Aqui a borda existe
   sempre, transparente, e so muda de cor. */
.elementor-8 .elementor-element.elementor-element-1abfaab6,
.elementor-8 .elementor-element.elementor-element-6dd02127,
.elementor-8 .elementor-element.elementor-element-479de6b4,
.elementor-8 .elementor-element.elementor-element-2538d592{
  border-style:solid;
  border-width:1px;
  border-color:rgba(255,255,255,.07);
  --border-style:solid;
  --border-radius:18px 18px 18px 18px;
  background-image:linear-gradient(160deg,rgba(2,141,246,.10),rgba(255,255,255,0) 58%);
  transition:transform .35s var(--sfr-ease), border-color .35s var(--sfr-ease), box-shadow .35s var(--sfr-ease);
}

.elementor-8 .elementor-element.elementor-element-1abfaab6:hover,
.elementor-8 .elementor-element.elementor-element-6dd02127:hover,
.elementor-8 .elementor-element.elementor-element-479de6b4:hover,
.elementor-8 .elementor-element.elementor-element-2538d592:hover{
  border-width:1px;
  --border-top-width:1px; --border-right-width:1px;
  --border-bottom-width:1px; --border-left-width:1px;
  border-color:rgba(2,141,246,.55);
  transform:translateY(-6px);
  box-shadow:0 18px 40px -18px rgba(2,141,246,.55);
}

/* O gap entre icone e titulo era de 54px, deixando o card oco no meio.
   Precisa da mesma especificidade da regra do Elementor (4 classes). */
.elementor-8 .elementor-element.elementor-element-49f58db2 .elementor-icon-box-wrapper,
.elementor-8 .elementor-element.elementor-element-6102b572 .elementor-icon-box-wrapper,
.elementor-8 .elementor-element.elementor-element-220f7f28 .elementor-icon-box-wrapper,
.elementor-8 .elementor-element.elementor-element-604d0a81 .elementor-icon-box-wrapper{ gap:18px; }

.elementor-8 .elementor-element .elementor-icon-box-title{ line-height:1.35; }

.elementor-8 .elementor-element .elementor-view-stacked .elementor-icon{
  border-radius:12px;
  padding:.5em;
  background-image:linear-gradient(150deg,var(--sfr-blue-light),var(--sfr-blue-dark));
  box-shadow:0 8px 20px -8px rgba(2,141,246,.8);
}

.elementor-8 .elementor-element.elementor-element-340a27c{
  max-width:60ch;
  margin-inline:auto;
  line-height:1.7;
}

/* --------------------------------------------------------------------------
   5. Secoes claras: ritmo, medida de leitura e transicao
   O bloco central e a maior parte da pagina e vinha como texto corrido
   ocupando ~1150px de largura, o que prejudica a leitura.
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-7c347501,
.elementor-8 .elementor-element.elementor-element-1a68508c{
  --padding-top:0px;
  --padding-bottom:0px;
  --gap:26px 0px;
  --row-gap:26px;
}

/* Degrade suave no encontro da secao escura com a clara. */
.elementor-8 .elementor-element.elementor-element-7c347501{
  background-image:linear-gradient(180deg,#E9F1FA 0%,#F6F9FD 180px,#FFFFFF 520px);
}

/* Medida de leitura: limita a coluna de conteudo em vez dos paragrafos
   isolados, para que titulos, texto e imagens continuem alinhados. */
.elementor-8 .elementor-element.elementor-element-7c347501 > .e-con-inner,
.elementor-8 .elementor-element.elementor-element-1a68508c > .e-con-inner{
  max-width:960px;
  padding-inline:24px;
}

/* Titulos das secoes claras */
.elementor-8 .elementor-element.elementor-element-2ae7c3a6 .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-7753988 .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-3fd18e5b .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-11d8c8f2 .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-14eaaff7 .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-17ff914 .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-623c4a73 .elementor-heading-title,
.elementor-8 .elementor-element.elementor-element-4932e652 .elementor-heading-title{
  font-size:clamp(1.6rem,3.4vw,2.35rem);
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--sfr-navy);
  margin-top:28px;
  padding-bottom:14px;
  position:relative;
}

/* Marcador azul sob cada titulo, dando inicio visual a cada bloco. */
.elementor-8 .elementor-element.elementor-element-2ae7c3a6 .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-7753988 .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-3fd18e5b .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-11d8c8f2 .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-14eaaff7 .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-17ff914 .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-623c4a73 .elementor-heading-title::after,
.elementor-8 .elementor-element.elementor-element-4932e652 .elementor-heading-title::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:52px; height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,var(--sfr-blue),var(--sfr-blue-light));
}

/* Corpo de texto das secoes claras */
.elementor-8 .elementor-element.elementor-element-48663a76,
.elementor-8 .elementor-element.elementor-element-3ff29cce,
.elementor-8 .elementor-element.elementor-element-3ba1e387,
.elementor-8 .elementor-element.elementor-element-291d8133,
.elementor-8 .elementor-element.elementor-element-7147da1b,
.elementor-8 .elementor-element.elementor-element-1dc77b22,
.elementor-8 .elementor-element.elementor-element-7fc3460,
.elementor-8 .elementor-element.elementor-element-2afd40ff{
  font-size:clamp(.95rem,1.15vw,1.0625rem);
  line-height:1.78;
  color:#2C3644;
}

.elementor-8 .elementor-element .elementor-widget-text-editor p{ margin-block-end:1.05em; }

.elementor-8 .elementor-element .elementor-widget-text-editor strong{ color:var(--sfr-navy); }

.elementor-8 .elementor-element .elementor-widget-text-editor a{
  color:var(--sfr-blue-dark);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  transition:color .2s var(--sfr-ease);
}
.elementor-8 .elementor-element .elementor-widget-text-editor a:hover{ color:var(--sfr-blue); }

/* --------------------------------------------------------------------------
   6. "Recursos da nossa plataforma" -> grade de cards
   Sao seis paragrafos <strong> + <br> + descricao. Viram cards via CSS,
   sem mexer no HTML.
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-1dc77b22{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:16px;
  align-items:stretch;
}

/* Texto introdutorio e subtitulo atravessam a grade inteira. */
.elementor-8 .elementor-element.elementor-element-1dc77b22 > p:not(:has(> strong:first-child)),
.elementor-8 .elementor-element.elementor-element-1dc77b22 > h3{
  grid-column:1 / -1;
  margin-block-end:0;
}

.elementor-8 .elementor-element.elementor-element-1dc77b22 > h3{
  font-size:1.2rem;
  color:var(--sfr-navy);
  letter-spacing:-.01em;
  margin-top:10px;
}

.elementor-8 .elementor-element.elementor-element-1dc77b22 > p:has(> strong:first-child){
  margin:0;
  padding:22px 20px 20px;
  background:#FFFFFF;
  border:1px solid #E3EBF4;
  border-radius:16px;
  box-shadow:var(--sfr-shadow-sm);
  font-size:.92rem;
  line-height:1.62;
  color:var(--sfr-ink-soft);
  position:relative;
  overflow:hidden;
  transition:transform .3s var(--sfr-ease), box-shadow .3s var(--sfr-ease), border-color .3s var(--sfr-ease);
}

/* Faixa azul no topo de cada card. */
.elementor-8 .elementor-element.elementor-element-1dc77b22 > p:has(> strong:first-child)::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--sfr-blue),var(--sfr-blue-light));
  opacity:.85;
}

.elementor-8 .elementor-element.elementor-element-1dc77b22 > p:has(> strong:first-child):hover{
  transform:translateY(-4px);
  border-color:rgba(2,141,246,.45);
  box-shadow:var(--sfr-shadow-md);
}

.elementor-8 .elementor-element.elementor-element-1dc77b22 > p:has(> strong:first-child) > strong{
  display:block;
  margin-bottom:7px;
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--sfr-navy);
}

/* O <br> apos o titulo do card fica redundante com o strong em bloco. */
.elementor-8 .elementor-element.elementor-element-1dc77b22 > p:has(> strong:first-child) > strong + br{ display:none; }

/* --------------------------------------------------------------------------
   7. "Passo a passo para criar sua conta"
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-7147da1b > h3{
  font-size:1.2rem;
  color:var(--sfr-navy);
  letter-spacing:-.01em;
  margin-top:12px;
}

.elementor-8 .elementor-element.elementor-element-7147da1b ol{
  list-style:none;
  counter-reset:sfr-step;
  margin:18px 0 22px;
  padding:0;
  display:grid;
  gap:10px;
}

.elementor-8 .elementor-element.elementor-element-7147da1b ol > li{
  counter-increment:sfr-step;
  position:relative;
  margin:0;
  padding:13px 16px 13px 56px;
  background:#F7FAFD;
  border:1px solid #E3EBF4;
  border-radius:12px;
  transition:border-color .25s var(--sfr-ease), background-color .25s var(--sfr-ease);
}

.elementor-8 .elementor-element.elementor-element-7147da1b ol > li:hover{
  background:#FFFFFF;
  border-color:rgba(2,141,246,.4);
}

.elementor-8 .elementor-element.elementor-element-7147da1b ol > li::before{
  content:counter(sfr-step);
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:28px; height:28px;
  display:grid; place-items:center;
  border-radius:50%;
  background:linear-gradient(150deg,var(--sfr-blue-light),var(--sfr-blue-dark));
  color:#fff;
  font-size:.8rem;
  font-weight:700;
  box-shadow:0 4px 12px -4px rgba(2,141,246,.7);
}

.elementor-8 .elementor-element.elementor-element-7147da1b ol > li p{ margin:0; }

/* --------------------------------------------------------------------------
   8. Imagens de conteudo
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-541353b6 img,
.elementor-8 .elementor-element.elementor-element-35c3de25 img,
.elementor-8 .elementor-element.elementor-element-261626cd img{
  border-radius:16px;
  box-shadow:var(--sfr-shadow-md);
}

/* --------------------------------------------------------------------------
   9. Botoes

   NOTA: o Elementor traz uma regra de lazy-load de fundo que zera o
   background-image de tudo dentro do 4o container em diante ate o JS
   marcar o elemento como .e-lazyloaded:

     .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) *
       { background-image:none!important }

   Isso apagava o gradiente dos CTAs das secoes de baixo sempre que o JS
   do Elementor demorava ou falhava. Como o site e estatico e tem poucas
   imagens, os containers recebem a classe e-no-lazyload no HTML e o
   gradiente deixa de depender de JS.
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element .elementor-button,
.elementor-15 .elementor-element .elementor-button,
.elementor-27 .elementor-element .elementor-button{
  transition:transform .22s var(--sfr-ease), box-shadow .28s var(--sfr-ease), filter .22s var(--sfr-ease);
  letter-spacing:.015em;
  will-change:transform;
}

.elementor-8 .elementor-element .elementor-button:hover,
.elementor-15 .elementor-element .elementor-button:hover,
.elementor-27 .elementor-element .elementor-button:hover{
  transform:translateY(-2px);
  filter:brightness(1.07);
}

.elementor-8 .elementor-element .elementor-button:active,
.elementor-15 .elementor-element .elementor-button:active{
  transform:translateY(0);
}

/* Texto: mantido no navy original. Sobre este gradiente ele tem contraste
   melhor que branco (4,8:1 contra 4,0:1 no meio do gradiente, e a diferenca
   cresce na ponta clara). */

.elementor-8 .elementor-element.elementor-element-2a480f77 .elementor-button:hover,
.elementor-8 .elementor-element.elementor-element-1de2bc2a .elementor-button:hover,
.elementor-8 .elementor-element.elementor-element-76ac92d4 .elementor-button:hover,
.elementor-8 .elementor-element.elementor-element-2ec8ec1c .elementor-button:hover,
.elementor-8 .elementor-element.elementor-element-61fcb103 .elementor-button:hover{
  box-shadow:var(--sfr-shadow-glow);
}

/* "Comece Agora" do FAQ: mesmo gradiente dos demais CTAs, so com mais
   respiro horizontal. */
.elementor-8 .elementor-element.elementor-element-1767921d .elementor-button{
  padding:15px 32px;
}
.elementor-8 .elementor-element.elementor-element-1767921d .elementor-button:hover{
  box-shadow:var(--sfr-shadow-glow);
}

/* Botao LOGIN do topo (contorno) */
.elementor-15 .elementor-element.elementor-element-6c8e574b .elementor-button:hover{
  background-color:rgba(34,137,230,.14);
}

/* Acessibilidade: o tema nao definia foco visivel em nenhum botao. */
.elementor-button:focus-visible,
a:focus-visible,
summary:focus-visible{
  outline:2px solid var(--sfr-blue-light);
  outline-offset:3px;
  border-radius:6px;
}

/* --------------------------------------------------------------------------
   10. FAQ
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-5a2c8703 .elementor-heading-title{
  font-size:clamp(1.6rem,3.2vw,2.1rem);
  letter-spacing:-.02em;
}

.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion{
  display:grid;
  gap:10px;
  max-width:820px;
  margin-inline:auto;
}

.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item{
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(2,141,246,.22);
  transition:border-color .25s var(--sfr-ease), box-shadow .25s var(--sfr-ease);
}

.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item[open]{
  border-color:rgba(2,141,246,.55);
  box-shadow:0 12px 30px -16px rgba(2,141,246,.6);
}

.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{
  padding:16px 20px;
  transition:background-color .25s var(--sfr-ease);
}

.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{
  background-color:#18222F;
}

/* Estado aberto: o original virava branco de repente. Mantem o escuro e
   marca a abertura pela cor do texto e pelo icone. */
.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{
  background-color:#0E1724;
  color:var(--sfr-blue-light);
}

.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text{
  color:var(--sfr-blue-light);
}

:where(.elementor-8 .elementor-element.elementor-element-71dbe5 > .e-n-accordion > .e-n-accordion-item) > .e-con{
  background-color:#0E1724;
  --padding-top:2px;
  --padding-right:20px;
  --padding-bottom:18px;
  --padding-left:20px;
  --border-radius:0px;
}

.elementor-8 .elementor-element.elementor-element-71dbe5 .e-n-accordion-item .elementor-widget-text-editor{
  color:rgba(255,255,255,.74);
  font-size:.95rem;
  line-height:1.7;
}

.elementor-8 .elementor-element.elementor-element-71dbe5 .e-n-accordion-item-title-icon{
  transition:transform .3s var(--sfr-ease);
}
.elementor-8 .elementor-element.elementor-element-71dbe5 .e-n-accordion-item[open] .e-n-accordion-item-title-icon{
  transform:rotate(0deg);
}

/* A secao do FAQ e clara; envolve o acordeao escuro num painel navy
   para o contraste deixar de parecer acidental. */
.elementor-8 .elementor-element.elementor-element-1a690a48{
  background-image:linear-gradient(180deg,#FFFFFF 0%,#EDF3FA 60%,#DCE7F3 100%);
  --padding-top:10px;
  --padding-bottom:64px;
}

/* --------------------------------------------------------------------------
   11. Divisores e rodape
   -------------------------------------------------------------------------- */

.elementor-8 .elementor-element.elementor-element-6bc7bb3b .elementor-divider-separator,
.elementor-27 .elementor-element.elementor-element-4cf0067b .elementor-divider-separator{
  border-top-color:transparent;
  background-image:linear-gradient(90deg,transparent,var(--sfr-line) 18%,var(--sfr-line) 82%,transparent);
  height:1px;
  border:0;
}

/* O bloco de logo + copyright ficava encostado a esquerda enquanto o aviso
   da CVM abaixo era centralizado. Alinha os dois. */
.elementor-27 .elementor-element.elementor-element-445ecd44{
  margin-inline:auto;
  --justify-content:center;
  --align-items:center;
  --padding-top:56px;
  --padding-bottom:28px;
}
.elementor-27 .elementor-element.elementor-element-34f2f1ff{
  --align-items:center;
  text-align:center;
}
.elementor-27 .elementor-element.elementor-element-56d4bebf.elementor-element{
  --align-self:center;
}

/* Passagem da secao clara do FAQ para o rodape navy. */
.elementor-27 .elementor-element.elementor-element-445ecd44:not(.elementor-motion-effects-element-type-background){
  background-image:linear-gradient(180deg,#020610 0%,#050B18 220px);
  border-top:1px solid var(--sfr-line);
}

.elementor-27 .elementor-element.elementor-element-640cfa09{
  font-size:.78rem;
  line-height:1.65;
  color:rgba(255,255,255,.45);
  max-width:78ch;
  margin-inline:auto;
}

.elementor-27 .elementor-element.elementor-element-56d4bebf{
  color:rgba(255,255,255,.6);
  font-size:.85rem;
  text-align:center;
  line-height:1.75;
}

/* --------------------------------------------------------------------------
   12. Entrada dos blocos na rolagem
   As classes sao aplicadas por safirion-ui.js.
   -------------------------------------------------------------------------- */

.sfr-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s var(--sfr-ease), transform .65s var(--sfr-ease);
}
.sfr-reveal.sfr-in{
  opacity:1;
  transform:none;
}

/* --------------------------------------------------------------------------
   13. Responsivo
   -------------------------------------------------------------------------- */

@media (max-width:1024px){
  .elementor-8 .elementor-element.elementor-element-7c347501 > .e-con-inner,
  .elementor-8 .elementor-element.elementor-element-1a68508c > .e-con-inner{
    max-width:100%;
    padding-inline:22px;
  }
}

@media (max-width:767px){
  /* Header fixo consome altura util em telas pequenas. */
  .elementor-15 .elementor-element.elementor-element-2e33e16{ padding-block:4px; }

  .elementor-8 .elementor-element.elementor-element-354d8575 .elementor-heading-title{
    text-shadow:0 2px 14px rgba(5,11,24,.5);
  }

  .elementor-8 .elementor-element.elementor-element-1dc77b22{ grid-template-columns:1fr; }

  .elementor-8 .elementor-element.elementor-element-7147da1b ol > li{
    padding:12px 14px 12px 50px;
  }

  .elementor-8 .elementor-element.elementor-element-2ae7c3a6 .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-7753988 .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-3fd18e5b .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-11d8c8f2 .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-14eaaff7 .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-17ff914 .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-623c4a73 .elementor-heading-title,
  .elementor-8 .elementor-element.elementor-element-4932e652 .elementor-heading-title{
    margin-top:18px;
  }
}

/* --------------------------------------------------------------------------
   14. Movimento reduzido
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .sfr-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
