/* Páginas do site. Depende de tokens-v3.css (marca A; antes tokens-v2.css) (cores, tipos, componentes base).
   Só layout de página e peças próprias do site; nada de cor nova fora dos tokens. */

html{scroll-padding-top:84px}
[hidden]{display:none!important}
body{overflow-x:hidden}
code{font-family:var(--f-dado)}

/* ---------- Cabeçalho ---------- */
.topo{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linha)}
.topo .wrap{display:flex;align-items:center;gap:var(--e-4);min-height:68px}
.marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta);font:700 var(--t-18)/1 var(--f-titulo);letter-spacing:-.02em;margin-right:auto;white-space:nowrap}
.marca:hover{color:var(--tinta)}
.marca .logo-a{height:32px;width:auto}
.menu{display:flex;align-items:center;gap:2px}
.menu a{padding:10px 10px;border-radius:var(--r-1);font:600 var(--t-14)/1 var(--f-texto);color:var(--texto-2);text-decoration:none;white-space:nowrap}
.menu a:hover{background:var(--agua);color:var(--azul)}
.menu a[aria-current="page"]{color:var(--azul);box-shadow:inset 0 -2px 0 var(--azul);border-radius:0}
.topo .btn{min-height:44px;padding:0 var(--e-4);font-size:var(--t-14);white-space:nowrap}
.menu-celular{display:none;position:relative}
.menu-celular summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--linha-forte);border-radius:var(--r-2);font:600 var(--t-14)/1 var(--f-texto);color:var(--tinta);cursor:pointer}
.menu-celular summary::-webkit-details-marker{display:none}
.menu-celular summary svg{width:18px;height:18px}
.menu-celular nav{position:absolute;right:0;top:calc(100% + 8px);min-width:15rem;display:grid;padding:var(--e-2);background:var(--papel);border:1px solid var(--linha-forte);border-radius:var(--r-3);box-shadow:var(--s-2)}
.menu-celular nav a{padding:12px;border-radius:var(--r-1);color:var(--tinta);text-decoration:none;font-weight:600}
.menu-celular nav a:hover{background:var(--agua)}
@media (max-width:960px){.menu{display:none}.menu-celular{display:block}}
@media (max-width:420px){.topo .btn .longo{display:none}.topo .btn{padding:0 12px}.marca .logo-a{height:28px}.topo .wrap{gap:var(--e-2)}.menu-celular summary{padding:0;width:44px;justify-content:center}.menu-celular .rotulo{display:none}}
@media (max-width:400px){.topo .btn .gratis{display:none}.topo .btn{padding:0 10px}.marca .logo-a{height:26px}.topo .wrap{gap:6px}.menu-celular summary{width:40px}}

/* ---------- Seções ---------- */
.secao{padding:var(--secao) 0}
.secao.agua{background:var(--agua)}
.secao + .secao:not(.agua):not(.no-mar){border-top:1px solid var(--linha)}
.secao-cabeca{max-width:46rem;margin-bottom:var(--e-7)}
.secao-cabeca h2{font-size:var(--t-48)}
.secao-cabeca p{color:var(--texto-2);font-size:var(--t-18);margin:var(--e-4) 0 0}
.apoio{color:var(--texto-2)}
.pequeno{font-size:var(--t-14);color:var(--texto-3)}
.cta-linha{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-3) var(--e-5);margin-top:var(--e-6)}
.no-mar{background:var(--mar);color:var(--mar-texto)}
.no-mar h2,.no-mar h3,.no-mar strong{color:#fff}
.no-mar a:not(.btn){color:#fff}
.no-mar a:not(.btn):hover{color:var(--luz)}

/* ---------- Hero ---------- */
.hero{padding:clamp(28px,4vw,56px) 0 clamp(48px,6vw,88px);background:linear-gradient(var(--papel),var(--agua) 92%)}
.hero-grade{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,4vw,64px);align-items:start}
.hero h1{font-size:clamp(1.875rem,1.3rem + 1.7vw,2.75rem);letter-spacing:-.03em;max-width:24ch}
.hero .sub{font-size:var(--t-18);color:var(--texto-2);max-width:52ch;margin:var(--e-4) 0 var(--e-5)}
@media (max-width:980px){.hero-grade{grid-template-columns:1fr}.hero h1{max-width:22ch}}
@media (max-width:480px){.hero .sub{font-size:var(--t-18)}}

/* Formulário de consulta (textarea de até 10 CNPJs) */
.consulta{background:var(--papel);border:1px solid var(--linha-forte);border-radius:var(--r-3);padding:clamp(16px,2.4vw,24px);box-shadow:var(--s-2);display:grid;gap:var(--e-3)}
.consulta-rotulo{display:flex;justify-content:space-between;align-items:baseline;gap:var(--e-3);flex-wrap:wrap}
.consulta label{font:600 var(--t-18)/1.3 var(--f-titulo);color:var(--tinta)}
.contador{font:500 var(--t-14)/1 var(--f-dado);font-variant-numeric:tabular-nums;color:var(--texto-3)}
.contador[data-estado="cheio"]{color:var(--atencao)}
.consulta textarea{width:100%;min-height:7.5rem;resize:vertical;padding:14px var(--e-4);border:1.5px solid var(--borda-campo);border-radius:var(--r-2);background:var(--papel);color:var(--tinta);font:500 var(--t-18)/1.6 var(--f-dado);font-variant-numeric:tabular-nums;letter-spacing:.02em;caret-color:var(--azul);transition:border-color .15s,box-shadow .15s}
.consulta textarea::placeholder{color:var(--texto-3);opacity:1}
.consulta textarea:hover{border-color:var(--texto-2)}
.consulta textarea:focus-visible{border-color:var(--azul);box-shadow:0 0 0 3px var(--anel-campo);border-radius:var(--r-2)}
.consulta textarea[aria-invalid="true"]{border-color:var(--alto)}
.consulta-acoes{display:flex;flex-wrap:wrap;gap:var(--e-2) var(--e-3);align-items:center}
.consulta-acoes .btn{min-height:52px}
.consulta-acoes .btn:first-child{flex:1 1 12rem}
.consulta .nota{margin:0;font-size:var(--t-14);color:var(--texto-3);max-width:none}
.consulta .tempo{margin:0;font-size:var(--t-14);color:var(--texto-2);display:flex;gap:8px;align-items:flex-start;max-width:none}
.consulta .tempo svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--azul)}
.erro{color:var(--alto);font-size:var(--t-14);font-weight:600;margin:0;display:flex;gap:8px;align-items:flex-start}
.erro:empty{display:none}
.erro svg{width:16px;height:16px;flex:none;margin-top:3px}
.link-exemplo{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.link-exemplo svg{width:16px;height:16px}
.hero .selos{margin-top:var(--e-5)}

/* Painel de exemplo do hero: "carta" com as linhas da carteira */
.carta{position:relative;border:1px solid var(--linha-forte);border-radius:var(--r-3);padding:clamp(18px,2.6vw,28px);box-shadow:var(--s-2)}
.carta-cabeca{display:flex;justify-content:space-between;align-items:center;gap:var(--e-3);margin-bottom:var(--e-4)}
.carta-cabeca b{font:600 var(--t-16)/1.3 var(--f-titulo);color:var(--tinta)}
.linhas-carteira{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-2)}
.linhas-carteira li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--e-1) var(--e-3);align-items:start;padding:var(--e-3) var(--e-4);background:var(--papel);border:1px solid var(--linha-forte);border-radius:var(--r-2);box-shadow:var(--s-1)}
.linhas-carteira .marca-sinal{margin-top:2px}
.linhas-carteira b{display:block;font:600 var(--t-16)/1.3 var(--f-titulo);color:var(--tinta);overflow-wrap:anywhere}
.linhas-carteira .dado{display:block;font-size:var(--t-14);color:var(--texto-3)}
.linhas-carteira .o-que{display:block;font-size:var(--t-14);color:var(--texto-2)}
.linhas-carteira .sinal-nivel{white-space:nowrap}
.linhas-carteira .sinal-nivel.alto{background:var(--alto-fundo);color:var(--alto)}
.linhas-carteira .sinal-nivel.atencao{background:var(--atencao-fundo);color:var(--atencao)}
.linhas-carteira .sinal-nivel.ok{background:var(--ok-fundo);color:var(--ok)}
.carta-pe{margin:var(--e-4) 0 0;font-size:var(--t-14);color:var(--texto-3)}
@media (max-width:420px){.linhas-carteira li{grid-template-columns:auto minmax(0,1fr)}.linhas-carteira .sinal-nivel{grid-column:2;justify-self:start}}

/* Entrada única: as linhas da carta aparecem em sequência, como o feixe passando. Desligada em reduced-motion (tokens). */
@media (prefers-reduced-motion:no-preference){
  .linhas-carteira li{animation:feixe .7s var(--ease) both}
  .linhas-carteira li:nth-child(2){animation-delay:.12s}
  .linhas-carteira li:nth-child(3){animation-delay:.24s}
}
@keyframes feixe{from{opacity:0;transform:translateY(6px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}

/* ---------- Faixa de números verificáveis ---------- */
.faixa{padding:clamp(32px,4vw,48px) 0}
.faixa-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e-5)}
.faixa-lista li{display:grid;gap:6px;align-content:start;padding-left:var(--e-4);border-left:1px solid var(--mar-linha)}
.faixa-lista strong{font:500 clamp(1.75rem,1.3rem + 1.6vw,2.5rem)/1 var(--f-dado);font-variant-numeric:tabular-nums;color:var(--luz);letter-spacing:-.01em}
.faixa-lista span{font-size:var(--t-14);color:var(--mar-texto);max-width:24ch}
.faixa-nota{margin:var(--e-5) 0 0;font-size:var(--t-12);color:var(--mar-texto);max-width:none}
@media (max-width:860px){.faixa-lista{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Como funciona: rota em 3 pontos ---------- */
.rota{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-6);counter-reset:passo;position:relative}
.rota::before{content:"";position:absolute;left:20px;right:20px;top:20px;border-top:1.5px dashed var(--borda-campo)}
.rota li{position:relative;counter-increment:passo}
.rota li::before{content:counter(passo);display:grid;place-items:center;width:40px;height:40px;margin-bottom:var(--e-4);border-radius:50%;background:var(--mar);color:var(--luz);font:500 var(--t-18)/1 var(--f-dado);box-shadow:0 0 0 6px var(--papel)}
.rota h3{font-size:var(--t-20);margin-bottom:var(--e-2)}
.rota p{color:var(--texto-2);margin:0}
@media (max-width:860px){.rota{grid-template-columns:1fr;gap:var(--e-5)}.rota::before{left:19px;right:auto;top:20px;bottom:20px;border-top:0;border-left:1.5px dashed var(--borda-campo)}.rota li{padding-left:60px}.rota li::before{position:absolute;left:0;top:0}}
.comparacao{margin-top:var(--e-7);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--linha-forte);border-radius:var(--r-3);overflow:hidden;background:var(--papel)}
.comparacao > div{padding:var(--e-5)}
.comparacao > div:first-child{border-right:1px solid var(--linha-forte)}
.comparacao h3{font:600 var(--t-14)/1.4 var(--f-texto);color:var(--texto-3);margin-bottom:var(--e-3);letter-spacing:.01em}
.comparacao p{margin:0;font-size:var(--t-18);color:var(--tinta)}
.comparacao .pe{grid-column:1/-1;border-top:1px solid var(--linha-forte);background:var(--agua);color:var(--texto-2);font-size:var(--t-16)}
@media (max-width:700px){.comparacao{grid-template-columns:1fr}.comparacao > div:first-child{border-right:0;border-bottom:1px solid var(--linha-forte)}}

/* ---------- Aviso no WhatsApp (celular) ---------- */
.dupla{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
@media (max-width:900px){.dupla{grid-template-columns:1fr}}
.celular{width:min(100%,22rem);margin-inline:auto;padding:12px;border-radius:32px;background:var(--mar);box-shadow:var(--s-3)}
.celular-tela{border-radius:22px;overflow:hidden;background:var(--wa-fundo)}
.celular-barra{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;background:var(--papel);border-bottom:1px solid var(--linha)}
.celular .wa{box-shadow:none;border-radius:0;max-width:none;padding:14px 14px 18px 22px}
.wa-balao .dado{font-size:14px}
.legenda-celular{text-align:center;margin:var(--e-4) auto 0;font-size:var(--t-14);color:var(--texto-3);max-width:34ch}
.fatos{list-style:none;margin:var(--e-5) 0 0;padding:0;display:grid;gap:var(--e-3)}
.fatos li{display:flex;gap:var(--e-3);align-items:flex-start;color:var(--texto-2)}
.fatos svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--azul)}
.fatos b{color:var(--tinta)}

/* ---------- Cobertura ---------- */
.cobertura{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e-4)}
@media (max-width:860px){.cobertura{grid-template-columns:1fr}}
.bloco{border:1px solid var(--linha-forte);border-radius:var(--r-3);background:var(--papel);padding:var(--e-5)}
.bloco h3{font-size:var(--t-20);display:flex;gap:10px;align-items:center}
.bloco h3 svg{width:20px;height:20px;flex:none}
.bloco ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--e-3)}
.bloco li{color:var(--texto-2);padding-left:var(--e-4);position:relative}
.bloco li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:1px;background:var(--borda-campo)}
.bloco li b{color:var(--tinta)}
.bloco.fora{background:var(--agua)}
.alertas{margin-top:var(--e-6);display:grid;gap:var(--e-2)}
.alertas h3{font-size:var(--t-20);margin-bottom:var(--e-2)}
.alerta-linha{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--e-3);align-items:center;padding:var(--e-3) var(--e-4);border:1px solid var(--linha-forte);border-radius:var(--r-2);background:var(--papel);font:400 var(--t-16)/1.5 var(--f-texto);color:var(--tinta)}
.alerta-linha .marca-sinal{width:18px;height:18px}
@media (max-width:600px){.alerta-linha{grid-template-columns:auto minmax(0,1fr)}.alerta-linha .exemplo{grid-column:2;justify-self:start}}
.honestidade{margin:var(--e-5) 0 0;display:flex;gap:var(--e-3);align-items:flex-start;color:var(--texto-2);max-width:62ch}
.honestidade svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--azul)}

/* ---------- Cartões de resultado (exemplo e consulta real) ---------- */
.grade-cartoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-4);align-items:stretch}
.grade-cartoes .sinal{align-content:start}
@media (max-width:980px){.grade-cartoes{grid-template-columns:1fr}}
.sinal .leitura{grid-column:2;margin:var(--e-2) 0 0;padding:var(--e-3);border-radius:var(--r-1);background:var(--agua);font-size:var(--t-14);color:var(--texto-2);max-width:none}
.sinal-empresa{overflow-wrap:anywhere}

/* ---------- Preços ---------- */
.alternancia{display:inline-flex;padding:4px;margin-bottom:var(--e-5);border:1px solid var(--linha-forte);border-radius:var(--r-2);background:var(--papel);gap:4px}
.alternancia button{min-height:40px;padding:0 var(--e-4);border:0;border-radius:var(--r-1);background:transparent;color:var(--texto-2);font:600 var(--t-14)/1 var(--f-texto);cursor:pointer}
.alternancia button:hover{color:var(--azul);background:var(--agua)}
.alternancia button[aria-pressed="true"]{background:var(--azul);color:#fff}
.anual-aviso{margin:0 0 var(--e-5);padding:var(--e-4) var(--e-5);border:1px dashed var(--borda-campo);border-radius:var(--r-2);background:var(--papel);color:var(--texto-2);max-width:none}
.precos .plano{background:var(--papel)}
.plano .plano-quem{margin:0;color:var(--texto-2);font-size:var(--t-14)}
.enquadramento{margin:var(--e-5) 0 0;font-size:var(--t-14);color:var(--texto-2);max-width:72ch}
.plano-preco strong{font-size:clamp(2rem,1.6rem + 1.4vw,2.75rem)}

/* ---------- O que entra + cancelamento ---------- */
.entra{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--e-4)}
@media (max-width:860px){.entra{grid-template-columns:1fr}}
.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-3)}
.lista-check li{display:flex;gap:var(--e-3);align-items:flex-start;color:var(--texto-2)}
.lista-check svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--ok)}
.bloco .lista-check li{padding-left:0}
.bloco .lista-check li::before{display:none}
.a-definir{display:inline-block;padding:0 6px;border-radius:4px;background:var(--atencao-fundo);color:var(--atencao);font-weight:600}

/* ---------- Fundador ---------- */
.fundador{max-width:48rem}
.fundador-img{width:96px;height:96px;border-radius:var(--r-2);object-fit:cover}
.fundador .a-preencher,.consulta .a-preencher,main .a-preencher{background:var(--atencao-fundo);color:var(--atencao);padding:0 4px;border-radius:3px}

/* ---------- Perguntas ---------- */
.faq-grade{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start}
@media (max-width:900px){.faq-grade{grid-template-columns:1fr}}
.faq .resposta p{margin:0}

/* ---------- Chamada final ---------- */
.final{position:relative;overflow:hidden}
.final .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:var(--e-6);align-items:center}
.final h2{font-size:var(--t-48);color:#fff}
.final p{margin:var(--e-3) 0 0;font-size:var(--t-18);color:var(--mar-texto)}
.final-acoes{display:grid;gap:var(--e-3);justify-items:start}
.final-acoes .btn{min-height:56px;padding:0 var(--e-6);font-size:var(--t-18)}
@media (max-width:800px){.final .wrap{grid-template-columns:1fr}}

/* ---------- Rodapé ---------- */
.final + .rodape,.rodape{border-top:1px solid var(--mar-linha)}
.rodape-marca{display:inline-flex;align-items:center;gap:10px;font:700 var(--t-18)/1 var(--f-titulo);color:#fff;letter-spacing:-.02em}
.rodape-marca .logo-a{height:36px;width:auto}
.rodape p{max-width:none}
.rodape-avisos{margin-top:var(--e-6);padding-top:var(--e-5);border-top:1px solid var(--mar-linha);display:grid;gap:var(--e-2)}
.rodape-avisos p{margin:0}
.rodape strong{color:#fff}

/* ---------- Páginas internas ---------- */
.pagina{padding:clamp(32px,5vw,64px) 0 var(--secao)}
.pagina h1{font-size:var(--t-48);max-width:22ch}
.pagina .sub{font-size:var(--t-18);color:var(--texto-2);max-width:60ch;margin:var(--e-4) 0 var(--e-6)}
.estreito{max-width:44rem}
.trilha{font-size:var(--t-14);color:var(--texto-3);margin-bottom:var(--e-4)}
.trilha a{color:var(--texto-2)}

/* Progresso da consulta */
.progresso{border:1px solid var(--linha-forte);border-radius:var(--r-3);padding:var(--e-5);background:var(--papel);box-shadow:var(--s-1);display:grid;gap:var(--e-3);max-width:44rem}
.progresso h1{font-size:var(--t-32);margin:0}
.progresso p{margin:0}
.barra{height:10px;border-radius:999px;background:var(--agua-2);overflow:hidden;position:relative}
.barra i{display:block;height:100%;width:0;background:var(--azul);border-radius:inherit;transition:width .5s var(--ease)}
.barra.indef i{width:35%;position:absolute;animation:varrer 1.4s var(--ease) infinite}
@keyframes varrer{from{left:-35%}to{left:100%}}
@media (prefers-reduced-motion:reduce){.barra.indef i{position:static;width:100%;opacity:.35;animation:none}}
.progresso-txt{font:500 var(--t-18)/1.4 var(--f-dado);font-variant-numeric:tabular-nums;color:var(--tinta)}
.parciais{margin-top:var(--e-5);display:grid;gap:var(--e-4)}

/* Resultado */
.res-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--e-3);margin-bottom:var(--e-5)}
.res-cab h1{font-size:var(--t-48);margin:0}
.res-resumo{list-style:none;margin:0 0 var(--e-6);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-3)}
.res-resumo li{display:flex;align-items:center;gap:var(--e-3);padding:var(--e-4);border:1px solid var(--linha-forte);border-radius:var(--r-2);background:var(--papel)}
.res-resumo strong{font:500 var(--t-32)/1 var(--f-dado);font-variant-numeric:tabular-nums;color:var(--tinta)}
.res-resumo span{font-size:var(--t-14);color:var(--texto-2)}
@media (max-width:700px){.res-resumo{grid-template-columns:1fr}}
.res-lista{display:grid;gap:var(--e-4)}
.cnpj-dados{grid-column:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--e-2) var(--e-5);margin:var(--e-2) 0 0}
.cnpj-dados dt{font-size:var(--t-12);color:var(--texto-3)}
.cnpj-dados dd{margin:0;color:var(--tinta);font-size:var(--t-14)}
.sinal .bloco-extra{grid-column:2;margin-top:var(--e-3)}
.sinal ul.sinais,.sinal ul.avisos{margin:var(--e-2) 0 0;padding-left:1.1rem;color:var(--texto-2);font-size:var(--t-14)}
.pub{margin-top:var(--e-3);padding:var(--e-3) var(--e-4);border:1px solid var(--linha);border-radius:var(--r-2);background:var(--agua);font-size:var(--t-14);color:var(--texto-2)}
.pub strong{color:var(--tinta)}
.pub q{display:block;margin:var(--e-2) 0;color:var(--tinta);quotes:"“" "”"}
.pub a{display:inline-flex;align-items:center;gap:4px;font-weight:600}
.pub a svg{width:14px;height:14px}
.cta-resultado{margin-top:var(--e-6);padding:var(--e-6);border-radius:var(--r-3)}
.cta-resultado h2{font-size:var(--t-32);color:#fff}
.cta-resultado p{color:var(--mar-texto)}
.aviso-cartao{border:1px solid var(--linha-forte);border-radius:var(--r-3);padding:var(--e-6);background:var(--papel);max-width:44rem}
.aviso-cartao h2{font-size:var(--t-32)}

/* Lista de espera */
.form{display:grid;gap:var(--e-4);padding:clamp(18px,3vw,32px);border:1px solid var(--linha-forte);border-radius:var(--r-3);background:var(--papel);box-shadow:var(--s-1)}
.campo{display:grid;gap:6px;min-width:0}
.form > *{min-width:0}
.campo label{font:600 var(--t-16)/1.3 var(--f-texto);color:var(--tinta)}
.campo label .opcional{font-weight:400;color:var(--texto-3)}
.campo input,.campo select{width:100%;min-width:0;text-overflow:ellipsis;min-height:52px;padding:0 var(--e-4);border:1.5px solid var(--borda-campo);border-radius:var(--r-2);background:var(--papel);color:var(--tinta);font:400 var(--t-16)/1 var(--f-texto)}
.campo input[type=tel]{font-family:var(--f-dado);font-variant-numeric:tabular-nums}
.campo input:hover,.campo select:hover{border-color:var(--texto-2)}
.campo input:focus-visible,.campo select:focus-visible{border-color:var(--azul);box-shadow:0 0 0 3px var(--anel-campo);border-radius:var(--r-2)}
.campo input::placeholder{color:var(--texto-3);opacity:1}
.msg-erro{font-size:var(--t-14);font-weight:600;color:var(--alto)}
.msg-erro:empty{display:none}
.opt{display:grid;grid-template-columns:auto 1fr;gap:var(--e-3);align-items:start;padding:var(--e-4);border-radius:var(--r-2);background:var(--agua)}
.opt input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--azul)}
.opt label{font-size:var(--t-14);color:var(--texto-2)}
.form .btn{min-height:56px}
.sucesso{padding:var(--e-5);border:1px solid var(--ok);border-radius:var(--r-3);background:var(--ok-fundo);color:var(--tinta);display:grid;grid-template-columns:auto 1fr;gap:var(--e-3)}
.sucesso p{margin:var(--e-1) 0 0}

/* Documentos legais (gerados de legal/*.md) */
.documento{max-width:48rem;padding-top:clamp(24px,4vw,48px);padding-bottom:var(--secao)}
.documento h1{font-size:var(--t-48)}
.documento h2{font-size:var(--t-24);margin-top:var(--e-7)}
.documento h3{font-size:var(--t-20);margin-top:var(--e-5)}
.documento li{margin-bottom:var(--e-2);color:var(--texto-2)}
.documento p{color:var(--texto-2)}
.documento blockquote{margin:var(--e-4) 0;padding:var(--e-3) var(--e-5);border:1px solid var(--linha-forte);border-radius:var(--r-2);background:var(--agua)}
.documento hr{border:0;border-top:1px solid var(--linha);margin:var(--e-6) 0}
.tabela-rolavel{overflow-x:auto;margin:var(--e-4) 0}
.documento table{border-collapse:collapse;width:100%;font-size:var(--t-14)}
.documento th,.documento td{border:1px solid var(--linha-forte);padding:8px 10px;text-align:left;vertical-align:top}
.documento th{background:var(--agua)}
.aviso-rascunho{margin-bottom:var(--e-6);padding:var(--e-4) var(--e-5);border:1px dashed var(--atencao-marca);border-radius:var(--r-2);background:var(--atencao-fundo);color:var(--atencao)}
mark.preencher{background:var(--atencao-fundo);color:var(--atencao);padding:0 3px;border-radius:3px}
.mut{color:var(--texto-3)}

/* C3: campo-isca (honeypot) da lista de espera, fora da tela e da leitura de tela; robô que preenche é descartado */
.isca{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
/* C9: caixa do Turnstile (só aparece se a Cloudflare pedir interação) */
.turnstile{margin-top:var(--e-3)}
.turnstile:empty{margin:0}
/* Teste BA2 (docs/experimentos.md): pergunta de 1 clique e cadastro no resultado da consulta */
.ba2{display:grid;gap:var(--e-4)}
.ba2-pergunta p{margin:0 0 var(--e-2)}
.ba2-opcoes{display:flex;flex-wrap:wrap;gap:var(--e-2)}
.ba2-opcoes .btn{min-height:44px}
.ba2-opcoes .btn[aria-pressed="true"]{--fundo:var(--luz);--cor:var(--mar);outline:2px solid #fff;outline-offset:2px}
.ba2 .form{background:var(--papel);color:var(--tinta);padding:var(--e-5);border-radius:var(--r-3)}
.ba2 .form p,.ba2 .form strong{color:var(--tinta)}
.ba2 .form a:not(.btn){color:var(--azul)}
.ba2 .sucesso strong,.ba2 .sucesso p{color:var(--tinta)}
#ba2-abrir{justify-self:start}
