/* Estilos das páginas novas (privacidade, na mídia, blog).
   Apoiados nas variáveis e classes do vixtra.css original. */

.vx-pag{padding:calc(var(--vx-topo, 96px) + 48px) 0 72px}
.vx-pag .wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.vx-pag h1{font-size:clamp(30px,4vw,46px);line-height:1.12;margin:0 0 14px;letter-spacing:-.02em}
.vx-pag .vx-sub{color:var(--vx-ink-2, #5b6472);max-width:70ch;margin:0 0 28px}

.vx-texto{max-width:78ch}
.vx-texto h2{font-size:clamp(20px,2.4vw,26px);margin:38px 0 12px;letter-spacing:-.01em}
.vx-texto h3{font-size:18px;margin:26px 0 10px}
.vx-texto h4{font-size:16px;margin:0 0 6px}
.vx-texto p{margin:0 0 14px;line-height:1.7}
.vx-texto ul,.vx-texto ol{margin:0 0 16px;padding-left:22px}
.vx-texto li{margin:0 0 8px;line-height:1.65}
.vx-texto blockquote{margin:18px 0;padding:12px 18px;border-left:3px solid var(--vx-brand, #0b1b33);background:rgba(0,0,0,.03);border-radius:8px}
.vx-texto a{text-decoration:underline;text-underline-offset:2px}

.vx-caixas{list-style:none;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:18px 0 22px}
.vx-caixa{border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:16px;background:#fff}
.vx-linha-do-tempo{margin:18px 0 22px}
.vx-linha-do-tempo .vx-quando{opacity:.65;font-size:13px}
.vx-video{position:relative;padding-top:56.25%;margin:20px 0;border-radius:14px;overflow:hidden}
.vx-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.vx-cards{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.vx-card{border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:18px;background:#fff;height:100%;display:flex;flex-direction:column;gap:8px}
.vx-card h2,.vx-card h3{font-size:17px;margin:0;line-height:1.35}
.vx-card .vx-meta{font-size:13px;opacity:.65}
.vx-card p{margin:0;line-height:1.6}
.vx-card a.vx-cheio{position:static}
.vx-veiculo{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}

.vx-volta{display:inline-block;margin-bottom:18px;font-size:14px}
.vx-artigo-meta{font-size:14px;opacity:.7;margin:0 0 26px}

.vx-figura{margin:22px 0}
.vx-figura img{width:100%;height:auto;border-radius:14px;display:block}
.vx-figura figcaption{font-size:13px;opacity:.65;margin-top:8px;line-height:1.5}
.vx-capa{margin:0 0 26px}
.vx-capa img{width:100%;height:auto;border-radius:18px;display:block}
.vx-card .vx-thumb{display:block;margin:-18px -18px 4px}
.vx-card .vx-thumb img{width:100%;height:180px;object-fit:cover;border-radius:16px 16px 0 0;display:block}

/* ===========================================================================
   Correção 1 — geometria da Home.
   As páginas migradas são renderizadas dentro de um contêiner de rota, o que
   quebra os seletores de filho direto de #pg-index no vixtra.css. Aqui as
   MESMAS regras (vixtra.css, linhas 1922–1960) são repetidas com o contêiner
   .vx-page-root no caminho, dentro das MESMAS media queries. Nada do original
   foi alterado; isto é apenas um espelho do caminho de seletor.
   =========================================================================== */
@media (min-width:901px){
  #pg-index>.vx-page-root>.sec{
    min-height:calc(100vh - var(--vx-topo));
    min-height:calc(100dvh - var(--vx-topo));
    display:grid;
    align-content:center;
    align-content:safe center;
    padding-top:clamp(var(--s6),5vh,var(--s10));
    padding-bottom:clamp(var(--s6),5vh,var(--s10));
  }
  #pg-index>.vx-page-root>.sec.auto{min-height:0}
  #pg-index>.vx-page-root>.sec .h2{
    font-size:clamp(1.5rem,min(2.6vw,4.2vh),2.25rem);
  }
  #pg-index>.vx-page-root>.sec .head .lead{
    margin-bottom:clamp(var(--s4),2.5vh,var(--s7));
  }
  #pg-index>.vx-page-root>.sec .head{margin-bottom:clamp(var(--s5),3.5vh,var(--s8))}
}

@media (min-width:901px){
  #pg-index>.vx-page-root>#plataforma .telas3{margin-top:clamp(var(--s5),3vh,var(--s7))}
  #pg-index>.vx-page-root>#plataforma .companion{
    margin-top:clamp(var(--s5),4vh,var(--s9));
    padding-top:clamp(var(--s4),3vh,var(--s8));
  }
}

/* ===========================================================================
   Companion Comex Agent (Home) — a seção acompanha a altura do próprio
   conteúdo: o cartão do chat tem a altura da conversa (sem esticar até a
   coluna de texto) e o bloco não ocupa uma tela inteira como os demais da
   Home — cresce só até o fim do conteúdo. No mobile o .split já é uma
   coluna única e a regra de tela cheia não se aplica.
   =========================================================================== */
@media (min-width:901px){
  #pg-index>.vx-page-root>#plataforma{min-height:0}
  #pg-index>.vx-page-root>#plataforma .companion.split{align-items:flex-start}
  #pg-index>.vx-page-root>#plataforma .iac-wrap{align-self:flex-start}
}

/* Página 404 com a identidade do site */
.vx-404{min-height:70vh;display:grid;align-content:center;padding:96px 0}
.vx-404 .wrap{max-width:720px;margin:0 auto;padding:0 20px;text-align:center}
.vx-404-marca{height:34px;width:auto;margin:0 auto 26px;display:block}
.vx-404 h1{font-size:clamp(28px,4vw,42px);margin:10px 0 12px;letter-spacing:-.02em}
.vx-404 .vx-sub{margin:0 auto 26px;max-width:56ch}
.vx-404-acoes{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===========================================================================
   Correção de encaixe mobile — depoimentos (.car) em /credito e páginas irmãs.
   No 390px, o último cartão não alcançava o início do snap (ficava ~12px
   cortado e o botão Próximo permanecia habilitado). Ancorando o último cartão
   pelo fim, o fim da esteira fica alcançável sem alterar tamanho/estilo.
   =========================================================================== */
@media (max-width:820px){
  .car > .dcard:last-child,
  .car > figure:last-child{scroll-snap-align:end}
}

/* Tabelas comparativas no mobile: todas as colunas ficam visiveis de uma vez,
   sem corte ou rolagem lateral. A primeira coluna funciona como rotulo e as
   duas seguintes dividem igualmente o espaco restante. */
@media (max-width:820px){
  table.vx{
    display:table;width:100%;table-layout:fixed;overflow:visible;
    white-space:normal;background-image:none;border-radius:var(--r1)}
  table.vx th,table.vx td{
    min-width:0;padding:11px 9px;white-space:normal;
    overflow-wrap:anywhere;word-break:normal;hyphens:auto;
    font-size:.8125rem;line-height:1.45}
  table.vx th:first-child,table.vx td:first-child{width:27%}
  table.vx th:not(:first-child),table.vx td:not(:first-child){width:36.5%}
  table.vx th{font-size:.6875rem;line-height:1.3;letter-spacing:.07em}
}
@media (max-width:420px){
  table.vx th,table.vx td{padding:10px 7px;font-size:.75rem;line-height:1.4}
  table.vx th{font-size:.625rem;letter-spacing:.05em}
}

/* ===========================================================================
   Aviso de cookies / preferências de medição.
   Fixo, discreto, com a tipografia e as cores do site. Não empurra layout.
   =========================================================================== */
.vx-ck{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;justify-content:center;padding:14px;pointer-events:none;font-family:var(--vx-font)}
.vx-ck-caixa{pointer-events:auto;max-width:960px;width:100%;background:#fff;color:var(--vx-navy);border:1px solid var(--vx-border);border-radius:14px;box-shadow:0 12px 32px rgba(11,20,45,.18);padding:16px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.vx-ck-texto{flex:1 1 320px;margin:0;font-size:14px;line-height:1.5}
.vx-ck-texto a{color:var(--vx-link);text-decoration:underline}
.vx-ck-acoes{display:flex;gap:10px;flex-wrap:wrap}
.vx-ck-b{font:inherit;font-size:14px;line-height:1;padding:11px 16px;border-radius:999px;border:1px solid var(--vx-navy);background:#fff;color:var(--vx-navy);cursor:pointer}
.vx-ck-b:hover{background:var(--vx-cinza-claro)}
.vx-ck-b.pd{background:var(--vx-navy);color:#fff}
.vx-ck-b.pd:hover{background:var(--vx-action-hover)}
.vx-ck-b.link{border-color:transparent;text-decoration:underline;padding-left:6px;padding-right:6px}
.vx-ck-b:focus-visible{outline:3px solid var(--vx-focus-ring);outline-offset:2px}
.vx-ck-prefs{flex:1 1 100%;border-top:1px solid var(--vx-border);margin-top:4px;padding-top:12px;font-size:14px}
.vx-ck-prefs h2{font-size:15px;margin:0 0 8px}
.vx-ck-linha{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.vx-ck-linha p{margin:2px 0 0;font-size:13px;line-height:1.45}
.vx-ck-aba{position:fixed;left:14px;bottom:14px;z-index:9998;font-family:var(--vx-font);font-size:13px;line-height:1;padding:9px 13px;border-radius:999px;border:1px solid var(--vx-border);background:#fff;color:var(--vx-navy);box-shadow:0 6px 18px rgba(11,20,45,.14);cursor:pointer;opacity:.85}
.vx-ck-aba:hover{opacity:1}
.vx-ck-aba:focus-visible{outline:3px solid var(--vx-focus-ring);outline-offset:2px}
/* Mantém as ações de consentimento livres do lançador do chat em telas menores. */
@media (max-width:1200px){
  body:has(#hubspot-messages-iframe-container) .vx-ck{bottom:96px;max-height:calc(100dvh - 96px);overflow-y:auto}
}
@media (max-width:820px){
  body:has(#hubspot-messages-iframe-container) .vx-ck{bottom:312px;max-height:calc(100dvh - 328px)}
}
@media (min-width:821px){
  body:has(#hubspot-messages-iframe-container) .vx-ck{right:300px;bottom:0;max-height:calc(100dvh - 28px);overflow-y:auto}
}
@media (max-width:640px){
  .vx-ck-caixa{padding:14px}
  .vx-ck-acoes{width:100%}
  .vx-ck-b{flex:1 1 auto;text-align:center}
}

/* Trade Banking: marcadores ✕ da coluna "nao e" com fundo #F4E8E8 e X #831A1A */
.dcol.nao li i{background:#F4E8E8;color:#831A1A}

/* Topo sem a faixa de WhatsApp: o offset passa a acompanhar so a navegacao fixa. */
:root{--vx-topo:80px}
html{scroll-padding-top:var(--vx-topo,80px)}
[id]{scroll-margin-top:var(--vx-topo,80px)}
.anc{top:var(--vx-topo,80px)}
@media(max-width:1024px){:root{--vx-topo:64px}}

/* ===========================================================================
    ESTRUTURA FINANCEIRA · home — composição editorial em dois lados
    Título em cima, dois blocos (FIDC próprio | Série A) separados por um fio vertical.
    Sem fios horizontais entre seções; logos/nomes soltos, sem caixa, sem card.
    =========================================================================== */
  .estr{display:block}
  .estr-topo{max-width:44rem}
  .estr-cols{
    display:grid;grid-template-columns:46fr 54fr;gap:0;
    margin-top:var(--s7)}
  .estr-col{padding-right:var(--s6);display:flex;flex-direction:column}
  .estr-col + .estr-col{
    padding-right:0;padding-left:var(--s6);
    border-left:1px solid rgba(39,170,225,.30)}
.estr-col .estr-cap{margin-top:0}
.estr-col .estr-lead{margin-top:var(--s2, 6px)}
.estr-lbl{display:flex;align-items:center;gap:var(--s4)}
.estr-lbl>div{padding-left:var(--s4);border-left:1px solid rgba(39,170,225,.30)}
.estr-ic{width:40px;height:40px;flex:0 0 auto;
  fill:none;stroke:var(--vx-cyan-600);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.estr .invr{
  display:flex;flex-wrap:wrap;align-items:center;
  margin-top:var(--s6);gap:var(--s5) var(--s5)}
.estr .invr img{display:block;width:auto;height:26px;max-width:100%;
  object-fit:contain}
.estr .invr img[alt="Itaú"]{height:38px}
.estr .invr img[alt="Credit Saison"]{height:34px}
.estr-col + .estr-col .invr img{height:22px}
@media(max-width:1024px){
  .estr-cols{grid-template-columns:1fr}
  .estr-col{padding-right:0}
  .estr-col + .estr-col{
    padding-left:0;margin-top:var(--s6);
    border-left:0}
}
@media(max-width:600px){
  .estr .invr{gap:var(--s4) var(--s5)}
  .estr .invr img{height:24px}
  .estr .invr img[alt="Itaú"]{height:34px}
  .estr .invr img[alt="Credit Saison"]{height:30px}
  .estr-col + .estr-col .invr img{height:20px}
}

/* faixa institucional de investidores do FIDC · quem somos */
.faixainv{
  margin-top:var(--s7);padding-top:var(--s6);
  border-top:1px solid var(--vx-border)}
.faixainv .estr-cap{margin-top:0}
.faixainv .estr-lead{margin-top:var(--s3)}
.faixainv .invr{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:var(--s4) var(--s5);margin-top:var(--s6)}
.faixainv .invr img{display:block;width:auto;height:26px;max-width:100%;object-fit:contain}
.faixainv .invr img[alt="Itaú"]{height:38px}
.faixainv .invr img[alt="Credit Saison"]{height:34px}
.faixainv .estr-col + .estr-col .invr img{height:22px}
@media(max-width:600px){
  .faixainv .invr img{height:24px}
  .faixainv .invr img[alt="Itaú"]{height:34px}
  .faixainv .invr img[alt="Credit Saison"]{height:30px}
  .faixainv .estr-col + .estr-col .invr img{height:20px}
}

/* Parcerias: sem régua de investidores no hero; títulos limitados a três linhas. */
#pg-parceiro-indicador .hero.foto h1,
#pg-parceiro-comex .hero.foto h1,
#pg-assessores .hero.foto h1{max-width:24ch;text-wrap:balance}
@media(max-width:600px){
  #pg-parceiro-indicador .hero.foto h1,
  #pg-parceiro-comex .hero.foto h1,
  #pg-assessores .hero.foto h1{max-width:none;font-size:clamp(1.55rem,7vw,2.2rem);line-height:1.08}
}

/* faixa institucional em versao clara — usada nas paginas de parceria, onde a
   secao passou a vir logo abaixo do hero navy e dois navys se encostariam. */
.faixa.clara{background:var(--vx-surface-2);color:var(--vx-navy)}
.faixa.clara .vmark{opacity:.05}
.faixa.clara .ov.d{color:var(--vx-cyan-700)}
.faixa.clara .par b{color:var(--vx-cyan-700)}
.faixa.clara .sub{color:var(--vx-ink-2,#4a5560)}

/* Logo do rodape: altura fixa do CSS original + width attribute achatava a imagem.
   +15% proporcional: 24px -> 27.6px, largura acompanha a proporcao do arquivo */
.foot img{width:auto;height:27.6px}

/* Quem Somos — midia: 6 clippings em 3 colunas x 2 linhas, cards compactos */
#pg-quem-somos .midia-6{grid-template-columns:repeat(3,1fr);gap:var(--s4)}
#pg-quem-somos .midia-6 .mit{padding:var(--s5);gap:var(--s2)}
#pg-quem-somos .midia-6 .mit .tt{font-size:var(--fs-bs)}
@media(max-width:900px){#pg-quem-somos .midia-6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){#pg-quem-somos .midia-6{grid-template-columns:1fr}}

/* Seletor de idioma oculto neste primeiro momento (PT/EN continua no ar em /en) */
.nav .lang,.lang[data-vx-idioma]{display:none!important}

/* Fundadores: fotos menores para o bloco acompanhar o conteudo.
   O width em % derruba a altura na mesma proporcao do 4:5, sem cortar
   cabeca/ombros (o enquadramento continua sendo do proprio arquivo). */
.pessoa-foto{width:72%;max-width:280px}
@media(max-width:820px){.pessoa-foto{width:64%;max-width:240px}}

/* HubSpot nativo: o cartao continua com a geometria original do .form, mas o
   conteudo exibido passa a ser apenas o iframe oficial do HubSpot. */
.vx-hubspot-form{position:relative}
.vx-hubspot-target{min-height:320px;transition:opacity .18s ease}
.vx-hubspot-form[data-vx-hubspot-state="loading"] .vx-hubspot-target{opacity:0;pointer-events:none}
.vx-hubspot-form[data-vx-hubspot-state="ready"] .vx-hubspot-target{opacity:1}
.vx-hubspot-form iframe{width:100%;border:0;display:block}
.vx-hubspot-status{margin:var(--s3) 0 0;font-size:var(--fs-cap);line-height:1.5;color:var(--vx-ink-2)}
.vx-hubspot-form[data-vx-hubspot-state="ready"] .vx-hubspot-status{display:none}
.vx-hubspot-retry{font:inherit;font-size:var(--fs-cap);color:var(--vx-link);background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.vx-hubspot-retry:focus-visible{outline:2px solid var(--vx-cyan-500);outline-offset:3px}
