/* KABINA — site institucional · v0.5.1 · folha de estilos única
   Identidade visual v1.0 (homologada 15/09/2026). Recursos 100% locais. Layout fluido, sem largura máxima global.
   Tipografia (guia v1.0): título principal Montserrat 700 · títulos de seção, cartões e etapas Montserrat 600 · rótulos e interface Inter 600 · texto Inter 400 · navegação e assinatura Inter 500. */

/* ---------- Fontes (OFL 1.1, arquivos em assets/fonts — só os pesos usados) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/montserrat-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/montserrat-latin-700-normal.woff2") format("woff2")}

/* ---------- Paleta (guia v1.0) e medidas ---------- */
:root{
  --ciano:#02D9FC; --azul:#0182FC; --profundo:#0046FB;
  --escuro:#0A1733; --painel:#0F2044; --painel2:#142A54; --linha:#1F3A6E;
  --texto-claro:#E8EEFC; --neutro:#8FA9D4;
  --claro-fundo:#F6F8FB; --claro-borda:#E1E7F2; --claro-texto:#0A1733; --claro-texto-2:#3F4E6B;
  --titulo:"Montserrat","Inter",Arial,Helvetica,sans-serif;
  --texto:"Inter",-apple-system,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;
  --raio:8px;
  --margem:24px;          /* preenchimento lateral: 24 px até 600 · 32 px de 601 a 1199 · 48 px a partir de 1200 */
  --topo-h:80px;          /* altura do cabeçalho fixo: 80 px (tablet e celular) · 96 px (computador); compensada no body e nas âncoras */
  --secao:48px;           /* espaço vertical entre seções: 48 px no celular · 72 px no computador */
  --tracejado-v:repeating-linear-gradient(180deg,var(--ciano) 0 24px,transparent 24px 36px);
  --tracejado-claro-v:repeating-linear-gradient(180deg,var(--profundo) 0 24px,transparent 24px 36px);
}
@media (min-width:601px){:root{--margem:32px}}
@media (min-width:901px){:root{--secao:72px}}
@media (min-width:1200px){:root{--margem:48px;--topo-h:96px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topo-h) + 24px)}
body{margin:0;padding-top:var(--topo-h);font-family:var(--texto);font-size:16px;line-height:1.6;color:var(--claro-texto);background:var(--claro-fundo)}
@media (min-width:901px){body{font-size:17px}}
img{max-width:100%;height:auto;display:block}
a{color:var(--profundo)}
h1,h2,h3,h4{font-family:var(--titulo);font-weight:600;margin:0 0 16px;letter-spacing:-.01em;color:var(--claro-texto)}
h1{font-weight:700;font-size:32px;line-height:1.15}
h2{font-size:25px;line-height:1.25}
h3{font-size:20px;line-height:1.3;margin-bottom:8px}
h4{font-size:17px;line-height:1.3}
@media (min-width:901px){h1{font-size:44px}h2{font-size:30px}}
p{margin:0 0 16px}
p:last-child{margin-bottom:0}
b,strong{font-weight:600}                                        /* negrito com arquivo real (Inter 600); sem peso sintetizado */
.lead{font-size:18px;line-height:1.55}
@media (min-width:901px){.lead{font-size:20px}}
.container{width:100%;padding-inline:var(--margem)}          /* sem largura máxima: o eixo da margem é único para marca, títulos e blocos */
.leitura{max-width:65ch}                                        /* textos de apresentação */
main p,.pontos li,.estagio li{max-width:70ch}                    /* nenhum parágrafo corre além da largura de leitura */
.texto-corrido{max-width:70ch}                                  /* texto corrido (privacidade) */
.rotulo{display:block;font-weight:600;font-size:13px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--profundo);margin-bottom:12px}
.escuro .rotulo,.hero-interno .rotulo{color:var(--ciano)}
.assinatura{font-family:var(--texto);font-weight:500;font-size:13px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--ciano)}
.legenda{font-size:13px;line-height:1.4;color:var(--claro-texto-2);margin:8px 0 0}
.escuro .legenda,.hero-interno .legenda,.hero-inicio .legenda{color:var(--neutro)}
.mudo{color:var(--claro-texto-2)}
.escuro .mudo{color:var(--neutro)}
.espaco-topo{margin-top:24px}
.espaco-grande{margin-top:40px}
.visualmente-oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[id]{scroll-margin-top:calc(var(--topo-h) + 24px)}
:focus-visible{outline:3px solid var(--ciano);outline-offset:3px;border-radius:4px}
.claro :focus-visible,.branco :focus-visible{outline-color:var(--profundo)}
.pular{position:absolute;left:-999px;top:0;background:var(--ciano);color:var(--escuro);padding:10px 16px;font-weight:600;z-index:100;border-radius:0 0 8px 0}
.pular:focus{left:0}
.ic{width:24px;height:24px;flex:none;color:currentColor}
.ic.g{width:32px;height:32px}
.escuro .ic,.hero-interno .ic,.encerramento .ic,.rodape .ic{color:var(--ciano)}
.claro .ic,.branco .ic{color:var(--profundo)}

/* ---------- Cabeçalho fixo (v0.5.1: 96 px no computador · 80 px no tablet e celular) ----------
   Aplicação de cabeçalho: arquivo homologado horizontal SEM assinatura (600×194; conteúdo 528×138; margens transparentes
   35 esq · 31 topo · 25 base) com 200 px visíveis no computador e 180 px no tablet/celular, e a assinatura em texto logo abaixo
   (Inter 500 · 11 px · entrelinha 16 px · ciano), a 4 px do conteúdo visível. Só as margens transparentes do arquivo são
   compensadas; o logotipo não é esticado nem redesenhado. Área reservada ao conjunto: 260 px (computador) · 224 px (celular). */
.topo{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--topo-h);background:var(--escuro);border-bottom:1px solid var(--linha)}
.topo .container{display:flex;align-items:center;height:100%;gap:24px}
.marca{display:flex;flex-direction:column;align-items:flex-start;flex:none;width:224px;text-decoration:none}
.marca img{display:block;width:auto;max-width:none;height:66.1px;margin:-10.6px 0 -8.5px -11.9px}          /* 180 px visíveis */
.marca-assinatura{display:block;margin-top:4px;font:500 11px/16px var(--texto);letter-spacing:.02em;text-transform:uppercase;color:var(--ciano);white-space:nowrap}
@media (min-width:1200px){
  .marca{width:260px}
  .marca img{height:73.5px;margin:-11.7px 0 -9.5px -13.3px}                                              /* 200 px visíveis */
  .marca-assinatura{letter-spacing:.04em}
}
.topo-menu{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav{display:flex;align-items:center;gap:4px}
.nav a{font-weight:500;color:var(--texto-claro);text-decoration:none;padding:12px 14px;border-radius:var(--raio);font-size:16px;line-height:1.2}
.nav a:hover{background:var(--painel2)}
.nav a[aria-current="page"]{color:var(--ciano);font-weight:600}
.nav a.so-celular{display:none}
.idiomas{display:flex;gap:2px;border:1px solid var(--linha);border-radius:var(--raio);padding:3px}
.idiomas a{font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.06em;color:var(--neutro);text-decoration:none;padding:6px 9px;border-radius:6px;min-width:38px;text-align:center}
.idiomas a:hover{color:#fff}
.idiomas a[aria-current="true"]{background:var(--painel2);color:var(--ciano)}
.menu-botao{display:none;background:transparent;border:1px solid var(--linha);color:var(--texto-claro);border-radius:var(--raio);padding:0 14px;min-height:44px;font:600 15px/1.2 var(--texto);cursor:pointer;align-items:center;gap:8px;margin-left:auto}
.menu-botao .ic{width:18px;height:18px}
.menu-botao .ic-fechar{display:none}
.menu-botao[aria-expanded="true"] .ic-menu{display:none}
.menu-botao[aria-expanded="true"] .ic-fechar{display:block}
@media (max-width:1199px){
  .menu-botao{display:inline-flex}
  .topo-menu{display:none;position:fixed;top:var(--topo-h);left:0;right:0;bottom:0;margin:0;background:var(--escuro);overflow:auto;padding:16px var(--margem) 32px;flex-direction:column;align-items:stretch;gap:24px}
  .topo-menu.aberto{display:flex}
  .nav{flex-direction:column;align-items:stretch;gap:2px}
  .nav a{padding:14px 0;font-size:17px}
  .nav a:hover{background:transparent}
  .nav a.so-celular{display:block}
  .idiomas{align-self:flex-start}
  body.menu-aberto{overflow:hidden}
}
@media (max-width:390px){.menu-botao{width:44px;min-width:44px;height:44px;padding:0;justify-content:center}.menu-botao .menu-texto{display:none}}

/* ---------- Blocos ---------- */
.secao{padding:var(--secao) 0}
.escuro{background:var(--escuro);color:var(--texto-claro)}
.escuro a{color:var(--ciano)}
.escuro h1,.escuro h2,.escuro h3,.escuro h4{color:#fff}
.claro{background:var(--claro-fundo);color:var(--claro-texto)}
.branco{background:#fff;color:var(--claro-texto)}
.cab{max-width:65ch;margin-bottom:40px}
.cab p{font-size:17px}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:900px){.duas{grid-template-columns:1fr;gap:32px}.cab{margin-bottom:32px}}

/* ---------- Abertura da Início (foto de ponta a ponta, texto no eixo da margem) ---------- */
.hero-inicio{display:grid;grid-template-columns:100%;background:var(--escuro);color:var(--texto-claro)}
.hero-inicio .foto{grid-area:1/1;position:relative;overflow:hidden;min-height:180px}
.hero-inicio .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 58%}
.hero-inicio .foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,23,51,.94) 0%,rgba(10,23,51,.82) 36%,rgba(10,23,51,.34) 64%,rgba(10,23,51,.06) 100%)}
.hero-inicio .texto{grid-area:1/1;position:relative;z-index:1;padding:96px var(--margem) 88px}
.hero-inicio .texto > *{max-width:640px}
.hero-inicio h1{color:#fff;margin-bottom:24px}
.hero-inicio .lead{color:var(--texto-claro);margin-bottom:32px}
.hero-inicio .legenda{grid-area:2/1;margin:0;padding:8px var(--margem)}
@media (max-width:900px){
  .hero-inicio{grid-template-rows:180px auto auto}
  .hero-inicio .foto{height:180px;min-height:0}
  .hero-inicio .foto img{object-position:74% 62%}
  .hero-inicio .foto::after{display:none}
  .hero-inicio .legenda{grid-area:2/1}
  .hero-inicio .texto{grid-area:3/1;padding:24px var(--margem) 48px}
  .hero-inicio h1{margin-bottom:16px}
  .hero-inicio .lead{margin-bottom:24px}
}

/* ---------- Aberturas internas (fundo azul-escuro, título e parágrafo na margem principal) ---------- */
.hero-interno{background:var(--escuro);color:var(--texto-claro);padding:56px 0}
.hero-interno h1{color:#fff}
.hero-interno .lead{color:var(--texto-claro);max-width:65ch;margin:0}
.hero-interno .nota-demo{margin-top:16px}
.hero-interno.duas-colunas .container{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero-interno .foto{overflow:hidden;border-radius:var(--raio);aspect-ratio:4/3;border:1px solid var(--linha)}
.hero-interno .foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){
  .hero-interno{padding:32px 0}
  .hero-interno.duas-colunas .container{grid-template-columns:1fr;gap:32px}
  .hero-interno .foto{aspect-ratio:16/10}
}

/* ---------- Botões e links ---------- */
.acoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--raio);border:1px solid transparent;font:600 15px/1.2 var(--texto);text-decoration:none;cursor:pointer;text-align:center}
.botao .ic{width:18px;height:18px;color:currentColor}
.botao.primario{background:var(--ciano);color:var(--escuro)}
.botao.primario:hover{background:#3FE3FD}
.botao.secundario{background:transparent;color:#fff;border-color:rgba(232,238,252,.45)}
.botao.secundario:hover{background:var(--painel2)}
.claro .botao.primario,.branco .botao.primario,form .botao.primario{background:var(--profundo);color:#fff}
.claro .botao.primario:hover,.branco .botao.primario:hover,form .botao.primario:hover{background:#0038C9}
.claro .botao.secundario,.branco .botao.secundario{color:var(--profundo);border-color:#B9C4DA}
.claro .botao.secundario:hover,.branco .botao.secundario:hover{background:#EEF2F9}
.botao[disabled]{opacity:.7;cursor:wait}
.link-seta{font-weight:600;text-decoration:none}
.link-seta::after{content:"\00a0→"}
.link-seta:hover{text-decoration:underline}

/* ---------- Pilares / públicos / caso ---------- */
.pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pilares.quatro{grid-template-columns:repeat(4,1fr)}
.pilares.vertical{grid-template-columns:1fr;gap:24px}
.pilar .ic-caixa{width:52px;height:52px;border-radius:var(--raio);display:flex;align-items:center;justify-content:center;background:rgba(0,70,251,.08);border:1px solid var(--claro-borda);margin-bottom:16px}
.escuro .pilar .ic-caixa{background:rgba(2,217,252,.08);border-color:var(--linha)}
.pilares.vertical .pilar{display:grid;grid-template-columns:52px 1fr;gap:4px 16px;align-items:start}
.pilares.vertical .pilar .ic-caixa{margin:0;grid-row:1/3}
.pilares.vertical .pilar h3,.pilares.vertical .pilar p{grid-column:2}
.pilar p{margin:0}
@media (max-width:1199px){.pilares.quatro{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.pilares,.pilares.quatro{grid-template-columns:1fr}}
@media (max-width:480px){.pilares.vertical .pilar{grid-template-columns:1fr}.pilares.vertical .pilar .ic-caixa{grid-row:auto}.pilares.vertical .pilar h3,.pilares.vertical .pilar p{grid-column:1}}

/* Para quem: 4 colunas ≥1200 · 2 colunas de 901 a 1199 · 1 coluna ≤900 · intervalo 24 px */
.para-quem{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.publico{border:1px solid var(--claro-borda);border-radius:var(--raio);padding:24px;background:#fff;display:flex;flex-direction:column;gap:12px}
.publico .cab-publico{display:flex;align-items:center;gap:12px;min-height:40px}
.publico h3{margin:0}
.publico p{margin:0}
.publico .acoes{margin-top:auto;padding-top:8px}
@media (max-width:1199px){.para-quem{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.para-quem{grid-template-columns:1fr}}

.caso{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.caso.vertical{grid-template-columns:1fr;gap:16px}
.caso div{padding:20px 24px;border-radius:var(--raio);background:var(--painel);border:1px solid var(--linha)}
.caso h3{margin:0 0 8px}
.caso p{margin:0;color:var(--texto-claro)}

/* ---------- Telas da demonstração em molduras de dispositivo (molduras da v0.3; uma moldura por imagem) ---------- */
.dispositivo{margin:0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.dispositivo .quadro{display:flex;flex-direction:column;gap:10px;width:100%}
.dispositivo .tela-d{border-radius:22px;background:#0B1A3A;border:1px solid var(--linha);padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.02);width:100%}
.dispositivo .tela-d img{display:block;width:100%;border-radius:12px}
.dispositivo.celular .quadro{max-width:236px}
.dispositivo.celular .tela-d{border-radius:30px;padding:9px}
.dispositivo.celular .tela-d img{border-radius:22px}
.dispositivo.notebook .tela-d{border-radius:14px 14px 4px 4px;padding:12px 12px 16px}
.dispositivo.notebook .base{height:10px;background:linear-gradient(180deg,#22386A,#142A54);border-radius:0 0 10px 10px;margin:0 max(-4%,-24px)}
.dispositivo.cartao .tela-d{border-radius:16px;padding:0;overflow:hidden}
.dispositivo.cartao .tela-d img{border-radius:0}
.dispositivo .legenda-tela{margin:4px 0 0;font-size:16px}
.dispositivo .legenda-tela strong{display:block;font-family:var(--titulo);font-weight:600;color:#fff}
.dispositivo .legenda-tela span{color:var(--neutro)}
.claro .dispositivo .legenda-tela strong,.branco .dispositivo .legenda-tela strong{color:var(--claro-texto)}
.claro .dispositivo .legenda-tela span,.branco .dispositivo .legenda-tela span{color:var(--claro-texto-2)}
.claro .dispositivo .tela-d,.branco .dispositivo .tela-d{box-shadow:0 14px 36px rgba(10,23,51,.14)}
.ampliar{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--raio);background:transparent;color:#fff;border:1px solid rgba(232,238,252,.45);font:600 15px/1.2 var(--texto);cursor:pointer}
.ampliar .ic{width:18px;height:18px;color:var(--ciano)}
.ampliar:hover{background:var(--painel2)}
.claro .ampliar,.branco .ampliar{color:var(--profundo);border-color:#B9C4DA}
.claro .ampliar .ic,.branco .ampliar .ic{color:var(--profundo)}
.claro .ampliar:hover,.branco .ampliar:hover{background:#EEF2F9}
.produto-duo{display:grid;grid-template-columns:236px minmax(0,1fr);grid-template-rows:auto auto auto;gap:12px 48px;align-items:end}
.produto-duo .dispositivo{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-items:end}
.produto-duo .dispositivo .quadro{align-self:end}
.produto-duo .dispositivo .legenda-tela,.produto-duo .dispositivo .ampliar{align-self:start;justify-self:start}
@media (max-width:900px){.produto-duo{grid-template-columns:1fr;grid-template-rows:none;row-gap:12px}.produto-duo .dispositivo{grid-template-rows:auto auto auto;grid-row:auto;margin-top:20px}.produto-duo .dispositivo:first-child{margin-top:0}}
.nota-demo{font-size:13px;line-height:1.4;color:var(--neutro);margin-top:16px}
.claro .nota-demo,.branco .nota-demo{color:var(--claro-texto-2)}
.etiqueta{display:inline-block;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:6px;border:1px solid #B9C4DA;color:var(--claro-texto-2);margin-right:6px;vertical-align:middle}

/* ampliação acessível: ajustada à largura da tela, rolagem vertical quando a imagem for mais alta */
.ampliacao{border:0;padding:0;background:var(--escuro);color:var(--texto-claro);width:100%;max-width:100%;height:100%;max-height:100%;margin:0;overflow:hidden}
.ampliacao::backdrop{background:rgba(10,23,51,.9)}
.ampliacao-corpo{position:absolute;inset:0;overflow:auto;padding:72px var(--margem) 24px;-webkit-overflow-scrolling:touch}
.ampliacao-corpo img{width:100%;max-width:1600px;height:auto;margin:0 auto;border-radius:8px;border:1px solid var(--linha);display:block}
.ampliacao-fechar{position:fixed;top:12px;right:var(--margem);display:inline-flex;align-items:center;gap:8px;background:var(--ciano);color:var(--escuro);border:0;border-radius:var(--raio);padding:0 16px;font:600 15px/1.2 var(--texto);cursor:pointer;z-index:2;min-height:48px}
.ampliacao-fechar .ic{width:18px;height:18px;color:var(--escuro)}

/* ---------- Fluxo em passos (Como funciona) — único lugar, com a linha do tempo, onde o tracejado é usado ---------- */
.passos{list-style:none;margin:0;padding:0;display:grid;gap:64px;position:relative}
.passos::before{content:"";position:absolute;left:23px;top:39px;bottom:24px;width:2px;background:var(--tracejado-v);opacity:.6}
.passo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;position:relative;padding-left:80px}
.passo .num{display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:15px;width:48px;height:48px;border-radius:50%;background:var(--escuro);border:2px solid var(--ciano);color:var(--ciano);font-family:var(--titulo);font-weight:600;font-size:15px}
.passo .quem{display:block;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ciano);margin-bottom:8px}
.passo h3{margin-bottom:12px}
.passo p{margin:0;color:var(--texto-claro);max-width:65ch}
.passo.sem-tela{grid-template-columns:1fr}
.passo-visual .dispositivo{width:100%}
.fluxo-ramo{margin-top:40px;padding:16px 20px;border-left:3px solid var(--azul);background:var(--painel);border-radius:0 var(--raio) var(--raio) 0;color:var(--texto-claro);max-width:70ch}
.fluxo-ramo strong{color:#fff;display:block;margin-bottom:4px}
@media (max-width:900px){
  .passos{gap:48px}
  .passos::before{left:15px;top:42px;bottom:16px}
  .passo,.passo.sem-tela{grid-template-columns:1fr;padding-left:48px;gap:16px}
  .passo .num{width:32px;height:32px;font-size:13px;top:26px}
  .passo h3{font-size:20px;line-height:1.3;min-height:32px;display:flex;align-items:center}
}
.painel-prev{max-width:2264px}   /* captura nativa de 2.240 px: nunca ampliada além do tamanho real */

/* ---------- Estágio de cada função (régua) ---------- */
.estagio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.estagio > div{border-top:3px solid var(--ciano);padding-top:16px}
.estagio > div.dev{border-color:var(--azul)}
.estagio > div.prev{border-color:#B9C4DA}
.estagio ul{margin:0;padding-left:18px}
.estagio li{margin-bottom:8px}
@media (max-width:900px){.estagio{grid-template-columns:1fr}}

/* ---------- Marcos (Início, eixo contínuo) e linha do tempo (O KABINA, eixo tracejado) ---------- */
.marcos{list-style:none;margin:0;padding:0 0 0 32px;position:relative;display:grid;gap:16px}
.marcos::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--profundo);opacity:.3}
.marcos li{position:relative;display:grid;grid-template-columns:120px 1fr;gap:4px 16px;align-items:baseline}
.marcos li::before{content:"";position:absolute;left:-32px;top:.45em;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--profundo)}
.marcos li.atual::before,.marcos li.feito::before{background:var(--profundo)}
.marcos .quando{font-family:var(--titulo);font-weight:600;color:var(--profundo);font-size:16px}
.marcos strong{font-family:var(--titulo);font-weight:600}
.marcos .estado{grid-column:2;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--claro-texto-2)}
.marcos li.atual .estado{color:var(--profundo)}
@media (max-width:480px){.marcos li{grid-template-columns:1fr}.marcos .estado{grid-column:1}}

.linha-tempo{list-style:none;margin:0;padding:0 0 0 40px;position:relative}
.linha-tempo::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--tracejado-claro-v);opacity:.5}
.linha-tempo li{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:16px 0;border-top:1px solid var(--claro-borda);position:relative}
.linha-tempo li:last-child{border-bottom:1px solid var(--claro-borda)}
.linha-tempo li::before{content:"";position:absolute;left:-37px;top:24px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--profundo)}
.linha-tempo li.atual::before,.linha-tempo li.feito::before{background:var(--profundo)}
.linha-tempo .quando{font-family:var(--titulo);font-weight:600;color:var(--profundo)}
.linha-tempo .estado{display:inline-block;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:#E6EEFF;color:var(--profundo);margin-left:8px;vertical-align:middle}
.linha-tempo li.atual .estado{background:var(--profundo);color:#fff}
.linha-tempo li.previsto .estado{background:transparent;border:1px solid #B9C4DA;color:var(--claro-texto-2)}
.linha-tempo p{margin:8px 0 0;max-width:65ch}
@media (max-width:900px){.linha-tempo{padding-left:32px}.linha-tempo li{grid-template-columns:1fr;gap:4px}.linha-tempo li::before{left:-29px;top:20px}}

/* ---------- Canais, regras, ficha, kit ---------- */
.canais{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.canais li{display:flex;gap:16px;align-items:flex-start;padding:20px 24px;border-radius:var(--raio);background:#fff;border:1px solid var(--claro-borda)}
.canais strong{display:block;font-family:var(--titulo);font-weight:600;margin-bottom:4px}
.canais p{margin:0;color:var(--claro-texto-2)}
@media (max-width:900px){.canais{grid-template-columns:1fr}}
.regras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.regras.cinco{grid-template-columns:repeat(5,1fr)}
.regras li{border-top:2px solid var(--azul);padding-top:16px}
.regras strong{display:block;font-family:var(--titulo);font-weight:600;margin-bottom:8px}
.regras p{margin:0}
.branco .regras p,.claro .regras p{color:var(--claro-texto-2)}
@media (max-width:1199px){.regras,.regras.cinco{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.regras,.regras.cinco{grid-template-columns:1fr}}
.ficha{display:grid;grid-template-columns:160px 1fr;gap:12px 24px;margin:0}
.ficha dt{font-weight:600;color:var(--claro-texto-2)}
.ficha dd{margin:0}
@media (max-width:600px){.ficha{grid-template-columns:1fr;gap:2px 0}.ficha dd{margin-bottom:12px}}
.texto-padrao{padding:20px 24px;border-left:3px solid var(--profundo);background:var(--claro-fundo);border-radius:0 var(--raio) var(--raio) 0;max-width:70ch}
.pontos{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px}
.pontos li{padding-left:20px;position:relative}
.pontos li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--azul)}
.amostras{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.amostra{border-radius:var(--raio);border:1px solid var(--claro-borda);display:flex;align-items:center;justify-content:center;padding:24px;aspect-ratio:3/2}
.amostra.escura{background:var(--escuro);border-color:var(--linha)}
.amostra.clara{background:#fff}
.amostra img{max-width:80%;max-height:70%;width:auto;height:auto}
.amostra.simbolo img{max-width:24%;max-height:40%}
@media (max-width:900px){.amostras{grid-template-columns:1fr;gap:16px}.amostra{aspect-ratio:2/1}.amostra img{max-width:70%;min-width:216px}.amostra.simbolo img{min-width:0;max-width:22%}}
.texto-corrido h2{font-size:20px;line-height:1.3;margin-top:32px}
.texto-corrido h2:first-child{margin-top:0}

/* ---------- Brasil (SVG original do pacote; sem brilho, sem rotas, sem animação) ---------- */
.brasil-grade{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.brasil-texto .numero{font-family:var(--titulo);font-weight:600;font-size:25px;line-height:1.25;color:var(--ciano);margin:0 0 16px}
.brasil-texto p{max-width:65ch}
.brasil-texto .fonte{font-size:13px;line-height:1.4;color:var(--neutro);margin-top:24px}
.brasil-mapa{display:flex;justify-content:center;align-items:center}
.brasil-mapa img{width:80%;max-width:600px;height:auto}
@media (max-width:900px){.brasil-grade{grid-template-columns:1fr;gap:32px}.brasil-mapa img{width:100%;max-width:300px}}

/* ---------- Segmentos (grupos + acordeão) ---------- */
.grupos{display:grid;gap:32px}
.grupo-titulo{font-size:13px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--profundo);margin-bottom:8px;font-family:var(--texto);font-weight:600}
.acordeao{border-top:1px solid var(--claro-borda)}
.acordeao details{border-bottom:1px solid var(--claro-borda)}
.acordeao summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px 4px}
.acordeao summary::-webkit-details-marker{display:none}
.acordeao summary:hover{background:#FBFCFE}
.acordeao summary:focus-visible{outline-offset:-3px}
.acordeao summary > .txt{display:flex;flex-direction:column;gap:3px}
.acordeao summary .ic-wrap{flex:none;margin-top:3px}
.acordeao summary .ic{color:var(--profundo)}
.acordeao summary strong{font-family:var(--titulo);font-weight:600;font-size:20px;line-height:1.3}
.acordeao summary .beneficio{color:var(--claro-texto-2)}
.acordeao summary .seta{width:34px;height:34px;border-radius:50%;border:1px solid var(--claro-borda);display:flex;align-items:center;justify-content:center;color:var(--profundo);flex:none}
.acordeao summary .seta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acordeao details[open] summary .seta{transform:rotate(180deg)}
.acordeao .conteudo{padding:0 4px 20px 42px;max-width:70ch}
.acordeao .conteudo p{margin:0 0 8px}
.acordeao .conteudo .quem{color:var(--claro-texto-2)}
.aviso{border-left:4px solid var(--azul);background:var(--claro-fundo);border-radius:0 var(--raio) var(--raio) 0;padding:16px 20px;max-width:70ch}
.secao-parceiros[hidden]{display:none}
.logos{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.logos .logo{background:#fff;border:1px solid var(--claro-borda);border-radius:var(--raio);padding:16px 24px;display:flex;align-items:center;justify-content:center;min-height:84px;min-width:150px}
.logos .logo img{max-height:48px;width:auto}

/* ---------- Contato: 40 % / 60 % calculados sobre o espaço após o intervalo de 48 px ---------- */
.contato-grade{display:grid;grid-template-columns:calc((100% - 48px) * .4) calc((100% - 48px) * .6);gap:48px;align-items:start}
.contato-direto .acoes{flex-direction:column;align-items:stretch;gap:12px;max-width:360px}
.contato-direto p{max-width:65ch}
@media (max-width:900px){.contato-grade{grid-template-columns:1fr;gap:32px}}
.form-grade{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grade .largo{grid-column:1/-1}
@media (max-width:600px){.form-grade{grid-template-columns:1fr}}
label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
label .opc{font-weight:400;color:var(--claro-texto-2)}
input,select,textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #B9C4DA;border-radius:var(--raio);background:#fff;color:var(--claro-texto);min-height:48px}
textarea{min-height:140px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--profundo);outline-offset:2px;border-color:var(--profundo)}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#8B1E2B}
.erro-campo{color:#8B1E2B;font-size:15px;margin:6px 0 0}
.consentimento{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--claro-texto-2);font-weight:400}
.consentimento input{margin-top:4px;width:18px;height:18px;min-height:0;flex:none}
.retorno{margin-top:16px;border:1px solid #B9C4DA;background:#fff;border-radius:var(--raio);padding:16px 20px}
.retorno[hidden]{display:none}
.retorno.erro{border-color:#8B1E2B}

/* ---------- Encerramento (uma ação principal e uma secundária) ---------- */
.encerramento{background:var(--painel);color:var(--texto-claro);padding:56px 0}
.encerramento .container{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.encerramento h2{color:#fff;margin-bottom:8px}
.encerramento p{color:var(--texto-claro);max-width:65ch}
@media (max-width:900px){.encerramento{padding:32px 0}.encerramento .container{grid-template-columns:1fr;gap:24px}}

/* ---------- Rodapé ---------- */
.rodape{background:var(--escuro);color:var(--neutro);border-top:1px solid var(--linha);padding:56px 0 32px;font-size:16px}
.rodape .container{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.rodape .col-marca img{height:96px;width:auto;margin-left:-16px;margin-bottom:8px}
.rodape .assinatura{display:block;margin-bottom:12px}
.rodape .col-marca p{max-width:65ch}
.rodape .rodape-titulo{color:#fff;font-size:13px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-weight:600}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin-bottom:8px}
.rodape a{color:var(--texto-claro);text-decoration:none}
.rodape a:hover{color:var(--ciano);text-decoration:underline}
.contatos-lista li{display:flex;gap:10px;align-items:center}
.rodape .base{grid-column:1/-1;border-top:1px solid var(--linha);margin-top:8px;padding-top:16px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;font-size:13px;line-height:1.4}
.rodape .base .idiomas{margin-left:auto}
@media (max-width:900px){.rodape{padding:48px 0 24px}.rodape .container{grid-template-columns:1fr 1fr;gap:32px}.rodape .col-marca{grid-column:1/-1}.rodape .col-marca img{height:72px;margin-left:-12px}}
@media (max-width:600px){.rodape .container{grid-template-columns:1fr}.rodape .base .idiomas{margin-left:0}}

/* ---------- Tela de entrada (preservada: formulário centralizado, máx. 420 px, fundo total) ---------- */
.entrada-pagina{background:var(--escuro);color:var(--texto-claro);min-height:100vh;display:flex;flex-direction:column;padding-top:0}
.entrada{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px var(--margem) 32px;position:relative}
.entrada-topo{position:absolute;top:16px;right:var(--margem)}
.entrada-cartao{width:100%;max-width:420px;text-align:center}
.entrada-logo{width:230px;max-width:60%;margin:0 auto 8px}
.entrada .assinatura{margin:0 0 32px;display:block}
.entrada form{text-align:left;display:grid;gap:16px}
.entrada label{color:var(--texto-claro)}
.entrada input[type="email"]{background:var(--painel);border-color:var(--linha);color:#fff}
.entrada input[type="email"]::placeholder{color:#5F7BB0}
.entrada .consentimento{color:var(--neutro)}
.entrada .botao{width:100%;margin-top:8px}
.entrada form .botao.primario{background:var(--ciano);color:var(--escuro)}
.entrada form .botao.primario:hover{background:#3FE3FD}
.entrada .retorno{background:var(--painel);border-color:var(--linha);color:var(--texto-claro)}
.entrada .retorno.local{color:var(--neutro);font-size:15px}
.entrada .erro-campo{color:#FF8A9A}
.entrada-rodape{margin:32px 0 0;font-size:15px}
.entrada-rodape a{color:var(--neutro);text-decoration:none}
.entrada-rodape a:hover{color:var(--ciano);text-decoration:underline}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
