/* Rede Ceteps — site público
   Paleta: petróleo #0C3A48 · tinta #0C2530 · ciano #009FE3 · névoa #F2F5F5
   Tipos: Sora (títulos) · Figtree (texto) */
:root{
  --petroleo:#0C3A48; --petroleo-escuro:#06222B; --tinta:#0C2530; --cinza:#45595F;
  --ciano:#009FE3; --ciano-texto:#00709C; --ciano-claro:#E3F3FA;
  --nevoa:#F2F5F5; --linha:#D5DEDF; --branco:#fff; --ok:#0B6B33; --erro:#B42318;
  --raio:12px; --raio-p:8px;
  --fonte-titulo:"Sora",Georgia,serif; --fonte:"Figtree","Segoe UI",system-ui,sans-serif;
  --larg:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font:400 calc(17px * var(--fs, 1))/1.6 var(--fonte);color:var(--tinta);background:var(--branco)}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:var(--ciano-texto);text-underline-offset:3px}
a:hover{color:var(--petroleo)}
:focus-visible{outline:3px solid var(--ciano);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--fonte-titulo);line-height:1.15;letter-spacing:-.015em;margin:0 0 .5em;color:var(--tinta)}
h1{font-size:calc(clamp(32px,4.6vw,52px) * var(--fs, 1));font-weight:700}
h2{font-size:calc(clamp(24px,2.8vw,34px) * var(--fs, 1));font-weight:700}
h3{font-size:calc(19px * var(--fs, 1));font-weight:600;letter-spacing:-.005em}
p{margin:0 0 1em}
.wrap{max-width:var(--larg);margin:0 auto;padding:0 24px}
.sr,.isca{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;background:var(--branco);padding:10px 16px;z-index:100;border-radius:var(--raio-p)}
.pular:focus{top:12px}

/* Botões */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:10px;
  font:700 calc(16px * var(--fs, 1))/1 var(--fonte);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.botao-ciano{background:var(--ciano);color:var(--petroleo-escuro)}
.botao-ciano:hover{background:#33B3EA;color:var(--petroleo-escuro)}
.botao-escuro{background:var(--petroleo);color:var(--branco)}
.botao-escuro:hover{background:var(--petroleo-escuro);color:var(--branco)}
.botao-contorno{border-color:rgba(255,255,255,.45);color:var(--branco);background:transparent}
.botao-contorno:hover{border-color:var(--branco);color:var(--branco);background:rgba(255,255,255,.08)}
.botao-cheio{width:100%}

/* Topo */
.topo{background:var(--petroleo);color:var(--branco);position:relative;z-index:20}
.topo a{color:var(--branco)}
.topo-faixa{background:var(--petroleo-escuro);font-size:calc(14px * var(--fs, 1))}
.topo-faixa-in{display:flex;justify-content:space-between;gap:16px;min-height:40px;align-items:center;flex-wrap:wrap}
.unidade-atual{display:inline-flex;align-items:center;gap:8px;color:#CFE3EA}
.unidade-atual a{color:#7FD0F3;font-weight:600;margin-left:6px}
.topo-contatos{display:flex;gap:20px;font-weight:600}
.topo-contatos a{text-decoration:none}
.topo-principal{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.marca img{height:50px;width:auto}
.menu ul{list-style:none;margin:0;padding:0}
.menu>ul{display:flex;align-items:center;gap:6px}
.menu>ul>li>a{display:block;padding:12px 14px;font-weight:600;text-decoration:none;border-radius:var(--raio-p)}
.menu>ul>li>a:hover,.menu>ul>li>a[aria-current]{background:rgba(255,255,255,.1)}
.menu .menu-portal{margin-left:10px}
.menu .menu-portal a.botao{display:inline-flex;min-height:44px;padding:0 18px}
.menu-botao{display:none;align-items:center;gap:10px;background:transparent;border:2px solid rgba(255,255,255,.4);color:var(--branco);
  border-radius:10px;min-height:44px;padding:0 14px;font:600 calc(15px * var(--fs, 1)) var(--fonte);cursor:pointer}
.menu-icone,.menu-icone::before,.menu-icone::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.menu-icone::before,.menu-icone::after{content:"";position:absolute;left:0}
.menu-icone::before{top:-6px}.menu-icone::after{top:6px}

@media (max-width:900px){
  .menu-botao{display:inline-flex}
  .menu{position:absolute;left:0;right:0;top:100%;background:var(--petroleo);border-top:1px solid rgba(255,255,255,.12);display:none;padding:12px 24px 24px}
  .menu.is-aberto{display:block}
  .menu>ul{flex-direction:column;align-items:stretch;gap:2px}
  .menu .menu-portal{margin:12px 0 0}
  .topo-principal{min-height:72px}
  .marca img{height:42px}
  .topo-contatos{gap:14px}
}

/* Avisos */
.aviso{margin:20px 0 0;padding:14px 18px;border-radius:var(--raio-p);font-weight:500}
.aviso-ok{background:#E6F4EC;color:#0A4D26;border:1px solid #A7D7B8}
.aviso-erro{background:#FDECEA;color:#7A1C12;border:1px solid #F3B4AC}

/* Seleção de unidade */
.pg-selecao main{background:var(--nevoa)}
.selecao{padding:56px 0 72px}
.selecao-intro{max-width:680px;margin-bottom:36px}
.sobretitulo{font-weight:600;color:var(--ciano-texto);margin-bottom:10px}
.selecao-intro p:last-child{font-size:calc(18px * var(--fs, 1));color:var(--cinza)}
.selecao-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.estado-cartao{background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:18px}
.estado-cartao header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:20px;border-bottom:1px solid #E4EAEB}
.estado-sigla{display:block;font:700 calc(64px * var(--fs, 1))/.9 var(--fonte-titulo);color:var(--petroleo);letter-spacing:-.02em;margin-bottom:8px}
.estado-cartao h2{font:600 calc(18px * var(--fs, 1))/1.3 var(--fonte);margin:0;letter-spacing:0}
.selo{font-size:calc(13px * var(--fs, 1));font-weight:700;color:var(--petroleo);background:var(--ciano-claro);padding:5px 12px;border-radius:999px}
.estado-rotulo{margin:0;font-size:calc(14px * var(--fs, 1));font-weight:600;color:var(--cinza)}
.cidades{display:flex;flex-direction:column;gap:10px}
.cidade{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border:1px solid #C3CFD1;border-radius:10px;background:var(--branco);
  font:600 calc(16px * var(--fs, 1)) var(--fonte);color:var(--tinta);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.cidade span{flex:1}
.cidade small{font-size:calc(12px * var(--fs, 1));font-weight:700;opacity:.75}
.cidade:hover{border-color:var(--petroleo)}
.cidade.is-sel{background:var(--petroleo);border-color:var(--petroleo);color:var(--branco)}
.selecao-barra{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--petroleo);color:var(--branco);border-radius:14px;padding:16px 16px 16px 24px}
.selecao-barra span{display:block;font-size:calc(14px * var(--fs, 1));color:#BFD8E0}
.selecao-barra strong{font:600 calc(20px * var(--fs, 1)) var(--fonte-titulo)}
.selecao-acoes{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.lembrar{display:flex;align-items:center;gap:8px;font-size:calc(15px * var(--fs, 1));cursor:pointer}
.lembrar input,.lembrar-nojs input{width:18px;height:18px}
.lembrar-nojs{margin-top:20px}
@media (max-width:900px){.selecao-grade{grid-template-columns:1fr}.estado-sigla{font-size:calc(48px * var(--fs, 1))}.estado-cartao{padding:22px}.selecao{padding:36px 0 56px}}

/* Banners */
.banners{position:relative;background:var(--branco)}
.banners-trilho{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.banners-trilho::-webkit-scrollbar{display:none}
.banner{flex:0 0 100%;scroll-snap-align:start}
.banner img{width:100%;aspect-ratio:12/5;object-fit:contain;background:var(--branco)}
@media (max-width:700px){.banner img{aspect-ratio:8/9}}
.banners-pontos{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:10px}
.banners-pontos button{width:12px;height:12px;border-radius:50%;border:2px solid var(--branco);background:rgba(6,34,43,.35);padding:0;cursor:pointer;
  box-shadow:0 0 0 1px rgba(6,34,43,.3)}
.banners-pontos button[aria-current]{background:var(--branco)}

/* Faixa da unidade (sigla grande) */
.unidade{background:var(--petroleo);color:var(--branco);overflow:hidden}
.unidade-in{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.unidade-sigla{margin:0;font:800 clamp(120px,17vw,220px)/.8 var(--fonte-titulo);letter-spacing:-.04em;color:transparent;
  -webkit-text-stroke:2px #3A8FB0;user-select:none}
.unidade h1{color:var(--branco);font-size:calc(clamp(28px,3.4vw,40px) * var(--fs, 1))}
.unidade-texto>p{color:#CFE3EA;font-size:calc(18px * var(--fs, 1));max-width:600px}
.polos-lista{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.polos-lista a{display:flex;flex-direction:column;padding:12px 18px;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:var(--branco);text-decoration:none;min-width:180px}
.polos-lista a:hover{border-color:var(--branco)}
.polos-lista span{font-size:calc(14px * var(--fs, 1));color:#AFCBD4}
.polos-lista .is-atual a{background:var(--branco);color:var(--tinta);border-color:var(--branco)}
.polos-lista .is-atual span{color:var(--cinza)}
@media (max-width:760px){.unidade-in{grid-template-columns:1fr;gap:8px;padding-top:36px;padding-bottom:40px}.unidade-sigla{font-size:calc(110px * var(--fs, 1));line-height:1}.polos-lista a{min-width:0}}

/* Busca e categorias */
.busca-cursos{padding:40px 0 8px}
.busca label{display:block;font:600 calc(22px * var(--fs, 1)) var(--fonte-titulo);margin-bottom:12px}
.busca-campo{display:flex;gap:10px}
.busca-campo input{flex:1;min-width:0;min-height:52px;border:1px solid #B8C6C9;border-radius:10px;padding:0 16px;font:inherit}
.busca-campo input:focus{outline:3px solid #9BD8F2;border-color:var(--petroleo)}
.categorias{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.categorias a{display:flex;flex-direction:column;gap:2px;padding:18px 20px;border:1px solid var(--linha);border-radius:var(--raio);text-decoration:none;color:var(--tinta);background:var(--branco)}
.categorias a:hover{border-color:var(--petroleo);background:var(--nevoa)}
.categorias span{font-weight:700;font-size:calc(17px * var(--fs, 1))}
.categorias small{color:var(--cinza);font-size:calc(14px * var(--fs, 1))}

/* Seções */
.secao{padding:64px 0}
.secao-curta{padding:40px 0 72px}
.secao-clara{background:var(--nevoa)}
.secao-cabeca{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.secao-cabeca h2{margin:0}
.secao-cabeca a{font-weight:600}

/* Cards de curso */
.grade-cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.grade-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card-curso{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;display:flex}
.card-curso>a{display:flex;flex-direction:column;color:inherit;text-decoration:none;width:100%}
.card-curso:hover{border-color:var(--petroleo)}
.card-curso:hover h3{color:var(--ciano-texto)}
.card-midia{aspect-ratio:16/9;background:var(--petroleo);overflow:hidden}
.card-midia img{width:100%;height:100%;object-fit:cover}
.card-sem-imagem{display:flex;align-items:flex-end;width:100%;height:100%;padding:18px 20px;color:var(--branco);font:600 calc(15px * var(--fs, 1)) var(--fonte);
  background:linear-gradient(135deg,transparent 0 58%,rgba(0,159,227,.55) 58% 72%,transparent 72%),linear-gradient(135deg,transparent 0 76%,rgba(0,159,227,.3) 76%),var(--petroleo)}
.card-sem-imagem-grande{min-height:280px;font-size:calc(18px * var(--fs, 1));border-radius:var(--raio)}
.card-corpo{padding:20px;display:flex;flex-direction:column;flex:1}
.card-cat{font-size:calc(14px * var(--fs, 1));font-weight:600;color:var(--ciano-texto);margin-bottom:6px}
.card-corpo h3{margin-bottom:8px}
.card-corpo p{font-size:calc(15px * var(--fs, 1));color:var(--cinza);flex:1}
.card-fatos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 0;padding-top:14px;border-top:1px solid #E4EAEB}
.card-fatos dt{font-size:calc(12px * var(--fs, 1));color:var(--cinza)}
.card-fatos dd{margin:0;font-size:calc(14px * var(--fs, 1));font-weight:600}

/* Diferenciais */
.diferenciais{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start}
.diferenciais ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}
.diferenciais li{display:flex;gap:12px;font-weight:500;font-size:calc(17px * var(--fs, 1));padding:14px 0;border-bottom:1px solid var(--linha)}
.diferenciais svg{flex:none;color:var(--ciano-texto);margin-top:2px}
@media (max-width:860px){.diferenciais{grid-template-columns:1fr;gap:16px}.diferenciais ul{grid-template-columns:1fr}}

/* Empresas */
.empresas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:56px;align-items:center}
.empresas img{border-radius:16px;aspect-ratio:1;object-fit:cover;width:100%}
.empresas p{font-size:calc(18px * var(--fs, 1));color:var(--cinza);max-width:520px}
@media (max-width:860px){.empresas{grid-template-columns:1fr;gap:28px}.empresas img{aspect-ratio:16/10}}

/* Depoimentos */
.depoimento{margin:0;background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:24px;scroll-snap-align:start;display:flex;flex-direction:column}
.depoimento blockquote{margin:0 0 16px;flex:1;font-size:calc(16px * var(--fs, 1))}
.depoimento blockquote p::before{content:"“";font:700 calc(44px * var(--fs, 1))/0 var(--fonte-titulo);color:var(--ciano);display:block;height:24px;margin-top:10px}
.depoimento figcaption strong{display:block}
.depoimento figcaption span{font-size:calc(14px * var(--fs, 1));color:var(--cinza)}

/* Faixa CTA */
.faixa-cta{background:var(--petroleo-escuro);color:var(--branco);padding:56px 0}
.faixa-cta-in{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.faixa-cta h2{color:var(--branco);margin-bottom:8px}
.faixa-cta p{color:#CFE3EA;margin:0;max-width:560px}
.faixa-cta-botoes{display:flex;gap:12px;flex-wrap:wrap}

/* Cabeçalho de página interna */
.cabeca-pagina{background:var(--petroleo);color:var(--branco);padding:44px 0 48px}
.cabeca-pagina h1{color:var(--branco);font-size:calc(clamp(30px,4vw,44px) * var(--fs, 1))}
.cabeca-pagina p{color:#CFE3EA;font-size:calc(18px * var(--fs, 1));margin:0;max-width:720px}
.cabeca-pagina a{color:#7FD0F3}
.trilha{font-size:calc(14px * var(--fs, 1));color:#AFCBD4;margin-bottom:14px}
.trilha a{color:#CFE3EA}

/* Filtros */
.filtros{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.pilulas{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.pilulas a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--linha);border-radius:999px;text-decoration:none;color:var(--tinta);font-weight:600;font-size:calc(15px * var(--fs, 1))}
.pilulas a:hover{border-color:var(--petroleo)}
.pilulas a[aria-current]{background:var(--petroleo);color:var(--branco);border-color:var(--petroleo)}
.busca-compacta{min-width:280px}
.busca-compacta .busca-campo input{min-height:46px}
.busca-compacta .botao{min-height:46px}
.vazio{text-align:center;padding:40px 0}
.vazio .pilulas{justify-content:center;margin-bottom:24px}

/* Página de curso */
.curso-topo{background:var(--petroleo);color:var(--branco);padding:40px 0 56px}
.curso-topo-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
.curso-topo h1{color:var(--branco);font-size:calc(clamp(30px,4vw,46px) * var(--fs, 1))}
.curso-resumo{font-size:calc(19px * var(--fs, 1));color:#CFE3EA;max-width:600px}
.curso-fatos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:24px 0 28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.curso-fatos dt{font-size:calc(13px * var(--fs, 1));color:#AFCBD4}
.curso-fatos dd{margin:0;font-weight:600}
.curso-topo-midia img{border-radius:16px;width:100%;aspect-ratio:16/9;object-fit:cover}
.curso-corpo{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start}
.curso-conteudo section{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--linha)}
.curso-conteudo section:last-child{border-bottom:0}
.curso-conteudo h2{font-size:calc(26px * var(--fs, 1))}
.curso-lateral{position:sticky;top:20px}
.preco{font:700 calc(24px * var(--fs, 1)) var(--fonte-titulo);color:var(--petroleo)}
@media (max-width:980px){.curso-topo-in,.curso-corpo{grid-template-columns:1fr;gap:32px}.curso-lateral{position:static}.curso-topo-midia{order:-1}}

/* Texto rico */
.texto{font-size:calc(17px * var(--fs, 1))}
.texto ul,.texto ol{padding-left:1.3em;margin:0 0 1em}
.texto li{margin-bottom:.45em}
.texto h2{font-size:calc(26px * var(--fs, 1));margin-top:1.4em}
.texto h3{margin-top:1.2em}
.texto>:last-child{margin-bottom:0}
.pagina-texto{max-width:780px}
.pagina-com-form{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:56px;align-items:start}
@media (max-width:980px){.pagina-com-form{grid-template-columns:1fr}}

/* Contato */
.contato-grade{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:48px;align-items:start}
.polos-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.polo-cartao{border:1px solid var(--linha);border-radius:var(--raio);padding:22px}
.polo-cartao h2{font-size:calc(22px * var(--fs, 1))}
.polo-cartao h2 small{font:600 calc(13px * var(--fs, 1)) var(--fonte);color:var(--petroleo);background:var(--ciano-claro);padding:3px 10px;border-radius:999px;vertical-align:middle;margin-left:6px}
.polo-cartao p{color:var(--cinza);margin-bottom:8px}
.polo-cartao ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-weight:600}
@media (max-width:980px){.contato-grade{grid-template-columns:1fr}}

/* Formulário */
.formulario{background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(6,34,43,.06)}
.formulario h2{font-size:calc(24px * var(--fs, 1));margin-bottom:6px}
.formulario-sub{color:var(--cinza);font-size:calc(15px * var(--fs, 1))}
.campo{margin:0 0 14px;border:0;padding:0}
.campo label,.campo legend{display:block;font-weight:600;font-size:calc(15px * var(--fs, 1));margin-bottom:6px;padding:0}
.campo input:not([type=radio]):not([type=checkbox]),.campo select,.campo textarea{width:100%;min-height:48px;border:1px solid #B8C6C9;border-radius:var(--raio-p);
  padding:10px 14px;font:inherit;font-size:calc(16px * var(--fs, 1));color:var(--tinta);background:var(--branco)}
.campo input[type=file]{padding:10px}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid #9BD8F2;border-color:var(--petroleo)}
.campo-curto{max-width:140px}
.opcao{display:inline-flex!important;align-items:center;gap:8px;margin-right:18px;font-weight:500!important}
.opcao input{width:18px;height:18px}
.consentimento{display:flex;gap:10px;font-size:calc(14px * var(--fs, 1));color:var(--cinza);margin:6px 0 18px;align-items:flex-start}
.consentimento input{width:18px;height:18px;margin-top:3px;flex:none}

/* Rodapé */
.rodape{background:var(--petroleo-escuro);color:#CFE3EA;padding:56px 0 0;font-size:calc(15px * var(--fs, 1))}
.rodape a{color:var(--branco);text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape-grade{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.rodape h2{font:600 calc(16px * var(--fs, 1)) var(--fonte);color:var(--branco);margin-bottom:14px;letter-spacing:0}
.rodape ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rodape-marca img{height:52px;width:auto;margin-bottom:16px}
.rodape-social{display:flex;gap:16px;font-weight:600}
.rodape-base{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;padding-bottom:24px;font-size:calc(14px * var(--fs, 1));color:#9FBAC3}
@media (max-width:900px){.rodape-grade{grid-template-columns:1fr 1fr}.rodape-marca{grid-column:1/-1}}
@media (max-width:520px){.rodape-grade{grid-template-columns:1fr}}

/* WhatsApp flutuante */
.wa-flutuante{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#1F8F4E;color:var(--branco);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:30}
.wa-flutuante:hover{background:#17733E;color:var(--branco)}

@media (max-width:600px){
  body{font-size:calc(16px * var(--fs, 1))}
  .wrap{padding:0 18px}
  .secao{padding:48px 0}
  .busca-campo{flex-direction:column}
  .busca-campo .botao{width:100%}
  .formulario{padding:22px}
  .curso-fatos{grid-template-columns:1fr}
}

.curso-botoes{display:flex;gap:12px;flex-wrap:wrap}
.pilulas-area{margin:-12px 0 28px}
.pilulas-area a{min-height:40px;font-size:calc(14px * var(--fs, 1));font-weight:500}
.pilulas-area small{margin-left:6px;opacity:.7}

/* Parcerias */
.parceiros{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.parceiros li{border:1px solid var(--linha);border-radius:var(--raio);background:var(--branco);display:flex;align-items:center;justify-content:center;padding:20px;min-height:120px}
.parceiros a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.parceiros img{max-height:80px;width:auto;max-width:100%;object-fit:contain}

/* EducaMais */
.em-topo{background:var(--branco);border-bottom:4px solid #21B8B2}
.em-logos{list-style:none;margin:0;padding:20px 0;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}
.em-logos img{height:72px;width:auto;max-width:280px;object-fit:contain}
.em-sobre{color:#7FD0F3}
.em-grade{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.em-info{align-self:start}
.em-info dl{margin:0 0 20px;display:flex;flex-direction:column;gap:12px}
.em-info dt{font-size:calc(14px * var(--fs, 1));color:var(--cinza)}
.em-info dd{margin:0;font-weight:600}
.em-info h3{font-size:calc(17px * var(--fs, 1));margin-top:22px}
.em-info ul,.em-info ol{padding-left:1.2em;margin:0 0 14px}
.em-info li{margin-bottom:6px}
.em-bloco{border:0;border-top:1px solid #E4EAEB;margin:0 0 6px;padding:18px 0 4px}
.em-bloco>legend{font:700 calc(18px * var(--fs, 1)) var(--fonte-titulo);color:var(--petroleo);padding:0 0 10px}
.em-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.opcoes{display:flex;flex-wrap:wrap;gap:8px 20px;padding:4px 0}
.opcoes .opcao{margin:0}
.campo-dica{font-size:calc(14px * var(--fs, 1));color:var(--cinza);margin:0 0 10px}
.em-rodape{text-align:center;font-size:calc(14px * var(--fs, 1));color:var(--cinza);margin:14px 0 0}
.aviso ul{margin:8px 0 0;padding-left:1.2em}
.em-fechado{text-align:center}
@media (max-width:980px){.em-grade{grid-template-columns:1fr}.em-info{position:static}}
@media (max-width:600px){.em-2{grid-template-columns:1fr}.em-logos{gap:16px}.em-logos img{height:44px}}

/* Comprovante (tela e impressão) */
.comprovante-folha{max-width:820px;margin:0 auto;border:1px solid var(--linha);border-radius:var(--raio);padding:32px;background:var(--branco)}
.comprovante-folha h1{font-size:calc(28px * var(--fs, 1));text-align:center;margin-top:8px}
.comprovante-folha h2{font-size:calc(20px * var(--fs, 1));margin-top:24px}
.em-logos-p{padding:0 0 12px;border-bottom:3px solid #21B8B2}
.em-logos-p img{height:52px}
.comp-curso,.comp-protocolo{text-align:center;margin:0 0 6px}
.comp-protocolo strong{font:700 calc(22px * var(--fs, 1)) var(--fonte-titulo);color:var(--petroleo)}
.comp-dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:20px 0 0}
.comp-dados dt{font-size:calc(13px * var(--fs, 1));color:var(--cinza)}
.comp-dados dd{margin:0;font-weight:600}
.comp-largo{grid-column:1/-1}
.comp-lista{columns:2;column-gap:28px;padding-left:1.2em;font-size:calc(15px * var(--fs, 1))}
.comp-nota{font-size:calc(14px * var(--fs, 1));color:var(--cinza)}
.comp-acoes{text-align:center;margin-top:20px}
@media print{
  .topo,.rodape,.wa-flutuante,.nao-imprimir,.pular{display:none!important}
  body{font-size:12pt}
  .secao{padding:0}
  .comprovante-folha{border:0;padding:0}
}
.em-logos-p{flex-wrap:nowrap;gap:20px}
.em-logos-p li{flex:0 1 auto;min-width:0}
.em-logos-p img{height:46px;max-width:100%}

/* Faixa superior: links institucionais */
.topo-links{display:flex;align-items:center;gap:20px;font-weight:600}
.topo-links a{text-decoration:none;color:#E6F0F3}
.topo-links a:hover{color:var(--branco);text-decoration:underline}
.topo-fone{color:var(--branco)!important}
.unidade-atual a:only-child{margin-left:0}
.menu-so-movel{display:none}
@media (max-width:900px){.topo-links a:not(.topo-fone){display:none}.menu-so-movel{display:block}}

/* Megamenu */
.topo-principal{position:static}
.mega{display:flex;align-items:center}
.menu .mega>a{display:block;padding:12px 4px 12px 14px;font-weight:600;text-decoration:none;border-radius:var(--raio-p) 0 0 var(--raio-p)}
.menu .mega>a:hover,.menu .mega>a[aria-current]{background:rgba(255,255,255,.1)}
.mega-bt{width:30px;height:44px;border:0;background:transparent;color:var(--branco);cursor:pointer;border-radius:0 var(--raio-p) var(--raio-p) 0;display:flex;align-items:center;justify-content:center}
.mega-bt::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.mega-bt:hover{background:rgba(255,255,255,.1)}
.mega.is-aberto .mega-bt::before{transform:translateY(2px) rotate(-135deg)}
.mega-painel{position:absolute;left:0;right:0;top:100%;background:var(--branco);color:var(--tinta);box-shadow:0 24px 48px rgba(6,34,43,.25);
  border-top:3px solid var(--ciano);display:none;max-height:calc(100vh - 140px);overflow-y:auto}
.mega.is-aberto .mega-painel{display:block}
@media (hover:hover) and (min-width:901px){.mega:hover .mega-painel{display:block}}
.mega-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px 32px;padding-top:28px;padding-bottom:20px}
.mega-col-dupla{grid-column:span 2}
.mega-col-dupla ul{columns:2;column-gap:32px}
.mega-titulo{display:block;font:700 calc(15px * var(--fs, 1)) var(--fonte);color:var(--petroleo)!important;text-decoration:none;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--linha)}
.mega-titulo:hover{color:var(--ciano-texto)!important}
.mega-painel ul{list-style:none;margin:0;padding:0;display:block!important}
.mega-painel li{break-inside:avoid}
.mega-painel li a{display:block;padding:5px 0;color:var(--tinta)!important;text-decoration:none;font-size:calc(15px * var(--fs, 1));line-height:1.35}
.mega-painel li a:hover{color:var(--ciano-texto)!important;text-decoration:underline}
.mega-rodape{grid-column:1/-1;border-top:1px solid var(--linha);padding-top:14px;font-size:calc(14px * var(--fs, 1));color:var(--cinza)}
.mega-rodape a{font-weight:700;color:var(--ciano-texto)!important}
@media (max-width:900px){
  .mega{flex-wrap:wrap}
  .menu .mega>a{flex:1;border-radius:var(--raio-p)}
  .mega-bt{width:44px}
  .mega-painel{position:static;box-shadow:none;border-top:0;background:rgba(255,255,255,.06);border-radius:var(--raio-p);max-height:none;flex-basis:100%;margin:4px 0 8px}
  .mega-in{grid-template-columns:1fr;padding:14px 16px;gap:16px}
  .mega-col-dupla{grid-column:auto}.mega-col-dupla ul{columns:1}
  .mega-titulo{color:var(--branco)!important;border-color:rgba(255,255,255,.15)}
  .mega-painel li a{color:#CFE3EA!important}
  .mega-rodape{color:#AFCBD4;border-color:rgba(255,255,255,.15)}
  .mega-rodape a{color:#7FD0F3!important}
}

/* Carrossel de depoimentos */
.secao-cabeca .carrossel-setas{display:flex;gap:10px}
.carrossel-seta{width:48px;height:48px;border-radius:50%;border:1px solid var(--linha);background:var(--branco);color:var(--petroleo);cursor:pointer;display:flex;align-items:center;justify-content:center}
.carrossel-seta:hover:not(:disabled){border-color:var(--petroleo);background:var(--petroleo);color:var(--branco)}
.carrossel-seta:disabled{opacity:.35;cursor:default}
.depoimentos{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.depoimentos::-webkit-scrollbar{display:none}
@media (max-width:980px){.depoimentos{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:640px){.depoimentos{grid-auto-columns:88%}}
.carrossel-pontos{display:flex;justify-content:center;gap:8px;margin-top:22px}
.carrossel-pontos button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#B8C6C9;cursor:pointer}
.carrossel-pontos button[aria-current]{background:var(--petroleo);width:26px;border-radius:999px}

/* Blog */
.grade-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card-post{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.card-post>a{display:flex;flex-direction:column;color:inherit;text-decoration:none;height:100%}
.card-post:hover{border-color:var(--petroleo)}
.card-post-titulo{font-size:calc(20px * var(--fs, 1));margin-bottom:8px}
.card-post:hover .card-post-titulo{color:var(--ciano-texto)}
.paginacao{display:flex;justify-content:center;gap:8px;margin-top:32px}
.paginacao a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--linha);border-radius:var(--raio-p);text-decoration:none}
.paginacao a[aria-current]{background:var(--petroleo);color:var(--branco);border-color:var(--petroleo)}
.post-imagem{border-radius:var(--raio);margin-bottom:28px;width:100%}
.post-outros{margin-top:40px;padding-top:24px;border-top:1px solid var(--linha)}
.post-outros h2{font-size:calc(22px * var(--fs, 1))}

/* O item do menu ocupa toda a altura do cabeçalho: o mouse vai do link ao painel sem fechar */
@media (min-width:901px){
  .topo-principal{align-items:stretch}
  .marca{align-self:center}
  .menu{display:flex}
  .menu>ul{align-items:stretch}
  .menu>ul>li{display:flex;align-items:center}
}
@media (min-width:901px){
  .menu>ul>li.menu-so-movel{display:none}
  .menu>ul>li>a,.menu .mega>a{white-space:nowrap}
}
@media (min-width:901px) and (max-width:1120px){
  .menu>ul{gap:0}
  .menu>ul>li>a{padding:12px 10px}
  .menu .mega>a{padding-left:10px}
  .topo-links{gap:14px}
}

/* ===== v1.5 — páginas internas sem espaço vazio ===== */

/* Formulário: campos curtos em duas colunas */
.formulario .campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.formulario .campos>.campo{grid-column:1/-1}
.formulario .campos>.campo-meio{grid-column:span 1}
.formulario fieldset.campo-meio .opcao{margin-right:14px}
@media (max-width:520px){.formulario .campos>.campo-meio{grid-column:1/-1}}

/* Cartão de atendimento */
.cartao-atendimento{margin-top:28px;background:var(--nevoa);border-radius:var(--raio);padding:22px 24px}
.cartao-atendimento h2{font-size:calc(19px * var(--fs, 1));margin-bottom:12px}
.cartao-atendimento ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.cartao-atendimento li{display:flex;flex-direction:column;min-width:0}
.cartao-atendimento span{font-size:calc(13px * var(--fs, 1));color:var(--cinza)}
.cartao-atendimento a{font-weight:600;overflow-wrap:anywhere}
@media (max-width:520px){.cartao-atendimento ul{grid-template-columns:1fr}}

/* Página com formulário e texto longo: lado a lado, formulário acompanha a rolagem */
.pagina-com-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:56px;align-items:start}
.lateral-fixa{position:sticky;top:20px}
@media (max-width:980px){.pagina-com-form{grid-template-columns:1fr;gap:32px}.lateral-fixa{position:static}}

/* Página com formulário e texto curto: texto + contato em cima, formulário largo embaixo */
.pagina-larga{display:flex;flex-direction:column;gap:36px}
.pagina-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.pagina-intro .cartao-atendimento{margin-top:0}
.texto-destaque{font-size:calc(19px * var(--fs, 1));line-height:1.6}
.form-largo .formulario{padding:32px 36px}
.form-largo .campos{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-largo .campos>.campo{grid-column:span 4}
.form-largo .campos>.campo-meio{grid-column:span 2}
.form-largo .consentimento,.form-largo .botao-cheio{max-width:560px}
@media (max-width:980px){.pagina-intro{grid-template-columns:1fr;gap:24px}}
@media (max-width:640px){.form-largo .formulario{padding:22px}.form-largo .campos>.campo-meio{grid-column:span 4}}

/* Página sem formulário (ex.: Quem somos): texto + lateral */
.pagina-com-lateral{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}
.pagina-com-lateral>.texto{max-width:720px}
.pagina-com-lateral .cartao-atendimento ul{grid-template-columns:1fr}
.numeros{background:var(--petroleo);color:var(--branco);border-radius:var(--raio);padding:26px}
.numeros h2{color:var(--branco);font-size:calc(20px * var(--fs, 1))}
.numeros dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 16px}
.numeros dt{font-size:calc(13px * var(--fs, 1));color:#AFCBD4}
.numeros dd{margin:0;font:700 calc(34px * var(--fs, 1))/1.1 var(--fonte-titulo)}
.numeros-nota{font-size:calc(14px * var(--fs, 1));color:#CFE3EA}
@media (max-width:980px){.pagina-com-lateral{grid-template-columns:1fr;gap:32px}}

/* Contato: canais extras */
.canais{grid-column:1/-1;background:var(--nevoa);border-color:var(--nevoa)}
.canais-lista{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px!important}
.canais-lista li{display:flex;flex-direction:column}
.canais-lista span{font-size:calc(13px * var(--fs, 1));color:var(--cinza);font-weight:400}
.contato-grade{grid-template-columns:minmax(0,1fr) 470px}
@media (max-width:980px){.contato-grade{grid-template-columns:1fr}}
@media (max-width:520px){.canais-lista{grid-template-columns:1fr}}

/* Cursos para empresas */
.empresas-intro{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;margin-bottom:12px}
.empresas-intro img{border-radius:var(--raio);aspect-ratio:1;object-fit:cover;width:100%}
.titulo-bloco{font-size:calc(24px * var(--fs, 1));margin-top:36px}
.passos{list-style:none;counter-reset:passo;margin:0;padding:0;display:grid;gap:12px}
.passos li{counter-increment:passo;display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:16px 18px;border:1px solid var(--linha);border-radius:var(--raio)}
.passos li::before{content:counter(passo);grid-row:span 2;width:44px;height:44px;border-radius:50%;background:var(--ciano-claro);color:var(--petroleo);font:700 calc(18px * var(--fs, 1)) var(--fonte-titulo);display:flex;align-items:center;justify-content:center}
.passos strong{font-size:calc(17px * var(--fs, 1))}
.passos span{color:var(--cinza);font-size:calc(15px * var(--fs, 1))}
.empresas-catalogo{margin-top:24px;color:var(--cinza)}
@media (max-width:600px){.empresas-intro{grid-template-columns:1fr}.empresas-intro img{aspect-ratio:16/9}}

/* EducaMais: logos do mesmo tamanho, centralizados */
.em-logos{display:grid;grid-template-columns:repeat(3,minmax(0,240px));justify-content:center;gap:24px 40px;padding:24px 0}
.em-logos li{height:84px;display:flex;align-items:center;justify-content:center}
.em-logos img{width:100%;height:100%;max-width:none;object-fit:contain}
@media (max-width:640px){.em-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.em-logos li{height:48px}}
.em-cabeca h1{max-width:900px}
.em-faixa{background:var(--nevoa);padding:28px 0}
.em-cartoes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}
.em-cartoes>div{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:18px 20px}
.em-cartoes dt{font-size:calc(13px * var(--fs, 1));font-weight:600;color:var(--ciano-texto)}
.em-cartoes dd{margin:4px 0 6px;font:700 calc(18px * var(--fs, 1))/1.3 var(--fonte-titulo);color:var(--tinta)}
.em-cartoes p{margin:0;font-size:calc(14px * var(--fs, 1));color:var(--cinza)}
@media (max-width:900px){.em-cartoes{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.em-cartoes{grid-template-columns:1fr}}
.em-regras{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px}
.em-regra{border:1px solid var(--linha);border-radius:var(--raio);padding:22px 24px}
.em-regra h2{font-size:calc(20px * var(--fs, 1))}
.em-regra ul,.em-regra ol{margin:0 0 4px;padding-left:1.2em}
.em-regra li{margin-bottom:6px}
.em-regra p{margin:14px 0 0}
@media (max-width:760px){.em-regras{grid-template-columns:1fr}}
.em-form-area{max-width:920px;margin:0 auto}
.em-form-area .formulario{padding:32px 40px}
@media (max-width:640px){.em-form-area .formulario{padding:22px}}
.em-logos-p{grid-template-columns:repeat(3,minmax(0,200px));gap:16px 28px;padding:0 0 14px}
.em-logos-p li{height:56px}

/* Logos com tamanho ótico (dimensões vêm do HTML) */
.em-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px 56px;padding:26px 0}
.em-logos li{height:auto;display:block}
.em-logos img{max-width:100%;object-fit:contain}
.em-logos-p{gap:16px 36px;padding:0 0 16px}
@media (max-width:640px){.em-logos{gap:16px 24px}.em-logos img{max-width:42vw;height:auto!important}}
.parceiros img{max-width:100%;height:auto}
.cartao-atendimento .li-largo{grid-column:1/-1}
.canais-lista li a+a{margin-top:2px}
.parceiros li{min-height:140px;padding:18px}
.parceiros img{max-height:100px}

/* ===== Acessibilidade ===== */
.a11y{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.a11y-rotulo{font-size:calc(13px * var(--fs, 1));color:#9FBAC3;margin-right:4px}
.a11y button{display:inline-flex;align-items:center;gap:6px;min-height:30px;min-width:32px;padding:0 8px;border:1px solid rgba(255,255,255,.25);border-radius:6px;
  background:transparent;color:var(--branco);font:600 calc(13px * var(--fs, 1)) var(--fonte);cursor:pointer}
.a11y button:hover,.a11y button[aria-pressed="true"]{background:var(--branco);color:var(--petroleo-escuro)}
.topo-faixa-in{flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
@media (max-width:900px){.a11y-rotulo,.a11y button span{display:none}.a11y{order:3;width:100%;justify-content:flex-end;padding-bottom:4px}}

/* Alto contraste */
html.alto-contraste{--petroleo:#000;--petroleo-escuro:#000;--tinta:#fff;--cinza:#fff;--ciano:#ff0;--ciano-texto:#ff0;--ciano-claro:#000;--nevoa:#000;--linha:#fff;--branco:#000}
html.alto-contraste body,html.alto-contraste body *:not(img):not(svg):not(path):not(circle):not(polyline):not(line):not(picture){
  background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}
html.alto-contraste a,html.alto-contraste a *{color:#ff0!important;text-decoration:underline!important}
html.alto-contraste button,html.alto-contraste .botao{border:2px solid #ff0!important;color:#ff0!important}
html.alto-contraste input,html.alto-contraste select,html.alto-contraste textarea{border:2px solid #fff!important;color:#fff!important}
html.alto-contraste ::placeholder{color:#ccc!important}
html.alto-contraste :focus-visible{outline:3px solid #ff0!important;outline-offset:2px}
html.alto-contraste .unidade-sigla{-webkit-text-stroke:2px #fff!important;color:transparent!important}
html.alto-contraste .card-sem-imagem{border:1px solid #fff!important}
html.alto-contraste .em-logos li,html.alto-contraste .parceiros li,html.alto-contraste .em-logos img,html.alto-contraste .parceiros img{background-color:#fff!important}
html.alto-contraste [vw] *{background-color:initial!important;color:initial!important;border-color:initial!important}
html.alto-contraste .a11y button[aria-pressed="true"]{background-color:#ff0!important;color:#000!important}
.marca{flex:none}
@media (min-width:901px){.menu>ul{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}}
