:root {
  --fundo: #021f4f; --fundo-profundo: #01143a;
  --superficie: rgba(255,255,255,.045); --superficie-forte: rgba(255,255,255,.08);
  --borda: rgba(255,255,255,.16); --borda-forte: rgba(255,255,255,.28);
  --texto: #eef4ff; --texto-suave: #b7cdf0; --texto-fraco: #a0b9dd;
  --primaria: #4d8ef7; --primaria-clara: #92c3ff; --realce: #bae0ff;
  --verde: #4ade80; --raio: 18px; --raio-g: 24px;
  --sombra: 0 24px 60px -28px rgba(0,0,0,.75);
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 100px; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--texto); background: var(--fundo); font-family: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 17px; line-height: 1.65; }
img, svg { max-width: 100%; }
img { display: block; height: auto; }
button { font: inherit; cursor: pointer; }
a { color: var(--primaria-clara); text-decoration: none; text-underline-offset: 4px; }
a:hover { color: #fff; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.16; text-wrap: balance; }
p { text-wrap: pretty; }
h1 { letter-spacing: -.035em; }
h2 { letter-spacing: -.025em; }
ul, ol { padding: 0; margin: 0; list-style: none; }
:focus-visible { outline: 3px solid #bae0ff; outline-offset: 5px; border-radius: 5px; }
.container { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: clamp(20px,5vw,52px); }
.conteudo { position: relative; z-index: 1; }
.brilhos { position: fixed; inset: 0; pointer-events: none; z-index: 0; background: radial-gradient(60rem 40rem at 90% -10%,rgba(14,165,233,.18),transparent 65%), radial-gradient(42rem 44rem at -10% 40%,rgba(56,130,246,.1),transparent 65%), linear-gradient(180deg,var(--fundo),var(--fundo-profundo)); }
.pular-para-conteudo { position: fixed; left: -9999px; top: 12px; z-index: 999; padding: 10px 18px; background: #bae0ff; color: #01143a; border-radius: 10px; }
.pular-para-conteudo:focus { left: 16px; color: #01143a; }
.icone { width: 21px; height: 21px; flex: 0 0 auto; }
.foguete { width: 18px; height: auto; }
.cabecalho { position: sticky; top: 0; z-index: 50; background: #021c46; border-bottom: 1px solid var(--borda); }
.cabecalho__interno { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.marca { flex-shrink: 0; }
.marca img { width: 124px; }
.navegacao { display: flex; align-items: center; gap: 18px; }
.navegacao a { font-size: 14px; color: var(--texto-suave); min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
.navegacao a:hover { color: white; text-decoration: underline; }
.navegacao__login { white-space: nowrap; }
.cabecalho__acao .botao { font-size: 13px; padding-inline: 16px; }
.alternar-menu { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--borda-forte); border-radius: 10px; background: var(--superficie); color: var(--texto); }
.botao { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 48px; padding: 13px 20px; border-radius: 11px; border: 1px solid transparent; font-size: 15px; line-height: 1.4; font-weight: 700; text-align: center; transition: background-color .15s ease,border-color .15s ease; }
.botao--verde { background: var(--verde); color: #04240f; }
.botao--verde:hover { background: #86efac; color: #04240f; }
.botao--contorno { background: transparent; border-color: var(--borda-forte); color: var(--texto); }
.botao--contorno:hover { background: var(--superficie-forte); border-color: var(--primaria-clara); }
.heroi { padding-top: clamp(30px,4vw,52px); padding-bottom: 52px; }
.heroi__grade { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.9fr); gap: 58px; align-items: center; }
.rotulo { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; color: var(--realce); font-size: 12px; line-height: 1.5; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.heroi h1 { font-size: clamp(34px,3.9vw,54px); max-width: 710px; }
.heroi__texto { margin-top: 20px; max-width: 660px; font-size: 18px; line-height: 1.65; color: var(--texto-suave); }
.heroi__acoes { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.heroi__observacao { color: var(--texto-fraco); font-size: 13px; margin-top: 12px; }
.beneficios-curtos { display: grid; gap: 9px; margin-top: 24px; }
.beneficios-curtos li { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; color: var(--texto-suave); }
.beneficios-curtos svg { color: var(--verde); }
.caminho { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 25px; font-size: 12px; color: var(--texto-suave); }
.caminho a { text-decoration: underline; }
.painel-integrado { padding: 28px; border: 1px solid var(--borda-forte); border-radius: var(--raio-g); background: linear-gradient(140deg,rgba(77,142,247,.13),rgba(255,255,255,.04)); box-shadow: var(--sombra); }
.painel-integrado h2 { font-size: 28px; }
.fluxo { display: grid; gap: 22px; margin-top: 28px; }
.fluxo li { display: flex; gap: 14px; }
.fluxo__numero { display: grid; place-items: center; width: 35px; height: 35px; flex-shrink: 0; border: 1px solid var(--borda-forte); border-radius: 10px; color: var(--realce); font-size: 12px; }
.fluxo h3 { font-size: 16px; margin: 2px 0 5px; }
.fluxo p { font-size: 14px; line-height: 1.5; color: var(--texto-suave); }
.painel-integrado__base { display: flex; align-items: center; gap: 10px; color: var(--realce); font-size: 13px; border-top: 1px solid var(--borda); padding-top: 18px; margin-top: 26px; }
.confianca { padding-top: 24px; padding-bottom: 26px; }
.confianca__introducao { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-bottom: 20px; }
.confianca h2 { font-size: 17px; letter-spacing: 0; }
.confianca__introducao p { font-size: 11px; color: var(--texto-fraco); }
.confianca__numeros { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 0; padding-block: 24px; border-block: 1px solid var(--borda); }
.confianca__numeros div { display: flex; flex-direction: column-reverse; }
.confianca dt { color: var(--texto-suave); font-size: 13px; }
.confianca dd { margin: 0; font-size: clamp(29px,3vw,40px); line-height: 1.3; font-weight: 700; letter-spacing: -.02em; }
.confianca dd span { font-size: 18px; color: var(--realce); }
.secao { padding-block: clamp(48px,6vw,76px); }
.cabecalho-secao { max-width: 780px; margin-bottom: 32px; }
.cabecalho-secao h2, .chamada-final h2 { font-size: clamp(29px,3.3vw,42px); }
.cabecalho-secao > p:not(.rotulo) { margin-top: 18px; color: var(--texto-suave); font-size: 17px; }
.grade-solucoes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.cartao { min-width: 0; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--superficie); padding: 26px; }
.cartao h3 { font-size: 21px; }
.cartao > p { margin-top: 14px; font-size: 15px; color: var(--texto-suave); }
.cartao__icone { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: rgba(77,142,247,.18); color: var(--realce); margin-bottom: 20px; }
.solucao { display: flex; flex-direction: column; }
.solucao .botao { margin-top: 24px; font-size: 14px; }
.solucao .lista-marcada { flex: 1; }
.lista-marcada { display: grid; gap: 10px; margin-top: 20px; }
.lista-marcada li { display: flex; gap: 9px; font-size: 14px; color: var(--texto-suave); }
.lista-marcada .icone { color: var(--primaria-clara); margin-top: 2px; width: 18px; height: 18px; }
.chamada-linha { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 22px 26px; border: 1px solid var(--borda); border-radius: var(--raio); }
.chamada-linha p { font-size: 18px; font-weight: 600; }
.chamada-linha .botao { flex-shrink: 0; }
.faixa-fiscal { background: rgba(77,142,247,.07); border-block: 1px solid var(--borda); }
.destaque-duplo { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 50px; align-items: start; }
.documentos-fiscais { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.documentos-fiscais article { border: 1px solid var(--borda); border-radius: var(--raio); padding: 22px; background: #082754; }
.selo-fiscal { display: inline-flex; padding: 4px 10px; font-size: 16px; font-weight: 700; color: #01143a; background: var(--realce); border-radius: 7px; margin-bottom: 18px; }
.documentos-fiscais h3 { font-size: 16px; margin-bottom: 10px; }
.documentos-fiscais p { font-size: 14px; color: var(--texto-suave); }
.nota-discreta { margin-top: 22px; font-size: 12px; line-height: 1.7; color: var(--texto-fraco); }
.destaque-oficinas { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); gap: 44px; align-items: center; border: 1px solid rgba(146,195,255,.4); border-radius: var(--raio-g); padding: clamp(22px,4vw,42px); background: linear-gradient(145deg,rgba(77,142,247,.14),rgba(255,255,255,.025)); }
.roteiro-oficina { border-left: 1px solid var(--borda-forte); padding-left: 32px; }
.roteiro-oficina ol { display: grid; gap: 28px; }
.roteiro-oficina li { display: flex; gap: 16px; }
.roteiro-oficina li > span { color: var(--primaria-clara); font-size: 22px; }
.roteiro-oficina h3 { font-size: 18px; }
.roteiro-oficina p { margin-top: 7px; color: var(--texto-suave); font-size: 14px; }
.grade-beneficios { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.grade-beneficios article { border-left: 2px solid var(--primaria); padding-left: 20px; }
.grade-beneficios h3 { font-size: 19px; margin-bottom: 12px; }
.grade-beneficios p { color: var(--texto-suave); font-size: 15px; }
.bancos { margin-top: 26px; padding: 18px 22px; border: 1px solid var(--borda); border-radius: 12px; font-size: 14px; }
summary { cursor: pointer; }
.bancos summary { color: var(--realce); }
.bancos p { margin-top: 12px; color: var(--texto-suave); }
.passos { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; }
.passo__numero { color: var(--primaria-clara); font-size: 14px; display: block; margin-bottom: 16px; border-top: 1px solid var(--borda-forte); padding-top: 16px; }
.passos h3 { font-size: 18px; }
.passos p { font-size: 14px; color: var(--texto-suave); margin-top: 10px; }
.planos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.plano { display: flex; flex-direction: column; padding: clamp(24px,3vw,38px); }
.plano--destaque { border-color: var(--primaria-clara); background: rgba(77,142,247,.09); }
.plano .rotulo { margin-top: 0; color: var(--realce); }
.plano__preco { margin-top: 26px; }
.plano__preco > span { color: var(--texto-suave); font-size: 13px; }
.plano__preco strong { display: block; font-size: clamp(32px,4vw,48px); line-height: 1.4; letter-spacing: -.04em; }
.plano__preco small { font-size: 16px; letter-spacing: 0; color: var(--texto-suave); }
.plano__preco p { font-size: 14px; color: var(--texto-suave); margin-top: 10px; }
.plano__preco .plano__consulta { font-size: clamp(25px,3vw,34px); letter-spacing: -.025em; }
.plano .lista-marcada { margin-block: 28px; flex: 1; }
.faq { max-width: 960px; }
.faq details { border-bottom: 1px solid var(--borda-forte); }
.faq summary { padding: 23px 0; font-size: 17px; font-weight: 600; }
.faq p { padding-bottom: 24px; color: var(--texto-suave); font-size: 15px; max-width: 840px; }
.chamada-final { text-align: center; background: linear-gradient(145deg,rgba(77,142,247,.22),rgba(255,255,255,.045)); border: 1px solid var(--borda-forte); border-radius: var(--raio-g); padding: clamp(26px,5vw,60px); }
.chamada-final .rotulo { justify-content: center; }
.chamada-final > p:not(.rotulo) { margin: 18px auto 0; max-width: 660px; color: var(--texto-suave); }
.chamada-final .heroi__acoes { justify-content: center; }
.contato-direto { display: inline-block; margin-top: 24px; text-decoration: underline; font-size: 14px; }
.rodape { border-top: 1px solid var(--borda); padding-block: 48px 28px; font-size: 14px; color: var(--texto-suave); }
.rodape__grade { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap: 44px; }
.rodape img { width: 124px; margin-bottom: 18px; }
.rodape h2 { font-size: 15px; letter-spacing: 0; color: var(--realce); margin-bottom: 16px; }
.rodape ul { display: grid; gap: 10px; }
.rodape a { color: var(--texto-suave); }
.rodape a:hover { color: white; text-decoration: underline; }
.rodape .botao { margin-top: 20px; color: #04240f; font-size: 14px; }
.rodape__base { border-top: 1px solid var(--borda); margin-top: 34px; padding-top: 22px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--texto-fraco); }
.whatsapp-flutuante { position: fixed; right: 18px; bottom: 18px; z-index: 60; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: var(--verde); color: #04240f; border: 2px solid #01143a; box-shadow: var(--sombra); }
.whatsapp-flutuante:hover { color: #04240f; background: #86efac; }
.whatsapp-flutuante .icone { width: 27px; height: 27px; }
.preferencias-cookies { padding: 0; border: 0; background: transparent; color: var(--texto-suave); font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
.preferencias-cookies:hover { color: #fff; }
.aviso-cookies { position: fixed; left: 16px; bottom: 16px; z-index: 100; width: min(520px,calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 22px; border: 1px solid var(--borda-forte); border-radius: var(--raio); background: var(--fundo-profundo); box-shadow: var(--sombra); font-size: 13px; line-height: 1.6; color: var(--texto-suave); }
.aviso-cookies h2 { color: var(--texto); font-size: 19px; margin-bottom: 10px; }
.aviso-cookies p + p { margin-top: 10px; }
.aviso-cookies a { text-decoration: underline; }
.aviso-cookies__acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.aviso-cookies__acoes .botao { flex: 1 1 180px; font-family: inherit; font-size: 13px; padding: 10px; }
.aviso-cookies__fechar { margin-top: 12px; }
body[data-consentimento-aberto='true'] .whatsapp-flutuante { visibility: hidden; }
@media (max-width: 1280px) { .cabecalho__acao { display: none; } }
@media (max-width: 1140px) {
  .heroi__grade { gap: 30px; }
}
@media (min-width: 1025px) { .alternar-menu { display: none; } }
@media (max-width: 1024px) {
  .cabecalho__interno { min-height: 72px; flex-wrap: wrap; gap: 0; padding-block: 8px; }
  .marca img { width: 108px; }
  .navegacao { flex-basis: 100%; flex-wrap: wrap; gap: 4px 24px; padding-top: 10px; }
  body[data-interativo='true'] .navegacao { display: none; }
  body[data-interativo='true'] .navegacao[data-aberto='true'] { display: flex; max-height: calc(100dvh - 90px); overflow-y: auto; }
}
@media (max-width: 860px) {
  .heroi__grade { grid-template-columns: minmax(0,1fr); }
  .heroi { padding-top: 28px; padding-bottom: 34px; }
  .heroi h1 { max-width: 690px; font-size: clamp(34px,5.7vw,45px); }
  .heroi__texto { font-size: 17px; }
  .painel-integrado { margin-top: 10px; }
  .grade-solucoes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .destaque-duplo, .destaque-oficinas { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .roteiro-oficina { border-left: 0; border-top: 1px solid var(--borda); padding-left: 0; padding-top: 24px; }
  .roteiro-oficina ol { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
  .roteiro-oficina li { display: block; }
  .passos { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .chamada-linha { align-items: flex-start; flex-direction: column; }
  .rodape__grade { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rodape__grade > div { grid-column: 1 / -1; max-width: 540px; }
}
@media (max-width: 560px) {
  html { scroll-padding-top: 86px; }
  .container { padding-inline: 20px; }
  .rotulo { font-size: 11px; letter-spacing: .1em; }
  .heroi h1 { font-size: 34px; line-height: 1.13; }
  .heroi__texto { margin-top: 16px; font-size: 16px; line-height: 1.6; }
  .heroi__acoes { gap: 10px; margin-top: 20px; }
  .heroi__acoes .botao { width: 100%; }
  .heroi__observacao { font-size: 12px; }
  .beneficios-curtos { gap: 9px; margin-top: 20px; }
  .beneficios-curtos li { font-size: 13px; }
  .painel-integrado { padding: 24px; }
  .painel-integrado h2 { font-size: 26px; }
  .confianca__numeros { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .confianca dt { font-size: 12px; }
  .grade-solucoes, .planos, .grade-beneficios, .rodape__grade { grid-template-columns: minmax(0,1fr); }
  .cartao { padding: 24px; }
  .documentos-fiscais { gap: 12px; }
  .documentos-fiscais article { padding: 17px; }
  .documentos-fiscais h3 { font-size: 15px; }
  .documentos-fiscais p { font-size: 13px; }
  .roteiro-oficina ol { grid-template-columns: minmax(0,1fr); }
  .roteiro-oficina li { display: flex; }
  .passos { gap: 24px 18px; }
  .passos h3 { font-size: 16px; }
  .passos p { font-size: 13px; }
  .chamada-linha { padding: 22px; }
  .chamada-linha .botao { width: 100%; }
  .plano__preco strong { font-size: 37px; }
  .rodape { padding-bottom: 90px; }
  .whatsapp-flutuante { display: none; }
  .aviso-cookies { padding: 18px; font-size: 12px; }
}
@media (max-width: 375px) {
  .heroi { padding-top: 22px; }
  .heroi h1 { font-size: 30px; }
  .heroi__texto { font-size: 15px; }
  .caminho { margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Leitura e conteúdo educativo preservam a tipografia e as cores do site. */
.somente-leitor { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.heroi--leitura { max-width: 1020px; padding-bottom: 22px; }
.heroi--leitura h1 { max-width: 920px; }
.heroi--leitura .heroi__texto { max-width: 800px; }
.leitura { max-width: 960px; }
.bloco-leitura { padding-block: 36px; border-bottom: 1px solid var(--borda); }
.bloco-leitura h2, .fontes-leitura h2 { font-size: clamp(24px,3vw,32px); line-height: 1.25; }
.bloco-leitura p, .fontes-leitura p { margin-top: 18px; color: var(--texto-suave); }
.bloco-leitura ul, .fontes-leitura ul { list-style: disc; padding-left: 24px; margin-top: 20px; color: var(--texto-suave); }
.bloco-leitura li + li, .fontes-leitura li + li { margin-top: 10px; }
.leitura a, .indice-leitura a, .guia-cartao a, .atalho-faq a { color: var(--texto); text-decoration: underline; text-underline-offset: 4px; }
.leitura a:hover, .indice-leitura a:hover, .guia-cartao a:hover, .atalho-faq a:hover { color: var(--verde); }
.links-contextuais .icone, .guia-cartao .icone { display: inline-block; width: 16px; vertical-align: middle; }
.bloco-leitura .links-contextuais { list-style: none; padding-left: 0; }
.indice-leitura { margin-top: 30px; padding: 22px 26px; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--superficie); font-size: 15px; }
.indice-leitura ul { list-style: disc; padding-left: 22px; margin-top: 10px; }
.indice-leitura li + li { margin-top: 7px; }
.guia-cartao { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.guia-cartao h3 { font-size: 21px; line-height: 1.4; }
.guia-cartao > a { margin-top: auto; font-size: 15px; }
.atalho-faq { margin-top: 24px; }
.fontes-leitura { padding-top: 30px; padding-bottom: 30px; font-size: 15px; }
.tabela-rolavel { overflow-x: auto; margin-top: 22px; border: 1px solid var(--borda-forte); border-radius: 12px; }
.ajuda-tabela { display: none; }
.tabela-rolavel table { width: 100%; border-collapse: collapse; font-size: 15px; text-align: left; }
.tabela-rolavel caption { padding: 16px; font-weight: 700; text-align: left; }
.tabela-rolavel th, .tabela-rolavel td { padding: 16px; border-top: 1px solid var(--borda); vertical-align: top; min-width: 110px; }
.tabela-rolavel td { color: var(--texto-suave); }
.tabela-rolavel thead { background: var(--superficie); }
@media (max-width: 560px) {
  .leitura { font-size: 16px; }
  .bloco-leitura { padding-block: 28px; }
  .indice-leitura { padding: 18px; font-size: 14px; }
  .tabela-rolavel th, .tabela-rolavel td { min-width: 130px; padding: 12px; }
  .tabela-rolavel th:first-child { min-width: 76px; }
  .bloco-leitura .ajuda-tabela { display: block; font-size: 13px; }
}
