.elementor-292 .elementor-element.elementor-element-0532c55{--display:flex;}.elementor-292 .elementor-element.elementor-element-0532c55:not(.elementor-motion-effects-element-type-background), .elementor-292 .elementor-element.elementor-element-0532c55 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1220;}.elementor-292 .elementor-element.elementor-element-1545653{--display:flex;}.elementor-292 .elementor-element.elementor-element-1545653:not(.elementor-motion-effects-element-type-background), .elementor-292 .elementor-element.elementor-element-1545653 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1220;}.elementor-292 .elementor-element.elementor-element-bb07efa{--display:flex;}.elementor-292 .elementor-element.elementor-element-bb07efa:not(.elementor-motion-effects-element-type-background), .elementor-292 .elementor-element.elementor-element-bb07efa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1220;}.elementor-292 .elementor-element.elementor-element-7e87bfb{--display:flex;}.elementor-292 .elementor-element.elementor-element-94eaff7{--display:flex;}.elementor-292 .elementor-element.elementor-element-68713bf{--display:flex;}/* Start custom CSS for html, class: .elementor-element-24372b5 */:root{
  --bg:#0B1220;
  --text:#E5E7EB;
  --blue:#2962FF;
  --purple:#7C3AED;
  --maxw:1040px;
  --px:24px;
}

/* ===== Header base ===== */
.tl-header{
  position:sticky; top:0; left:0; right:0;
  background:var(--bg);
  z-index:1000;
  border-bottom:1px solid rgba(148,163,184,.1);
}
.tl-header__container{
  width:min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:64px;
}

/* ===== Logo ===== */
.tl-logo{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:20px;
  font-weight:700;
  color:#fff;
  text-decoration:none;
  letter-spacing:-0.5px;
}
.tl-logo .cursor{
  display:inline-block;
  color:#fff; /* cursor branco */
  animation: blink 1s step-start infinite;
}
@keyframes blink{
  50%{ opacity:0; }
}

/* ===== Botão Entrar ===== */
.tl-btn-login{
  font-family:'Montserrat', system-ui, sans-serif;
  font-size:14px;
  font-weight:600;
  color:#fff;
  text-decoration:none;
  padding:8px 16px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--blue), var(--purple));
  box-shadow:0 4px 10px rgba(41,98,255,.25), 0 2px 6px rgba(124,58,237,.2);
  transition:filter .2s, transform .1s;
}
.tl-btn-login:hover{ filter:brightness(1.08); }
.tl-btn-login:active{ transform:translateY(1px); }

/* ===== Responsivo ===== */
@media (min-width:1024px){
  .tl-logo{ font-size:22px; }
  .tl-btn-login{ font-size:15px; padding:9px 18px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-dc76765 *//* ===== Tokens do design system (mobile-first) ===== */
:root{
  --bg: #0B1220;
  --text: #E5E7EB;
  --blue: #2962FF;
  --purple: #7C3AED;
  --maxw: 1040px;
  --px: 24px;
  --radius: 20px;
}

/* ===== HERO NEURO-TECH (ajustado p/ fade suave nas bordas) ===== */
.tl-hero{
  position: relative;
  color: var(--text);
  overflow: hidden;        /* impede rolagem por causa dos pseudos */
  isolation: isolate;
}

/* ===== Linha divisória superior do Hero ===== */
.tl-hero__topline{
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background-image: linear-gradient(90deg,
    rgba(41,98,255,0) 0%,
    rgba(41,98,255,.55) 25%,
    rgba(124,58,237,.55) 75%,
    rgba(124,58,237,0) 100%);
  opacity: .9;
  pointer-events: none;
  z-index: 3; /* acima do grid e glow */
}

/* 1) Grid sutil — bleed controlado + fade no topo/laterais/rodapé */
.tl-hero--neo::before{
  content:"";
  position:absolute;
  /* extravasa um pouco para fora da seção, evitando borda visível */
  inset: -40px -6vw -32px -6vw;

  background:
    linear-gradient(to right, rgba(148,163,184,.08) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(to bottom, rgba(148,163,184,.06) 1px, transparent 1px) 0 0 / 32px 32px;

  /* máscara principal: topo começa transparente e vai aparecendo */
  -webkit-mask-image: linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.30) 6%,
      rgba(0,0,0,.85) 18%,
      rgba(0,0,0,.95) 55%,
      rgba(0,0,0,.60) 86%,
      rgba(0,0,0,0) 100%);
          mask-image: linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.30) 6%,
      rgba(0,0,0,.85) 18%,
      rgba(0,0,0,.95) 55%,
      rgba(0,0,0,.60) 86%,
      rgba(0,0,0,0) 100%);

  opacity: .9;
  pointer-events:none;
  z-index:-2;
  animation: tl-grid-pan 22s linear infinite;
}

@keyframes tl-grid-pan{
  from { background-position: 0 0, 0 0; }
  to   { background-position: 64px 0, 0 64px; }
}
@media (prefers-reduced-motion: reduce){
  .tl-hero--neo::before{ animation:none; }
}

/* 2) Glow inferior — mais baixo e com fade longo (sem “corte”) */
.tl-hero--neo::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-48px;                 /* desce um pouco para permitir o fade */
  transform: translateX(-50%);
  width: 120%;
  max-width: 1200px;
  height: 420px;

  background:
    radial-gradient(56% 66% at 50% 46%,
      rgba(124,58,237,.14) 0%,
      rgba(41,98,255,.08) 38%,
      rgba(11,18,32,0) 76%);

  filter: blur(12px);
  opacity: .92;
  z-index:-1;

  /* fade progressivo para o rodapé, sem quebra */
  -webkit-mask-image: linear-gradient(to bottom,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 68%,
      rgba(0,0,0,.55) 86%,
      rgba(0,0,0,.25) 93%,
      rgba(0,0,0,0) 100%);
          mask-image: linear-gradient(to bottom,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 68%,
      rgba(0,0,0,.55) 86%,
      rgba(0,0,0,.25) 93%,
      rgba(0,0,0,0) 100%);
}

/* 3) Container de conteúdo */
.tl-hero__container{
  width: min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline: auto;
  padding: 28px 0; /* mobile */
}

/* 4) Título com accent e underline em gradiente */
.tl-hero__heading{
  display:flex; align-items:center; gap:10px;
}
.tl-accent{
  flex:0 0 auto; display:block; filter: drop-shadow(0 4px 16px rgba(41,98,255,.35));
}
.tl-hero__title{
  margin: 0;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 28px;         /* mobile */
  line-height: 1.15;
  color: var(--text);
  text-wrap: balance;
  position: relative;
}
.tl-hero__title::after{
  content:"";
  display:block;
  margin-top: 10px;
  width: 140px;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), var(--purple));
  border-radius: 2px;
  box-shadow: 0 0 18px rgba(41,98,255,.35), 0 0 12px rgba(124,58,237,.25);
}

/* 5) Subtítulo */
.tl-hero__subtitle{
  margin: 12px 0 0 0;
  max-width: 60ch;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(229,231,235,.86);
}

/* 6) Divisor em gradiente */
.tl-hero__divider{
  height: 1px; width: 100%;
  margin-top: 22px;
  background-image: linear-gradient(90deg,
    rgba(41,98,255,.0) 0%,
    rgba(41,98,255,.55) 25%,
    rgba(124,58,237,.55) 75%,
    rgba(124,58,237,.0) 100%);
  opacity:.9;
}

/* ===== Refinos responsivos ===== */
@media (max-width: 480px){
  .tl-hero--neo::before{
    inset: -36px -8vw -28px -8vw;   /* um pouco mais de bleed no mobile */
    opacity: .8;                    /* grid mais sutil em telas pequenas */
  }
  .tl-hero--neo::after{
    height: 380px;
    filter: blur(14px);
    opacity: .88;
  }
}

@media (min-width: 1024px){
  .tl-hero__container{ padding: 48px 0; }
  .tl-hero__title{ font-size: 40px; }
  .tl-hero__title::after{ width: 180px; }
  .tl-accent{ filter: drop-shadow(0 6px 20px rgba(41,98,255,.35)); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0a3d61d *//* Tokens (já usados no Hero) */
:root{
  --text:#E5E7EB;
  --muted:#94A3B8;
  --blue:#2962FF;
  --purple:#7C3AED;
  --maxw:1040px;
  --px:24px;
  --radius:16px;
}

/* Acessibilidade */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== Seção 2: Busca + Filtros ===== */
.tl-filters{ position:relative; }
.tl-filters__container{
  width:min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline:auto;
  padding-block: 10px; /* mobile-first, colado no hero */
}

/* Form layout: mobile = coluna; desktop = linha */
.tl-filters__form{
  display:flex; flex-direction:column; gap:10px;
}

/* Campo base */
.tl-field{
  position:relative;
  display:flex; align-items:center;
  background:#111827; /* bem escuro para destacar no bg */
  border:1px solid #334155;
  border-radius: var(--radius);
  padding: 10px 12px;
}

/* Busca com ícone à esquerda */
.tl-field--search{ padding-left:40px; }
.tl-field__icon{
  position:absolute; left:12px; width:18px; height:18px; color:#9CA3AF;
}

/* Inputs */
.tl-field input[type="search"],
.tl-field select{
  width:100%;
  color:var(--text);
  background:transparent;
  border:none; outline:none;
  font: 500 15px/1.4 'Montserrat', system-ui, sans-serif;
}
.tl-field input::placeholder{ color:#9CA3AF; }

/* Select caret (custom) */
.tl-select-caret{
  position:absolute; right:12px; width:0; height:0;
  border-left:6px solid transparent; border-right:6px solid transparent; border-top:7px solid #9CA3AF;
  pointer-events:none;
}
.tl-field select{
  appearance:none; -webkit-appearance:none; padding-right:28px;
}

/* Ações */
.tl-actions{ display:flex; gap:8px; }
.btn-grad{
  border:none; cursor:pointer;
  border-radius:999px; padding:12px 18px;
  font: 700 14px/1 'Montserrat', system-ui, sans-serif;
  color:#fff; background:linear-gradient(90deg, var(--blue), var(--purple));
  box-shadow: 0 6px 18px rgba(41,98,255,.25), 0 2px 8px rgba(124,58,237,.2);
  transition: filter .2s, transform .1s;
}
.btn-grad:hover{ filter:brightness(1.08); }
.btn-grad:active{ transform:translateY(1px); }

.btn-reset{
  border:1px solid #334155; background:transparent; color:var(--muted);
  border-radius:999px; padding:12px 16px; font:600 14px/1 'Montserrat', system-ui, sans-serif;
}
.btn-reset:hover{ color:#fff; border-color:#475569; }

/* Divisor decorativo */
.tl-filters__divider{
  height:1px; width:100%;
  margin-top:12px;
  background-image: linear-gradient(90deg,
    rgba(41,98,255,.0) 0%,
    rgba(41,98,255,.4) 25%,
    rgba(124,58,237,.4) 75%,
    rgba(124,58,237,.0) 100%);
  opacity:.9;
}

/* Hover/focus states acessíveis */
.tl-field:focus-within{
  border-color:#475569;
  box-shadow: 0 0 0 2px rgba(41,98,255,.15);
}
.tl-field input:focus,
.tl-field select:focus{ outline:none; }

/* Responsivo desktop */
@media (min-width:1024px){
  .tl-filters__form{ flex-direction:row; align-items:center; gap:12px; }
  .tl-field--search{ flex:1 1 auto; min-width: 360px; }
  .tl-field{ flex:0 0 240px; }
  .tl-actions{ margin-left:auto; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-82af478 */:root{
  --text:#E5E7EB;
  --muted:#94A3B8;
  --bg:#0B1220;
  --card:#1E293B;
  --blue:#2962FF;
  --purple:#7C3AED;
  --maxw:1040px;
  --px:24px;
  --radius:20px;
}

/* ===== Grid wrapper ===== */
.tl-grid{
  position:relative;
}
.tl-grid__container{
  width:min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline:auto;
  padding-block: 20px 56px;
}
.tl-grid__list{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
}
@media (min-width:640px){
  .tl-grid__list{ grid-template-columns: repeat(2,1fr); gap:20px; }
}
@media (min-width:1024px){
  .tl-grid__list{ grid-template-columns: repeat(3,1fr); gap:24px; }
}

/* ===== Card (mantém suas animações) ===== */
.mentor-card{
  background: var(--card);
  border: 1px solid rgba(148,163,184,.10);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.mentor-card::before{
  content:"";
  position:absolute; inset:-1px;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(41,98,255,.25), rgba(124,58,237,.25));
  opacity:0; transition:opacity .2s ease;
  z-index:-1;
}
.mentor-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.mentor-card:hover::before{ opacity:1; }
.mentor-card__inner{ padding:20px; }

/* ===================================================================
   FOTOS PADRONIZADAS (SOLUÇÃO DEFINITIVA)
   1) Para seu HTML atual: .mentores .mentor-imgbox img
   2) Para o layout novo: .mentor-card__photo
   A abordagem com WRAPPER garante o círculo mesmo que algum CSS
   global tente forçar width:100% / height:auto em <img>.
   =================================================================== */

/* --- 1) Seu HTML atual: usa WRAPPER .mentor-imgbox como moldura circular --- */
.mentores .mentor-imgbox{
  width:120px !important;
  height:120px !important;
  border-radius:50% !important;
  overflow:hidden !important;                 /* recorte circular */
  border:3px solid #334155 !important;        /* borda discreta */
  box-shadow:0 4px 12px rgba(0,0,0,.30) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 12px auto !important;
  background:#0F172A;                         /* fundo neutro por trás da foto */
}
@media (min-width:1024px){
  .mentores .mentor-imgbox{ width:140px !important; height:140px !important; }
}

/* A imagem preenche a moldura circular */
.mentores .mentor-imgbox img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  border-radius:50% !important;               /* extra segurança */
  display:block !important;
  max-width:none !important;                   /* neutraliza img {max-width:100%} globais */
  border:none !important;                      /* borda já está no wrapper */
  box-shadow:none !important;
}

/* --- 2) Layout novo (sem wrapper): aplica direto na <img> --- */
.mentor-card__photo{
  width:120px !important;
  height:120px !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  border-radius:50% !important;
  display:block !important;
  margin:0 auto 12px auto !important;

  border:3px solid #334155 !important;        /* borda discreta */
  box-shadow:0 4px 12px rgba(0,0,0,.30) !important;
  max-width:none !important;
}
@media (min-width:1024px){
  .mentor-card__photo{ width:140px !important; height:140px !important; }
}

/* ===== Nome, chips, bio, CTA (sem mudanças funcionais) ===== */
.mentor-card__name{
  margin:2px 0 6px 0;
  text-align:center;
  font:700 20px/1.2 'Montserrat', system-ui, sans-serif;
  color:#fff;
}
.mentor-card__chips{
  display:flex; flex-wrap:wrap; gap:6px; justify-content:center;
  margin:4px 0 8px 0;
}
.chip{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font:600 12px/1 'Montserrat', system-ui, sans-serif;
  color:#fff;
  background:#334155;
  border:1px solid #475569;
}
.chip--blue{ background:var(--blue); border-color:transparent; }
.chip--purple{ background:var(--purple); border-color:transparent; }
.mentor-card__bio{
  margin:6px 0 12px 0;
  text-align:center;
  color:#CBD5E1;
  font:400 14px/1.55 'Montserrat', system-ui, sans-serif;
  min-height:3.1em;
}
.mentor-card__cta{
  display:inline-flex; justify-content:center; align-items:center;
  width:100%;
  border:none; cursor:pointer;
  border-radius:999px; padding:12px 18px;
  font:700 15px/1 'Montserrat', system-ui, sans-serif;
  color:#fff; background:linear-gradient(90deg, var(--blue), var(--purple));
  box-shadow:0 6px 18px rgba(41,98,255,.25), 0 2px 8px rgba(124,58,237,.2);
  text-decoration:none;
  transition:filter .2s, transform .1s;
}
.mentor-card__cta:hover{ filter:brightness(1.08); }
.mentor-card__cta:active{ transform:translateY(1px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-60539a8 */:root{
  --bg:#0B1220;
  --text:#E5E7EB;
  --blue:#2962FF;
  --purple:#7C3AED;
  --maxw:1040px;
  --px:24px;
  --radius:20px;
}


/* ===== Linha divisória superior da CTA ===== */
.tl-cta__divider{
  position: absolute;
  top: 0;     /* gruda no topo da seção */
  left: 0;
  right: 0;
  height: 1px;

  background-image: linear-gradient(90deg,
    rgba(41,98,255,0) 0%,
    rgba(41,98,255,.55) 25%,
    rgba(124,58,237,.55) 75%,
    rgba(124,58,237,0) 100%);
  opacity:.9;
  pointer-events:none;
  z-index:2;
}


/* ===== CTA (base) ===== */
.tl-cta{
  position: relative;
  color: var(--text);
  background:#0B1220;             /* base sólida */
  padding: 28px 0;
  overflow: hidden;                /* evita overflow */
  isolation:isolate;               /* separa camadas */
}
.tl-cta__container{
  width: min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline: auto;
  text-align: center;
  position: relative;
  z-index: 1;                      /* acima das camadas decorativas */
}


/* ===== Grid quadriculado sutil (como no Hero) ===== */
.tl-cta::before{
  content:"";
  position:absolute;
  /* bleed leve para não ‘marcar’ as bordas */
  inset:-36px -6vw -30px -6vw;
  background:
    linear-gradient(to right, rgba(148,163,184,.08) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(to bottom, rgba(148,163,184,.06) 1px, transparent 1px) 0 0 / 32px 32px;
  /* máscara: topo começa transparente, some suave no rodapé/laterais */
  -webkit-mask-image: radial-gradient(125% 90% at 50% 8%,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.55) 10%,
    rgba(0,0,0,.92) 40%,
    rgba(0,0,0,.92) 70%,
    rgba(0,0,0,.50) 86%,
    rgba(0,0,0,0) 100%);
          mask-image: radial-gradient(125% 90% at 50% 8%,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.55) 10%,
    rgba(0,0,0,.92) 40%,
    rgba(0,0,0,.92) 70%,
    rgba(0,0,0,.50) 86%,
    rgba(0,0,0,0) 100%);
  opacity:.85;
  pointer-events:none;
  z-index:0;
  animation: tl-cta-grid-pan 24s linear infinite;
}
@keyframes tl-cta-grid-pan{
  from { background-position: 0 0, 0 0; }
  to   { background-position: 64px 0, 0 64px; }
}
@media (prefers-reduced-motion: reduce){
  .tl-cta::before{ animation:none; }
}

/* ===== Iluminação central (glow) com fade longo ===== */
.tl-cta::after{
  content:"";
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom:-44px;                    /* abaixo para alongar o fade */
  width: 120%;
  max-width: 1200px;
  height: 420px;
  background:
    radial-gradient(56% 66% at 50% 46%,
      rgba(124,58,237,.14) 0%,
      rgba(41,98,255,.08) 38%,
      rgba(11,18,32,0) 76%);
  filter: blur(12px);
  opacity:.88;
  z-index:-1;
  -webkit-mask-image: linear-gradient(to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 68%,
    rgba(0,0,0,.55) 86%,
    rgba(0,0,0,.25) 93%,
    rgba(0,0,0,0) 100%);
          mask-image: linear-gradient(to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 68%,
    rgba(0,0,0,.55) 86%,
    rgba(0,0,0,.25) 93%,
    rgba(0,0,0,0) 100%);
}

/* ===== Tipografia e Botão ===== */
.tl-cta__title{
  margin: 0 0 8px 0;
  font-family:'Montserrat', system-ui, sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1.2;
  color:#fff;
  text-wrap: balance;
}
.tl-cta__subtitle{
  margin: 0 auto 16px auto;
  max-width: 60ch;
  font-family:'Montserrat', system-ui, sans-serif;
  font-weight:500;
  font-size:15px;
  line-height:1.65;
  color: rgba(229,231,235,.85);
}
.tl-cta__actions{
  display:flex; justify-content:center;
}
.tl-cta__btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  padding: 12px 18px;
  font: 700 14px/1 'Montserrat', system-ui, sans-serif;
  text-decoration: none;
  min-width: 180px;
  color:#fff;
  background: linear-gradient(90deg, var(--blue), var(--purple));
  box-shadow: 0 6px 18px rgba(41,98,255,.25), 0 2px 8px rgba(124,58,237,.2);
  transition: filter .2s, transform .1s;
}
.tl-cta__btn:hover{ filter: brightness(1.08); }
.tl-cta__btn:active{ transform: translateY(1px); }

/* ===== Responsivo ===== */
@media (max-width:480px){
  .tl-cta::before{
    inset:-32px -8vw -26px -8vw;
    opacity:.78;
  }
  .tl-cta::after{
    height: 380px;
    filter: blur(14px);
    opacity:.84;
  }
}
@media (min-width:1024px){
  .tl-cta{ padding: 48px 0; }
  .tl-cta__title{ font-size: 32px; }
  .tl-cta__subtitle{ font-size: 16px; }
  .tl-cta__btn{ font-size: 15px; padding: 14px 22px; min-width: 200px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-732c964 */:root{
  --bg:#0B1220; --text:#E5E7EB; --muted:#94A3B8;
  --blue:#2962FF; --purple:#7C3AED;
  --maxw:1040px; --px:24px; --radius:16px;
}

/* Seção FAQ */
.tl-faq{
  position:relative;
  background:#0B1220;
  color:var(--text);
  padding:24px 0 40px;
  overflow:hidden;
  isolation:isolate;
}

/* Linha divisória superior (igual Hero/CTA) */
.tl-faq__divider{
  position:absolute; top:0; left:0; right:0; height:1px; z-index:2;
  background-image: linear-gradient(90deg,
    rgba(41,98,255,0) 0%,
    rgba(41,98,255,.55) 25%,
    rgba(124,58,237,.55) 75%,
    rgba(124,58,237,0) 100%);
  opacity:.9; pointer-events:none;
}

/* Container */
.tl-faq__container{
  width:min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline:auto;
}

/* Título */
.tl-faq__title{
  margin:0 0 14px 0;
  font:700 22px/1.2 'Montserrat', system-ui, sans-serif;
  color:#fff;
  text-align:left;
}

/* Items */
.faq-item{
  background:#111827;
  border:1px solid rgba(148,163,184,.12);
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:10px;
  transition:border-color .2s ease, background-color .2s ease;
}
.faq-item[open]{
  background:#0F172A;
  border-color:rgba(124,58,237,.35);
}

/* Summary (pergunta) */
.faq-q{
  list-style:none;
  cursor:pointer;
  display:flex; align-items:flex-start; gap:10px;
  font:700 15px/1.35 'Montserrat', system-ui, sans-serif;
  color:#E5E7EB;
}
.faq-q::-webkit-details-marker{ display:none; }

/* Ícone + / – puro CSS */
.faq-q::before{
  content:"+";
  flex:0 0 auto;
  width:22px; height:22px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:6px;
  background: linear-gradient(90deg, var(--blue), var(--purple));
  color:#fff; font-weight:800;
  line-height:1; font-size:14px;
  transform: translateY(2px);
}
.faq-item[open] .faq-q::before{ content:"–"; }

/* Resposta */
.faq-a{
  margin:10px 0 4px 32px;
  color:rgba(229,231,235,.86);
  font:500 14px/1.6 'Montserrat', system-ui, sans-serif;
}

/* Hover/foco acessível */
.faq-item:focus-within{
  outline:none;
  box-shadow:0 0 0 2px rgba(41,98,255,.25), 0 0 0 4px rgba(124,58,237,.20);
  border-color: rgba(124,58,237,.45);
}

/* Desktop */
@media (min-width:1024px){
  .tl-faq{ padding:32px 0 56px; }
  .tl-faq__title{ font-size:26px; }
  .faq-q{ font-size:16px; }
  .faq-a{ font-size:15px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e1195b6 */:root{
  --bg:#0B1220; --text:#E5E7EB; --muted:#94A3B8;
  --blue:#2962FF; --purple:#7C3AED;
  --maxw:1040px; --px:24px; --radius:16px;
}

.tl-footer{
  position:relative;
  background:#0B1220;
  color:var(--text);
  overflow:hidden;
  isolation:isolate;
}

/* linha superior */
.tl-footer__divider{
  position:absolute; top:0; left:0; right:0; height:1px; z-index:2;
  background-image: linear-gradient(90deg,
    rgba(41,98,255,0) 0%,
    rgba(41,98,255,.55) 25%,
    rgba(124,58,237,.55) 75%,
    rgba(124,58,237,0) 100%);
  opacity:.9; pointer-events:none;
}

/* container */
.tl-footer__container{
  width:min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline:auto;
  padding:20px 0 10px;
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
}

/* brand */
.tl-footer__logo{
  display:inline-block;
  font:800 18px/1 'Montserrat', system-ui, sans-serif;
  letter-spacing:.3px;
  color:#fff;
}
.tl-footer__tagline{
  margin:8px 0 12px 0;
  color:rgba(229,231,235,.80);
  font:500 13.5px/1.6 'Montserrat', system-ui, sans-serif;
}

/* pagamentos */
.tl-footer__payments{
  margin-top:10px;
}
.pay-logo{
  max-height:32px;
  width:auto;
  display:block;
}

/* navegação */
.tl-footer__links{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; gap:12px;
}
.tl-footer__links a{
  color:#E5E7EB; text-decoration:none;
  font:600 14px/1 'Montserrat', system-ui, sans-serif;
  padding:8px 0;
  border-bottom:1px solid transparent;
  transition: color .2s, border-color .2s;
}
.tl-footer__links a:hover{
  color:#fff;
  border-color: rgba(124,58,237,.45);
}

/* base final */
.tl-footer__bottom{
  width:min(var(--maxw), 100% - (var(--px) * 2));
  margin-inline:auto;
  padding:12px 0 24px;
  border-top:1px solid rgba(148,163,184,.12);
}
.tl-footer__bottom p{
  margin:0;
  color:#94A3B8;
  font:500 12.5px/1.6 'Montserrat', system-ui, sans-serif;
}

/* desktop */
@media (min-width:1024px){
  .tl-footer__container{
    padding:28px 0 8px;
    grid-template-columns: 1.4fr 1fr; /* brand | nav */
    align-items:start;
  }
  .tl-footer__logo{ font-size:20px; }
  .tl-footer__tagline{ font-size:14px; }
  .pay-logo{ max-height:36px; }
}/* End custom CSS */