/* Candidato Nacional — cores tiradas da logo e do banner do Paulo.
   #0168E3 da 5.13:1 em branco (passa AA em texto normal);
   #0071FE da 4.38:1, entao so entra em texto grande ou como fundo. */
:root{
  --azul:#0168E3;
  --azul-esc:#0A52B0;
  --azul-cl:#0071FE;
  --azul-pal:#CAE2FD;
  --azul-nev:#EEF5FF;
  --navy:#041930;
  --navy-2:#0B2347;
  --tinta:#13203A;
  --cinza:#5B6880;
  --cinza-cl:#65728E;
  --linha:#DFE6F2;
  --fundo:#F6F9FE;
  --branco:#fff;
  --verde:#0B7A46;
  --verde-pal:#E4F6EC;
  --amb:#9A6400;
  --amb-pal:#FFF4DF;
  --verm:#C0203A;
  --verm-pal:#FDECEF;
  --raio:14px;
  --raio-g:20px;
  --sombra:0 1px 2px rgba(4,25,48,.06),0 6px 18px rgba(4,25,48,.07);
  --sombra-g:0 2px 6px rgba(4,25,48,.07),0 18px 44px rgba(4,25,48,.11);
  --larg:1120px;
  --fonte:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--fundo);color:var(--tinta);
  font-family:var(--fonte);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--navy);line-height:1.18;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(1.65rem,5.2vw,2.6rem);font-weight:800}
h2{font-size:clamp(1.3rem,4vw,1.9rem);font-weight:800}
h3{font-size:1.06rem;font-weight:700}
p{margin:0}
.env{width:100%;max-width:var(--larg);margin:0 auto;padding:0 18px}
.pula{position:absolute;left:-9999px;top:0}
.pula:focus{left:8px;top:8px;z-index:99;background:#fff;padding:10px 14px;border-radius:8px}

/* ---------- topo ---------- */
.topo{background:var(--branco);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:40}
.topo-in{display:flex;align-items:center;gap:14px;min-height:64px}
.marca{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.marca:hover{text-decoration:none}
.marca img{width:38px;height:38px}
.marca b{display:block;color:var(--navy);font-size:1rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.marca span{display:block;color:var(--cinza);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}
.topo-nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.topo-nav a{
  color:var(--navy-2);font-weight:600;font-size:.93rem;
  padding:9px 12px;border-radius:9px;
}
.topo-nav a:hover{background:var(--azul-nev);text-decoration:none}
.topo-nav .bt{padding:10px 16px}
.menu-bt{
  margin-left:auto;display:none;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid var(--linha);background:var(--branco);
  border-radius:11px;cursor:pointer;color:var(--navy);
}
@media (max-width:860px){
  .menu-bt{display:flex}
  .topo-nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--branco);border-bottom:1px solid var(--linha);
    flex-direction:column;align-items:stretch;gap:2px;padding:10px 18px 18px;
    box-shadow:var(--sombra);
  }
  .topo-nav.aberto{display:flex}
  /* ATENCAO: precisa do :not(.bt). Sem isso esta regra vence a .bt por
     especificidade e desmonta o botao dentro do menu aberto. */
  .topo-nav a:not(.bt){padding:13px 12px;font-size:1rem}
  .topo-nav .bt{margin-top:8px;justify-content:center}
}

/* ---------- botoes ---------- */
.bt{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:inherit;font-size:1rem;font-weight:700;line-height:1.2;
  padding:14px 22px;border-radius:12px;border:1.5px solid transparent;
  cursor:pointer;text-align:center;transition:background .15s,border-color .15s,transform .06s;
}
.bt:hover{text-decoration:none}
.bt:active{transform:translateY(1px)}
.bt-1{background:var(--azul);color:#fff;border-color:var(--azul)}
.bt-1:hover{background:var(--azul-esc);border-color:var(--azul-esc)}
.bt-2{background:var(--branco);color:var(--azul);border-color:#B9D6FA}
.bt-2:hover{background:var(--azul-nev)}
.bt-3{background:transparent;color:var(--navy);border-color:var(--linha)}
.bt-3:hover{background:var(--azul-nev)}
.bt-zap{background:#188044;color:#fff;border-color:#188044}
.bt-zap:hover{background:#146E39;border-color:#146E39}
.bt-g{padding:16px 28px;font-size:1.06rem;width:100%}
.bt-p{padding:10px 15px;font-size:.9rem;border-radius:10px}
.bt[disabled],.bt[aria-disabled=true]{opacity:.55;pointer-events:none}
@media (min-width:560px){.bt-g{width:auto}}

/* ---------- cartoes e secoes ---------- */
.sec{padding:clamp(40px,7vw,76px) 0}
.sec-b{background:var(--branco)}
.cab{max-width:62ch;margin-bottom:clamp(22px,3.5vw,34px)}
.cab p{color:var(--cinza);margin-top:10px;font-size:1.05rem}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-g);padding:22px}
.grade{display:grid;gap:16px}
@media (min-width:720px){
  .g-2{grid-template-columns:repeat(2,1fr)}
  .g-3{grid-template-columns:repeat(3,1fr)}
}
.selo{
  display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:999px;
}
.selo-a{background:var(--azul-nev);color:var(--azul-esc)}
.selo-v{background:var(--verde-pal);color:var(--verde)}
.selo-m{background:var(--amb-pal);color:var(--amb)}
.selo-c{background:#EEF1F7;color:var(--cinza)}

/* ---------- capa ---------- */
.capa{background:linear-gradient(170deg,#fff 0%,var(--azul-nev) 100%);padding:clamp(34px,6vw,70px) 0 clamp(40px,7vw,78px)}
.capa-in{display:grid;gap:30px;align-items:center}
@media (min-width:900px){.capa-in{grid-template-columns:1.08fr .92fr;gap:44px}}
.capa h1{margin-bottom:16px}
.capa h1 em{font-style:normal;color:var(--azul)}
.capa-sub{color:var(--navy-2);font-size:clamp(1rem,2.4vw,1.16rem);max-width:46ch}
.capa-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.capa-nota{margin-top:18px;color:var(--cinza);font-size:.9rem}
.capa-arte{display:none}
@media (min-width:900px){.capa-arte{display:block}}

/* ---------- formularios ---------- */
.form{display:grid;gap:16px}
.campo{display:grid;gap:7px}
.campo label{font-weight:700;color:var(--navy);font-size:.92rem}
.campo label .op{font-weight:500;color:var(--cinza)}
.campo .dica{color:var(--cinza);font-size:.84rem}
input[type=text],input[type=tel],input[type=email],input[type=password],
input[type=number],input[type=search],select,textarea{
  font-family:inherit;font-size:1rem;color:var(--tinta);background:var(--branco);
  border:1.5px solid var(--linha);border-radius:12px;padding:13px 14px;width:100%;
  transition:border-color .15s,box-shadow .15s;
}
textarea{min-height:110px;resize:vertical;line-height:1.55}
select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B6880' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--azul);box-shadow:0 0 0 4px rgba(1,104,227,.14);
}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--verm)}
.dupla{display:grid;gap:16px}
@media (min-width:560px){.dupla{grid-template-columns:1fr 1fr}.dupla.pq{grid-template-columns:1fr 110px}}
.erro-campo{color:var(--verm);font-size:.86rem;font-weight:600}
.aviso{border-radius:12px;padding:13px 16px;font-size:.94rem;font-weight:600;display:flex;gap:10px;align-items:flex-start}
.aviso-e{background:var(--verm-pal);color:var(--verm)}
.aviso-v{background:var(--verde-pal);color:var(--verde)}
.aviso-i{background:var(--azul-nev);color:var(--azul-esc)}
.radios{display:grid;gap:10px}
.radio{display:flex;align-items:center;gap:11px;border:1.5px solid var(--linha);border-radius:12px;padding:13px 15px;cursor:pointer;background:#fff}
.radio input{width:20px;height:20px;accent-color:var(--azul);margin:0;flex:0 0 auto}
.radio:has(input:checked){border-color:var(--azul);background:var(--azul-nev)}
.radio span{font-weight:600;color:var(--navy)}
.radio small{display:block;font-weight:500;color:var(--cinza)}
@media (min-width:560px){.radios.lado{grid-template-columns:1fr 1fr}}
.caixa-form{max-width:560px;margin:0 auto}
.passos{display:flex;gap:8px;margin-bottom:22px}
.passo{flex:1;height:5px;border-radius:99px;background:var(--linha)}
.passo.on{background:var(--azul)}

/* ---------- lista de vagas ---------- */
.busca{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-g);padding:16px;box-shadow:var(--sombra);display:grid;gap:12px}
@media (min-width:760px){.busca{grid-template-columns:1fr 1fr auto;align-items:end}}
.vagas{display:grid;gap:14px;margin-top:22px}
.vaga{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-g);
  padding:20px;display:block;color:inherit;transition:border-color .15s,box-shadow .15s;
}
.vaga:hover{text-decoration:none;border-color:#B9D6FA;box-shadow:var(--sombra)}
.vaga h3{margin-bottom:5px}
.vaga .emp{color:var(--cinza);font-weight:600;font-size:.94rem}
.vaga-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vaga-sal{margin-top:13px;font-weight:800;color:var(--verde);font-size:1.02rem}
.vaga-sal.combinar{color:var(--cinza);font-weight:700;font-size:.95rem}
.vaga-pe{margin-top:14px;padding-top:13px;border-top:1px solid var(--linha);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.vaga-data{color:var(--cinza);font-size:.85rem}
.vazio{background:var(--branco);border:1px dashed var(--linha);border-radius:var(--raio-g);padding:40px 24px;text-align:center}
.vazio h3{margin-bottom:8px}
.vazio p{color:var(--cinza);max-width:48ch;margin:0 auto 20px}

/* ---------- painel ---------- */
.painel{display:grid;gap:22px;padding:clamp(26px,4vw,40px) 0}
@media (min-width:980px){.painel{grid-template-columns:260px 1fr;align-items:start;gap:30px}}
.lateral{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-g);padding:14px;display:grid;gap:3px}
.lateral a{padding:12px 14px;border-radius:11px;color:var(--navy-2);font-weight:600;font-size:.95rem}
.lateral a:hover{background:var(--azul-nev);text-decoration:none}
.lateral a.on{background:var(--azul);color:#fff}
.metricas{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.metrica{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:18px}
.metrica b{display:block;font-size:2rem;font-weight:800;color:var(--navy);line-height:1.1}
.metrica span{color:var(--cinza);font-size:.88rem;font-weight:600}
.metrica small{display:block;color:var(--cinza-cl);font-size:.78rem;margin-top:5px}
.lista{display:grid;gap:12px}
.item{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:16px 18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.item h3{font-size:1rem}
.item .sub{color:var(--cinza);font-size:.9rem}

/* ---------- rodape ---------- */
.rodape{background:var(--navy);color:#AFC0DA;padding:48px 0 32px;margin-top:40px}
.rodape a{color:#D6E4FA}
.rodape-in{display:grid;gap:26px}
@media (min-width:760px){.rodape-in{grid-template-columns:1.4fr 1fr 1fr}}
.rodape h4{color:#fff;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;margin:0 0 12px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.94rem}
.rodape-fim{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;font-size:.86rem;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.rodape .marca b{color:#fff}
.rodape .marca span{color:#8FA4C6}

.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
