
    :root{
      --green-700:#0f4d37; /* faixa superior e rodapé */
      --green-800:#0d3e2c; /* hover */
      --green-600:#166b4b; /* botões */
      --text:#1d2430;
      --muted:#6b7785;
      --bg:#ffffff;
      --border:#e7e9ee;
      --surface:#f5f7f9;
      --container:1200px;
    }

    

    *{box-sizing:border-box}
    html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}

    /* ===== TOP BAR ===== */
    .topbar{background:var(--green-700);color:#e8f1ec;font-size:.875rem}
    .topbar .wrap{max-width:var(--container);margin:auto;display:flex;align-items:center;gap:18px;padding:.4rem 1rem;justify-content:flex-end}
    .topbar a{color:#dbeae3;opacity:.95}
    .topbar a:hover{opacity:1;text-decoration:underline}

    /* ===== HEADER ===== */
    header.site{border-bottom:1px solid var(--border);background:#fff}
    .header-row{max-width:var(--container);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;gap:12px}

    .brand{display:flex;align-items:center;gap:14px}
    .brand .burger{display:none;border:0;background:transparent;padding:.4rem;margin:-.2rem}
    .brand .burger svg{width:24px;height:24px}

    .logo{display:flex;align-items:center;gap:12px}
    /* (novo) tamanho do brasão no header */
    .brasao-header{height:150px;width:auto}
    .logo-text{display:flex;flex-direction:column;line-height:1.05}
    .logo-text .t1{font-weight:800;font-size:1.35rem}
    .logo-text .t2{font-weight:700;font-size:1.05rem;color:#2d3a46}

    /* primary links */
    nav.primary{display:flex;align-items:center;gap:24px}
    nav.primary a{padding:.45rem .25rem;border-bottom:2px solid transparent;color:#2d3a46;font-weight:600}
    nav.primary a:hover{border-color:var(--green-600)}

    /* (novo) linha verde que corta o cabeçalho */
    .divider{height:4px;background:var(--green-700)}

    /* search */
    .search{flex:1;max-width:var(--container);margin:auto;padding:0 1rem 1rem}
    .search .bar{display:flex;gap:8px;max-width:720px}
    .search input{flex:1;border:1px solid var(--border);border-radius:8px;padding:.85rem .9rem;font-size:1rem}
    .search button{border:0;border-radius:8px;padding:.85rem 1rem;background:var(--green-600);color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}
    .search button:hover{background:var(--green-800)}

    /* ===== FOOTER ===== */
    footer.site{margin-top:48px;background:var(--surface);border-top:1px solid var(--border)}
    .footer-wrap{max-width:var(--container);margin:auto;padding:2rem 1rem}
    .fgrid{display:grid;grid-template-columns:280px 1fr 1fr;gap:24px}

    .seal{display:grid;justify-items:center;gap:.35rem}
    .seal .city{font-weight:800;text-align:center}
    /* (novo) imagens no rodapé */
    .seal .stack{display:flex;align-items:center;gap:16px}
    .seal .brasao-footer{height:84px;width:auto}
    .seal .logo-footer{height:48px;width:auto}

    .fcol h4{margin:0 0 .6rem;font-size:1rem;color:#0f2742}
    .fcol ul{margin:0;padding:0;list-style:none}
    .fcol li+li{margin-top:.35rem}
    .fcol a{color:#0f2742}

    .contact{font-size:.95rem;color:#263747}
    .contact div+div{margin-top:.25rem}

    .apps{display:flex;gap:10px;flex-wrap:wrap;margin-top:.75rem}
    .badge{height:42px;border-radius:8px;background:#111;color:#fff;display:inline-grid;place-items:center;padding:0 .8rem;font-weight:700}

    .trust{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:1rem}
    .trust .ico{height:38px;border:1px solid var(--border);border-radius:10px;background:#fff;display:grid;place-items:center;padding:.4rem .75rem}

    .subbar{background:var(--green-700);color:#cfe3d8}
    .subbar .wrap{max-width:var(--container);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;font-size:.85rem}

    .social{display:flex;gap:10px}
    .social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);background:#fff}

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1100px){
      nav.primary{display:none}
      .brand .burger{display:block}
      .search{padding:0 1rem 1rem}
    }

    /* mobile drawer */
    .drawer{position:fixed;inset:0 0 0 30%;background:#fff;box-shadow:-16px 0 40px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .25s ease;z-index:50;display:flex;flex-direction:column}
    .drawer.open{transform:translateX(0)}
    .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}
    .drawer a{padding:1rem;border-bottom:1px solid var(--border);font-weight:600;color:#2d3a46}
    .backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:40}
    .backdrop.show{opacity:1;pointer-events:auto}

    @media (max-width: 680px){
      .fgrid{grid-template-columns:1fr}
      .drawer{inset:0 0 0 25%}
    }
html, body {
  height: 100%;
}

body {
  min-height: 100vh;      /* ocupa a altura toda da janela */
  display: flex;          /* usa flexbox na página inteira */
  flex-direction: column; /* coluna: header, main, footer */
}

/* a área de conteúdo cresce para empurrar o footer */
main {
  flex: 1 0 auto;
}

/* o footer vai para o fim da página (base da coluna) */
footer.site {
  margin-top: auto;
}


      #menuLink{ font-size: 1.08rem }

      #wrapRodape{ text-align: center; }

      /* ===== Larguras do container ===== */
      :root{ --container-max: 1280px; }

      /* Alinhar a barra de pesquisa à mesma largura dos cards */
      .search .bar{
        max-width: var(--container-max);
        margin: 0 auto;
        width: 100%;
      }

      /* Cards container mais largo e com menos margens laterais */
      .concurso-cards{
        max-width: var(--container-max);
        margin: 2rem auto 3rem;
        padding: 0 1rem;
      }

      .concurso-cards .grid{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
      }

      /* Card com borda mais visível e sombra mais marcada */
      .concurso-card{
        border: 2px solid #96d6afff;
        border-radius: 18px;
        padding: 1.25rem 1.25rem 1rem;
        background: #fff;
        box-shadow: 0 14px 34px rgba(18,38,63,.12), 0 3px 10px rgba(18,38,63,.09);
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      }
      .concurso-card:hover{
        transform: translateY(-2px);
        border-color: #557e72ff;
        box-shadow: 0 18px 46px rgba(18,38,63,.16), 0 6px 16px rgba(18,38,63,.12);
      }

      .concurso-card h3{
        margin: 0 0 .35rem;
        font-size: 1.08rem;
        line-height: 1.35;
      }
      .concurso-card .meta{
        display: flex; gap: .5rem; align-items: center;
        color: #0b7a4b; font-weight: 700; margin-bottom: .4rem;
      }
      .concurso-card p{ margin: .25rem 0; color: #4b5563; font-size: .975rem; }
      .concurso-card .desc{ color: #6b7280; font-size: .93rem; margin-top: .35rem; }

      /* Responsivo */
      @media (max-width: 1200px){
        :root{ --container-max: 1100px; }
      }
      @media (max-width: 980px){
        .concurso-cards .grid{ grid-template-columns: repeat(2,1fr); }
      }
      @media (max-width: 640px){
        .concurso-cards .grid{ grid-template-columns: 1fr; }
      }


      /* container apenas para alinhamento */
      .social{
        display:flex;
        gap:.75rem;
        align-items:center;
        justify-content:center;
      }

      /* bolinhas */
      .social a{
        color:#0b7a4b;                 /* <<< cor do traço do SVG */
        background:#fff;               /* fundo da bolinha */
        width:40px; height:40px;
        display:inline-flex;
        align-items:center; justify-content:center;
        border-radius:50%;
        border:2px solid rgba(0,0,0,.06);
        box-shadow:0 2px 6px rgba(0,0,0,.12);
        text-decoration:none;
      }

      /* garante tamanho/traço do svg */
      .social a svg{
        width:18px; height:18px;
        stroke:currentColor;           /* já é o padrão, mas deixo explícito */
        stroke-width:2;
      }

      /* hover bonito */
      .social a:hover{
        color:#094f35;
        background:#f3faf6;
        border-color:#0a5e3a33;
        transform:translateY(-1px);
      }



