/* Vega SA – Transporte Urbano · site estático */
:root{
  --azul:#2E4584; --azul-esc:#273969; --azul-fund:#304273; --amarelo:#F9E040; --amarelo2:#FED849;
  --claro:#EEF5FF; --claro2:#F4F8FF; --titulo:#354469; --texto:#5F646C; --roxo:#605BE5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:16px;color:#333;background:#fff;line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;background:var(--amarelo);color:var(--roxo);border-radius:100px;padding:10px 24px;font-size:16px;border:.8px solid transparent;cursor:pointer;font-family:inherit;transition:filter .2s}
.btn:hover{filter:brightness(.95)}
.btn-lg{padding:20px 40px;font-family:Roboto,sans-serif;font-weight:500;font-size:18px;color:var(--azul)}

/* ---------- topo ---------- */
.topbar{background:var(--azul);position:relative;z-index:50}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding-top:7px;padding-bottom:3px;max-width:1240px}
.logo img{width:114px;height:51px;object-fit:contain}
.nav{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav>li{position:relative}
.nav a{display:block;font-family:Raleway,sans-serif;font-weight:500;font-size:14px;color:#fff;padding:13px 10px;white-space:nowrap}
.nav a:hover,.nav a.ativo{color:var(--amarelo)}
.nav .sub{display:none;position:absolute;left:0;top:100%;width:156px;background:var(--azul);list-style:none;margin:0;padding:0;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.nav li:hover>.sub,.nav li:focus-within>.sub{display:block}
.nav .sub a{font-size:13px;padding:13px 21px}
.nav .tem-sub>a::after{content:" ▾";font-size:11px}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;border-radius:2px}

/* ---------- hero + atalhos ---------- */
.hero{display:block;height:400px;background:#2E4584 url(../../wp-content/uploads/2022/06/ferf.jpg) center/cover no-repeat}
.atalhos{padding:50px 0 40px}
.atalhos .wrap{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.atalho{width:154px;text-align:center}
.atalho img{width:60px;height:60px;margin:0 auto 12px}
.atalho h3{font-family:Poppins,sans-serif;font-weight:400;font-size:20px;color:#000;line-height:1.2}

/* ---------- títulos ---------- */
.h-sec{font-family:Montserrat,sans-serif;font-weight:800;font-size:45px;color:var(--titulo);text-align:center;line-height:1.1}
.h-sec b{font-weight:800}
.sub-sec{font-family:"Open Sans",sans-serif;color:var(--texto);text-align:center;line-height:36px;margin:12px 0 0}

/* ---------- novidades (carrossel) ---------- */
.novidades{padding:20px 0 100px}
.carrossel{position:relative;margin-top:40px}
.car-trilho{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
.car-trilho::-webkit-scrollbar{display:none}
.card-post{flex:0 0 calc((100% - 20px)/2);scroll-snap-align:start;display:block}
.card-post .img{aspect-ratio:1/1;overflow:hidden;background:#e8eefb}
.card-post .img img{width:100%;height:100%;object-fit:cover}
.card-post h2{font-size:21px;font-weight:700;color:#333;margin:18px 0 4px;line-height:1.25}
.card-post .data{font-size:14px;color:#777;margin-bottom:6px}
.card-post p{margin:0;color:var(--texto);font-family:"Open Sans",sans-serif;font-size:15px}
.car-seta{position:absolute;top:calc(50% - 60px);width:44px;height:44px;border-radius:50%;border:0;background:rgba(46,69,132,.9);color:#fff;font-size:22px;cursor:pointer;z-index:2}
.car-seta.ant{left:-14px}.car-seta.prox{right:-14px}
.car-pontos{display:flex;justify-content:center;gap:8px;margin-top:24px}
.car-pontos button{width:10px;height:10px;border-radius:50%;border:0;background:#c5cfe6;cursor:pointer;padding:0}
.car-pontos button.on{background:var(--azul)}
.centro{text-align:center;margin-top:36px}

/* ---------- somos a vega ---------- */
.somos{background:var(--claro2);padding:50px 0}
.somos .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.somos h2{font-size:32px;font-weight:500;color:#333;margin-bottom:16px}
.somos h2 b{font-weight:800;color:var(--azul)}
.txt{font-family:"Open Sans",sans-serif;font-size:17px;line-height:36px;color:var(--texto)}
.txt p{margin:0 0 16px}
.somos img{border-radius:16px;width:100%}

/* ---------- linhas ---------- */
.linhas{background:var(--claro);padding:60px 0}
.linhas .wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.h-poppins{font-family:Poppins,sans-serif;font-weight:700;font-size:38px;color:#1e1e1e;line-height:1.2;margin-bottom:16px}
.linhas .txt{font-size:19px}
.linhas .nota{font-family:"Open Sans",sans-serif;font-size:13px;line-height:29px;color:var(--texto);margin:12px 0 24px}
.cards-linhas{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cards-linhas .col2{margin-top:50px}
.linha{border-radius:20px;padding:15px;margin-bottom:20px}
.linha .in{background:rgba(255,255,255,.1);border-radius:20px;padding:30px 10px;text-align:center}
.linha .num{font-family:Roboto,sans-serif;font-weight:600;font-size:60px;line-height:1.1}
.linha .rota{font-family:"Open Sans",sans-serif;font-size:15px;margin:6px 0 16px}
.linha .ver{display:inline-block;font-size:14px;text-decoration:underline}
.linha.am{background:var(--amarelo2);color:#000}
.linha.az{background:var(--azul);color:#fff}
.linha.az .num{font-family:Poppins,sans-serif;font-weight:400}

/* ---------- vagas ---------- */
.vagas{padding:50px 0 100px}
.vagas .wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.vagas .peq{font-family:Poppins,sans-serif;font-weight:600;font-size:17px;color:#B1BFD3;margin-bottom:8px}

/* ---------- links úteis ---------- */
.links-uteis{padding:0 0 100px}
.logos{display:flex;justify-content:center;align-items:center;gap:60px;flex-wrap:wrap;margin-top:40px}
.logos img{max-height:110px;width:auto}

/* ---------- contato ---------- */
.contato{background:var(--claro);padding:90px 0 120px}
.contato .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contato h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:45px;color:var(--titulo);margin-bottom:20px}
.contato h2 b{font-weight:800}
.contato .txt{font-size:16px;line-height:28px}
.redes{margin-top:30px;display:grid;gap:18px}
.rede{display:flex;gap:16px;align-items:center}
.rede .ic{width:48px;height:48px;border-radius:50%;background:var(--azul);display:flex;align-items:center;justify-content:center;flex:0 0 48px}
.rede .ic svg{width:22px;height:22px;fill:#fff}
.rede h3{font-family:Poppins,sans-serif;font-weight:400;font-size:20px;color:#1b1b1b;line-height:1.1}
.rede small{display:block;font-family:"Open Sans",sans-serif;color:var(--texto);font-size:14px}
.form-contato input,.form-contato textarea{width:100%;background:#fff;border:.8px solid #C4CBDF;border-radius:5px;padding:7px 20px;font-size:18px;font-family:inherit;margin-bottom:20px;height:59px}
.form-contato textarea{height:142px;padding-top:14px;resize:vertical}
.form-contato .btn-lg{width:100%;max-width:403px;border:0}
.msg-form{margin-top:14px;font-size:15px}
.msg-form.ok{color:#1e7a3a}.msg-form.erro{color:#b3261e}

/* ---------- newsletter + rodapé ---------- */
.news{background:var(--azul-fund);padding:60px 0}
.news-box{background:var(--amarelo2);border-radius:20px;padding:50px 30px;max-width:560px;margin:0 auto;text-align:center}
.news-box h2{font-family:Poppins,sans-serif;font-weight:600;font-size:30px;color:#0e0e0e;line-height:1.15;margin-bottom:14px}
.news-box p{font-family:Raleway,sans-serif;font-size:13px;line-height:28px;color:#000;margin:0 0 20px}
.news-box form{display:flex;max-width:420px;margin:0 auto}
.news-box input{flex:1;height:45px;border:.8px solid #3e3e48;border-radius:2px 0 0 2px;padding:0 15px;font-size:13px;min-width:0}
.news-box button{height:45px;border:0;background:var(--azul);color:#fff;padding:0 22px;border-radius:0 2px 2px 0;cursor:pointer;font-weight:600}
.rodape{background:var(--azul-esc);color:#fff;text-align:center;padding:26px 20px;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.7}
.rodape .soc{display:flex;gap:12px;justify-content:center;margin-bottom:10px}
.rodape .soc a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.rodape .soc svg{width:16px;height:16px;fill:#fff}
.rodape .pol{font-family:Roboto,sans-serif;font-size:16px;display:inline-block;margin-bottom:8px}
.rodape .multi{display:inline-block;margin-top:10px}
.rodape .multi img{height:43px;width:auto;margin:0 auto}

/* ---------- páginas internas ---------- */
.faixa{background:var(--amarelo2);padding:20px 0 18px}
.faixa h1,.faixa h2,.faixa .ft{font-family:Poppins,sans-serif;font-weight:300;font-size:38px;color:var(--azul);line-height:1.2}
.faixa h1 b,.faixa h2 b,.faixa .ft b{font-weight:700}
.faixa.azul{background:var(--azul)}
.faixa.azul h1,.faixa.azul h2{color:#fff;font-weight:700;font-size:35px;text-align:center}
.pagina{padding:60px 0}
.pagina .txt h2{font-family:Poppins,sans-serif;font-weight:300;font-size:37px;color:var(--azul);line-height:1.2;margin:30px 0 16px}
.pagina .txt h2 b{font-weight:700}
.pagina .txt h2.vega{font-family:inherit;font-size:32px;font-weight:500;color:#333}
.pagina .txt h2.vega b{color:var(--azul)}
.premios{background:var(--claro2);padding:50px 0 60px}
.premios h2{font-family:Montserrat,sans-serif;font-weight:500;font-size:29px;color:var(--titulo);text-align:center;margin-bottom:30px}
.grade-premios{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;align-items:center}
.grade-premios img{width:100%;height:150px;object-fit:contain;background:#fff;border-radius:10px;padding:8px}
.premio-grande{display:block;max-width:min(900px,100%);height:auto;margin:0 auto 30px}
.grade-projetos{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.proj{display:block}
.proj .img{aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:#e8eefb}
.proj .img img{width:100%;height:100%;object-fit:cover}
.proj h3{font-family:Roboto,sans-serif;font-weight:600;font-size:19.2px;color:#333;margin:14px 0 6px}
.proj p{margin:0 0 8px;font-family:"Open Sans",sans-serif;color:var(--texto);font-size:15px}
.proj .lm{color:rgb(0,11,236);font-size:12px}
.grade-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.grade-blog .card-post{flex:none}
.projeto-pg .img-p{max-width:760px;margin:0 auto 30px;border-radius:10px;overflow:hidden}
.projeto-pg .txt{max-width:760px;margin:0 auto}
.passos .txt p{margin-bottom:20px}
.ferramentas{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.ferr{text-align:center}
.ferr img{max-width:200px;margin:0 auto 16px}
.ferr h2{font-family:Poppins,sans-serif;font-weight:400;font-size:26px;color:var(--azul);margin-bottom:10px}
.ferr h2 b{font-weight:700}
.ferr p{font-family:"Open Sans",sans-serif;color:var(--texto);font-size:15px;line-height:26px}

/* post individual */
.post{max-width:760px;margin:0 auto;padding:50px 20px 20px;font-family:Montserrat,sans-serif;color:#4a4a4a}
.post h1{font-family:Roboto,sans-serif;font-weight:600;font-size:40px;color:#333640;line-height:1.1;margin-bottom:12px}
.post .meta{font-size:14px;color:#777;margin-bottom:22px;display:flex;gap:18px}
.post .capa{margin-bottom:26px}
.post .corpo{font-size:16px;line-height:24px}
.post .corpo p{margin:0 0 18px}
.post .corpo h2,.post .corpo h3{font-family:Roboto,sans-serif;color:#333640;margin:26px 0 12px}
.post .corpo ul,.post .corpo ol{margin:0 0 18px;padding-left:22px}
.post .corpo img{margin:18px auto}
.post .corpo a{color:var(--azul);text-decoration:underline}
.comp{max-width:760px;margin:0 auto;padding:10px 20px 30px}
.comp h2{font-family:Merriweather,Georgia,serif;font-weight:300;font-size:18px;color:#16163f;margin-bottom:12px}
.comp .bts{display:flex;gap:10px;flex-wrap:wrap}
.comp .bts a{display:inline-block;background:var(--azul);color:#fff;padding:8px 16px;border-radius:100px;font-size:14px}
.mais{max-width:760px;margin:0 auto;padding:10px 20px 60px}
.mais h2{font-family:Merriweather,Georgia,serif;font-weight:300;font-size:20px;color:#16163f;margin-bottom:16px}
.mais a{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.mais img{width:200px;height:110px;object-fit:cover;border-radius:6px;flex:0 0 200px}
.mais h3{font-family:Montserrat,sans-serif;font-weight:500;font-size:14px;color:#4a4a4a}

/* lei 14.611 */
.relatorios{padding:40px 0 70px}
.relatorio{margin-bottom:40px;text-align:center}
.relatorio img{margin:0 auto 12px;border-radius:4px;max-width:900px;width:100%}
.relatorio h3{font-family:Roboto,sans-serif;font-weight:600;font-size:16px;color:#000;margin:6px 0 24px}
.vazio{text-align:center;color:#777;padding:40px 0}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .burger{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--azul);flex-direction:column;align-items:stretch;padding:8px 0 14px;box-shadow:0 10px 18px rgba(0,0,0,.25)}
  .nav.aberto{display:flex}
  .nav a{padding:12px 24px}
  .nav .sub{display:block;position:static;width:auto;box-shadow:none;background:rgba(0,0,0,.12)}
  .nav .sub a{padding:10px 40px}
  .nav .tem-sub>a::after{content:""}
  .hero{height:300px}
  .h-sec{font-size:34px}
  .card-post{flex:0 0 100%}
  .somos .wrap,.linhas .wrap,.vagas .wrap,.contato .wrap{grid-template-columns:minmax(0,1fr)}
  .grade-projetos,.grade-blog{grid-template-columns:repeat(2,1fr)}
  .car-seta.ant{left:4px}.car-seta.prox{right:4px}
}
@media (max-width:640px){
  .h-sec,.contato h2{font-size:30px}
  .h-poppins{font-size:30px}
  .grade-projetos,.grade-blog,.ferramentas{grid-template-columns:1fr}
  .faixa h1,.faixa h2,.faixa .ft{font-size:30px}
  .post h1{font-size:30px}
  .atalhos .wrap{gap:24px}
  .mais img{width:120px;height:80px;flex-basis:120px}
  .cards-linhas{gap:12px}
  .cards-linhas .col2{margin-top:30px}
  .linha{padding:8px;margin-bottom:12px}
  .linha .in{padding:22px 6px}
  .linha .num{font-size:36px}
  .linha .rota{font-size:13px}
}

.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
