/* Validada — tema único, claro. Para o nicho jurídico o fundo branco é o que
   inspira confiança; o tema escuro fazia o site parecer "de hacker".
   Regra da casa: espaço em branco no lugar de caixa. Borda só onde separa. */
@font-face{font-family:"Source Serif 4";font-weight:600;font-display:swap;src:url(/fontes/source-serif-4-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-weight:700;font-display:swap;src:url(/fontes/source-serif-4-latin-700-normal.woff2) format("woff2")}
:root{color-scheme:light;
  --fg:#1c2530;--mut:#5f6b7a;--suave:#8a95a3;--bd:#e3e7ec;--bg:#ffffff;--papel:#f7f8fa;
  --ac:#1f3a5f;--acfg:#fff;--acbg:#edf1f6;
  --ok:#1d6644;--okbg:#eaf4ee;--bloq:#a4262c;--bloqbg:#fcefef;--inc:#7d5300;--incbg:#fdf5e1;--neu:#5f6b7a;--neubg:#f0f2f5;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ac)}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
main.w{max-width:760px;padding-top:12px;padding-bottom:24px}
main.w.estreita{max-width:440px}
.ocultar{display:none !important}

/* ---- cabeçalho ---- */
header.topo{border-bottom:1px solid var(--bd);background:var(--bg)}
header.topo>.w{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:12px;color:var(--fg);text-decoration:none}
.selo-v{width:38px;height:38px;flex:none;display:grid;place-items:center;background:var(--ac);color:#fff;font:700 22px/1 var(--serif);border-radius:3px;box-shadow:inset 0 0 0 3px var(--ac),inset 0 0 0 4px rgba(255,255,255,.5)}
.selo-v.pequeno{width:30px;height:30px;font-size:17px}
.marca .nome{display:flex;flex-direction:column;line-height:1.15}
.marca .nome b{font:700 21px/1.1 var(--serif);letter-spacing:.01em}
.marca .nome small{font-size:12px;color:var(--mut);letter-spacing:.02em}
nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
nav a,nav button{font:inherit;font-size:15px;color:var(--mut);text-decoration:none;background:none;border:0;padding:6px 10px;border-radius:6px;cursor:pointer}
nav a:hover,nav button:hover{color:var(--fg)}
nav form{margin:0}
nav a.btn{color:var(--acfg);margin-left:6px}
nav a.btn:hover{color:var(--acfg)}
@media (max-width:640px){
  .so-largo{display:none}
  header.topo>.w{gap:8px;padding-top:12px;padding-bottom:12px}
  header.topo nav{width:100%;margin-left:-10px}
  header.topo nav a,header.topo nav button{font-size:14px}
  header.topo nav a.btn{padding:6px 12px;margin-left:auto}
}

/* ---- tipografia ---- */
h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--fg);line-height:1.2}
h1{font-size:clamp(28px,4.5vw,34px);margin:32px 0 10px}
h1.grande{font-size:clamp(32px,5vw,48px);line-height:1.1;margin:10px 0 18px;letter-spacing:-.01em}
h2{font-size:22px;margin:44px 0 12px}
h3{font-size:17px;margin:26px 0 8px}
.lead{font-size:19px;color:var(--mut);margin:0 0 28px;max-width:36em}
.mut{color:var(--mut)}.peq{font-size:14px}
.sobre-titulo{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ac)}
code,.mono{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}

/* ---- botões e formulários ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;padding:12px 22px;border-radius:6px;border:1px solid var(--ac);background:var(--ac);color:var(--acfg);cursor:pointer;text-decoration:none;transition:filter .15s}
.btn:hover{filter:brightness(1.12)}
.btn.sec{background:transparent;color:var(--ac);border-color:#c9d3df}
.btn.sec:hover{border-color:var(--ac);filter:none}
.btn[disabled]{opacity:.5;cursor:not-allowed;filter:none}
.peq-btn{padding:8px 16px;font-size:15px}
.linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nova{display:flex;gap:8px;flex-wrap:wrap}
.nova input{flex:1 1 260px}
label{display:block;font-weight:600;font-size:14px;margin:16px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=url],select{width:100%;font:inherit;padding:11px 12px;border:1px solid #cfd6df;border-radius:6px;background:#fff;color:var(--fg)}
input:focus,select:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px var(--acbg)}
button:focus-visible,a:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.caixa{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--mut)}
.caixa input{margin-top:4px}
input.arquivo{width:100%;font:inherit;font-size:14px;color:var(--mut);padding:8px;border:1px dashed #cfd6df;border-radius:6px;background:var(--papel)}
input.arquivo::file-selector-button{font:inherit;font-weight:600;margin-right:12px;padding:8px 14px;border-radius:6px;border:1px solid var(--ac);background:#fff;color:var(--ac);cursor:pointer}

/* ---- avisos e selos ---- */
.msg{padding:12px 16px;border-radius:6px;margin:16px 0;font-size:15px}
.msg.erro{background:var(--bloqbg);color:var(--bloq)}
.msg.info{background:var(--neubg);color:var(--fg)}
.msg.ok{background:var(--okbg);color:var(--ok)}
.selo{display:inline-block;font-weight:600;font-size:12.5px;padding:2px 10px;border-radius:99px;white-space:nowrap}
.selo.OBTIDA{background:var(--okbg);color:var(--ok)}
.selo.BLOQUEADA,.selo.falhou{background:var(--bloqbg);color:var(--bloq)}
.selo.INCONCLUSIVA{background:var(--incbg);color:var(--inc)}
.selo.na_fila,.selo.capturando{background:var(--neubg);color:var(--neu)}
.faixa{border-radius:6px;padding:16px 18px;margin:20px 0;color:var(--fg)}
.faixa b{display:block;font-size:17px;margin-bottom:2px}
.faixa.OBTIDA{background:var(--okbg)}.faixa.OBTIDA b{color:var(--ok)}
.faixa.BLOQUEADA,.faixa.falhou{background:var(--bloqbg)}.faixa.BLOQUEADA b,.faixa.falhou b{color:var(--bloq)}
.faixa.INCONCLUSIVA{background:var(--incbg)}.faixa.INCONCLUSIVA b{color:var(--inc)}
.faixa ul{margin:8px 0 0;padding-left:20px}
.limite{color:var(--mut);background:var(--papel);border-radius:6px;padding:14px 18px}

/* ---- listas e tabelas: separador fino, sem moldura ---- */
.c{background:var(--papel);border-radius:8px;padding:20px}
.lista{list-style:none;padding:0;margin:0}
.lista li{border-bottom:1px solid var(--bd)}
.lista a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 4px;color:var(--fg);text-decoration:none}
.lista a:hover .u{color:var(--ac)}
.lista .u{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.lista .d{grid-column:1/-1;color:var(--mut);font-size:13px}
.vazio{padding:28px;text-align:center;color:var(--mut);background:var(--papel);border-radius:8px}
table.dados{width:100%;border-collapse:collapse;font-size:15px}
table.dados th,table.dados td{text-align:left;vertical-align:top;padding:10px 4px;border-bottom:1px solid var(--bd)}
table.dados th{width:34%;font-weight:500;color:var(--mut);padding-right:16px}
table.dados td{word-break:break-word}
@media (max-width:560px){
  table.dados,table.dados tbody,table.dados tr{display:block}
  table.dados th,table.dados td{display:block;width:auto;padding:0;border:0}
  table.dados tr{padding:10px 0;border-bottom:1px solid var(--bd)}
  table.dados th{font-size:13px;margin-bottom:2px}
}

/* ---- captura ---- */
.progresso{list-style:none;padding:0;margin:0}
.progresso li{display:flex;gap:12px;padding:6px 0;font-size:15px}
.progresso li time{color:var(--suave);font:13px ui-monospace,monospace;flex:none;padding-top:2px}
.girando{width:16px;height:16px;border:2px solid var(--bd);border-top-color:var(--ac);border-radius:50%;animation:g .9s linear infinite;flex:none}
@keyframes g{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.girando{animation:none}}
.midia{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:18px}
.midia img,.midia video{width:100%;border-radius:8px;display:block;box-shadow:0 1px 3px rgba(20,30,45,.12)}
.midia video{background:#000}
.midia img{object-fit:cover;object-position:top;aspect-ratio:16/10;background:var(--papel)}
.solta{border:1.5px dashed #cfd6df;border-radius:8px;padding:28px;text-align:center;color:var(--mut);cursor:pointer;background:var(--papel)}
.solta.sobre{border-color:var(--ac);color:var(--fg)}
.conf li{font-size:14px}
.conf .sim{color:var(--ok);font-weight:700}.conf .nao{color:var(--bloq);font-weight:700}

/* ---- página inicial ---- */
main.larga{padding:0}
.hero{background:linear-gradient(180deg,#f5f7fa 0%,#fff 100%)}
.hero-grade{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
@media (max-width:860px){.hero-grade{grid-template-columns:1fr;gap:40px;padding-top:40px;padding-bottom:48px}}
.exemplo{margin:0;background:#fff;border-radius:10px;padding:22px 24px;box-shadow:0 1px 2px rgba(20,30,45,.06),0 12px 32px rgba(20,30,45,.10);position:relative}
.exemplo figcaption{position:absolute;top:-11px;right:18px;background:#fff;color:var(--suave);font-size:12px;padding:1px 8px;border-radius:99px;box-shadow:0 1px 3px rgba(20,30,45,.12)}
.exemplo-cab{display:flex;gap:12px;align-items:center;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--bd)}
.exemplo-cab b{display:block;font:700 16px var(--serif)}
.exemplo-cab span:not(.selo-v){font-size:13px;color:var(--mut)}
.exemplo dl{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;margin:12px 0 0;font-size:14px}
.exemplo dt{color:var(--mut)}
.exemplo dd{margin:0;min-width:0}
.servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:72px;padding-bottom:72px}
@media (max-width:760px){.servicos{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:48px}}
.servicos i{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--acbg)}
.servicos svg{width:22px;height:22px;fill:none;stroke:var(--ac);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.servicos h2{font-size:20px;margin:16px 0 8px}
.servicos p{margin:0;color:var(--mut)}
.faixa-clara{background:var(--papel);padding:64px 0}
.estreita-media{max-width:820px}
.faixa-clara h2{margin-top:0}
.prova-duas{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media (max-width:640px){.prova-duas{grid-template-columns:1fr;gap:8px}}
.prova-duas h3{margin-top:12px}
.sim-lista,.nao-lista{list-style:none;padding:0;margin:0}
.sim-lista li,.nao-lista li{position:relative;padding:5px 0 5px 28px}
.sim-lista li::before{content:"✓";position:absolute;left:4px;color:var(--ok);font-weight:700}
.nao-lista li::before{content:"–";position:absolute;left:6px;color:var(--suave);font-weight:700}
.fundamentos-linha{margin:32px 0 0;font-size:13px;color:var(--suave)}

/* ---- rodapé ---- */
footer.rodape{border-top:1px solid var(--bd);background:#fff;color:var(--mut);font-size:14px}
main.w+footer.rodape{margin-top:64px}
footer.rodape .w{padding-top:36px;padding-bottom:28px}
footer.rodape .colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
footer.rodape .colunas>div{display:flex;flex-direction:column;gap:6px}
footer.rodape b{color:var(--fg);font:700 15px var(--serif);margin-bottom:2px}
footer.rodape a{color:var(--mut);text-decoration:none}footer.rodape a:hover{color:var(--ac)}
footer.rodape .nota{margin:28px 0 0;padding-top:16px;border-top:1px solid var(--bd);font-size:13px;color:var(--suave)}

/* ---- assinatura ---- */
fieldset.signatario{border:0;border-radius:8px;background:var(--papel);padding:4px 20px 12px;margin:0 0 14px}
fieldset.signatario legend{padding:0;font-size:13px;font-weight:600;color:var(--mut);float:left;width:100%;margin:14px 0 0}
fieldset.signatario legend+*{clear:both}
fieldset.signatario:only-child [data-remover]{display:none}
.pdf{display:flex;flex-direction:column;gap:14px;background:var(--papel);border-radius:8px;padding:14px;margin:18px 0}
.pdf canvas{display:block;background:#fff;box-shadow:0 1px 3px rgba(20,30,45,.15)}
.fim-doc{text-align:center;color:var(--suave);font-size:13px;padding:8px}
.barra-assinar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  padding:12px max(20px,calc((100vw - 760px)/2 + 20px));background:rgba(255,255,255,.96);border-top:1px solid var(--bd);backdrop-filter:blur(6px)}
.barra-assinar span{flex:1 1 160px}
#etapa-doc{padding-bottom:96px}
.metodos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:18px}
.metodos label{display:flex;flex-direction:column;gap:2px;cursor:pointer;font-weight:400;margin:0;background:#fff;border:1px solid var(--bd);border-radius:8px;padding:14px 16px}
.metodos label b{font-weight:600}
.metodos label:has(input:checked){border-color:var(--ac);box-shadow:0 0 0 2px var(--acbg)}
.metodos input{position:absolute;opacity:0}
.metodos label:has(input:focus-visible){outline:2px solid var(--ac);outline-offset:2px}
#traco{width:100%;height:auto;aspect-ratio:600/180;border:1.5px dashed #cfd6df;border-radius:8px;background:#fff;touch-action:none;display:block;margin-bottom:8px}
#camera,#selfie{width:100%;max-width:360px;border-radius:8px;display:block;margin:8px 0;background:#000}
#rotulo-consentimento{margin-top:22px}
.aviso-fe{margin:24px 0 0;color:var(--fg)}
.hero h1.grande{margin-top:0}

/* ---- entrar com Google (padrão visual exigido pelo Google) ---- */
.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:11px 16px;border:1px solid #cfd6df;border-radius:6px;background:#fff;color:#1f1f1f;font-weight:600;text-decoration:none;margin:18px 0 0}
.btn-google:hover{background:#f7f8fa}
.btn-google svg{width:18px;height:18px}
.ou{display:flex;align-items:center;gap:12px;color:var(--suave);font-size:13px;margin:18px 0 0}
.ou::before,.ou::after{content:"";flex:1;border-top:1px solid var(--bd)}
form.inline{display:inline;margin:0}
button.link{font:inherit;color:var(--ac);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
