:root{
  /* Paleta bem próxima do print */
  --c-cyan:#11A8D6;     /* barra superior */
  --c-cyan-blue:#1c57a8;     /* barra superior */
  --c-green:#1E8C3A;    /* faixa menu */
  --c-blue:#0C2F57;     /* fundo hero / rodapé */
  --c-blue-2:#0E3A6A;   /* variação */
  --c-btn:#1F5B8F;      /* botões serviços */
  --c-btn2:#2D6AA0;
  --c-yellow:#F4D43E;   /* botão destaque */
  --c-cta:#2FA24A;      /* botão responder */
  --c-soft:#f4f6f8;     /* fundo página */
  --radius:10px;
  --shadow:0 10px 25px rgba(0,0,0,.10);
  --shadow2:0 8px 18px rgba(0,0,0,.08);
}

body{ background: var(--c-soft); }
a{ text-decoration:none; }

/* ====== Acessibilidade (barra fina azul) ====== */
.bar-access{
  background: var(--c-cyan-blue);
  color:#fff;
  font-size:.85rem;
}
.bar-access a, .bar-access button{
  color:#fff;
  border:0;
  background:transparent;
  padding:.2rem .4rem;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.bar-access a:hover, .bar-access button:hover{ text-decoration: underline; }

/* ====== Header (branco) ====== */
.header-top{
  background:#fff;
}
.logo-wrap{
  display:flex; align-items:center; gap:.75rem;
}
.logo-badge{
  /*width:58px; height:58px;*/
  width: 280px;
  border-radius:12px;
  /*background:#e9f6ff;*/
  display:grid;
  place-items:center;
  /*border:1px solid #d8ecfb;*/
}
.logo-title{
  color:#1b2a3a;
  line-height:1.1;
  font-size:1.05rem;
}
.logo-sub{ color:#2b3e55; font-size:.9rem; opacity:.85; }

.top-links a{
  color:#1b2a3a; font-size:.9rem;
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.15rem .35rem;
}
.top-links a:hover{ text-decoration:underline; }

.social a{
  width:30px; height:30px; border-radius:999px;
  display:inline-grid; place-items:center;
  border:1px solid #dbe7f5;
  color:#0f3f6b;
  background:#fff;
}
.social a:hover{ background:#f3f8ff; }

/* ====== Faixa Azul (menu + busca) ====== */
.nav-blue{
  background: var(--c-blue);
  color:#fff;
}
.nav-blue .nav-link{
  color:#fff !important;
  padding:.65rem .75rem;
  display:flex; 
  align-items:center; 
  gap:.45rem;
}
.nav-blue .nav-link:hover{ background: rgba(255,255,255,.12); border-radius:8px; }

.searchbar-blue{
  max-width: 430px;
}
.searchbar-blue .form-control{
  border-radius:999px 0 0 999px;
  border:0;
  padding:.6rem 1rem;
}
.searchbar-blue .btn{
  border-radius:0 999px 999px 0;
  padding:.6rem 1rem;
  border:0;
  background:#1c57a8;
}

/* ====== Faixa verde (menu + busca) ====== */
.nav-green{
  background: var(--c-green);
  color:#fff;
}
.nav-green .nav-link{
  color:#fff !important;
  padding:.65rem .75rem;
  display:flex; align-items:center; gap:.45rem;
}
.nav-green .nav-link:hover{ background: rgba(255,255,255,.12); border-radius:8px; }

.searchbar{
  max-width: 430px;
}
.searchbar .form-control{
  border-radius:999px 0 0 999px;
  border:0;
  padding:.6rem 1rem;
}
.searchbar .btn{
  border-radius:0 999px 999px 0;
  padding:.6rem 1rem;
  border:0;
  background:#0b7c2f;
}

/* ====== HERO (fundo azul com textura) ====== */
.hero{
  background: var(--c-blue);
  position:relative;
  overflow:hidden;
  padding: 26px 0 22px;
}
/* textura leve tipo “circuito” */
.hero::before{
  content:"";
  position:absolute; inset:-40px -40px -40px -40px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.10), transparent 45%),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.08), transparent 50%),
    linear-gradient(135deg, rgba(255,255,255,.06) 0 1px, transparent 1px 30px),
    linear-gradient(45deg, rgba(255,255,255,.04) 0 1px, transparent 1px 28px);
  opacity:.45;
  pointer-events:none;
}
.hero .container{ position:relative; z-index:2; }

.svc-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 1199.98px){
  .svc-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575.98px){
  .svc-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mossoro-digital{ min-height:auto; padding-bottom: 10px; }
}

.svc-btn{
  background: linear-gradient(180deg, var(--c-btn2), var(--c-btn));
  /*background: #1c57a8;*/
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  padding: 10px 10px;
  font-size:.85rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height: 44px;
  box-shadow: 0 6px 14px rgba(0,0,0,.15);
}
.svc-btn i{ opacity:.95; }
.svc-btn a{ color:#fff; }
.svc-btn:hover{ color:#fff; text-decoration:none; }
.svc-btn.highlight{
  background: linear-gradient(180deg, #ffe774, var(--c-yellow));
  border-color: rgba(0,0,0,.08);
  color:#1a2a3a;
}

.hero-cta{
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#fff;
  font-weight:700;
  font-size:.9rem;
}
.hero-cta .cta-box{
  flex:1;
  opacity:.95;
}
.hero-cta .btn{
  background: var(--c-cyan);
  border:0;
  /*font-weight:900;*/
  padding:.7rem 1.1rem;
  border-radius: 6px;
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
}

/* ====== Banner azul claro (faixa) ====== */
.strip-banner{
  background:#e8f7ff;
  border-top: 4px solid #cfefff;
  border-bottom: 4px solid #cfefff;
}
.strip-banner .inner{
  background: linear-gradient(90deg, #b9f0ff, #77dfff);
  border-radius: 10px;
  box-shadow: var(--shadow2);
  min-height: 70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 12px 14px;
}
.strip-banner .pill{
  background:#00b7e6;
  color:#fff;
  font-weight:900;
  border-radius: 999px;
  padding:.3rem .65rem;
  font-size:.85rem;
}

/* ====== Notícias (mosaico) ====== */
.news-area{
  padding: 18px 0 8px;
}
.tile{
  position:relative;
  border-radius: 0;
  overflow:hidden;
  box-shadow: var(--shadow2);
  background:#ddd;
  min-height: 220px;
}
.tile img{
  /*width:100%; */
  height:100%;
  object-fit:cover;
  display:block;
}
.tile::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.75) 100%);
}
.tile .caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 12px;
  color:#fff;
  z-index:2;
  font-size:.9rem;
  line-height:1.2;
}

.tile-sm{ min-height: 105px; }
.tile-mid{ min-height: 220px; }

.latest-box{
  background:#fff;
  border-radius: 0;
  box-shadow: var(--shadow2);
  padding: 12px;
}
.latest-box h5{
  font-weight:600;
  display:flex; align-items:center; gap:.5rem;
  margin: 0 0 10px;
  color:#0c2f57;
}
.latest-item{
  display:flex; gap:10px;
  padding: 10px 0;
  border-top:1px solid #edf2f7;
  align-items:flex-start;
}
.latest-item:first-of-type{ border-top:0; padding-top:0; }
.latest-item img{
  width:56px; height:56px; object-fit:cover;
  border-radius: 6px;
  flex:0 0 auto;
}
.latest-item a{
  color:#1b2a3a;
  font-size:.85rem;
  line-height:1.2;
  display:block;
}
.latest-box .btn-all{
  margin-top: 10px;
  background:#0c2f57;
  color:#fff;
  border:0;
  width:100%;
  border-radius: 6px;
  padding:.55rem .8rem;
}

/* ====== Radar faixa ====== */
.radar-strip{
  background:#fff;
  box-shadow: var(--shadow2);
  margin: 18px 0 10px;
  border-radius: 0;
  overflow:hidden;
}
.radar-strip .img{
  height:56px;
  background:
    linear-gradient(90deg, #ffe074, #ffd042, #ffe074);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 0 14px;
  font-weight:900;
  color:#1a2a3a;
}

/* ====== Mais Notícias grid ====== */
.more-title{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-weight:600;
  color:#0c2f57;
  margin: 16px 0 10px;
}
.more-title::before{
  content:"";
  width:6px; height:18px;
  background:#2aa84a;
  display:inline-block;
}

.card-news{
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.card-news img{ /*height: 130px;*/ object-fit:cover; }
.card-news .meta{
  font-size:.75rem;
  font-weight:600;
  color:#2b3e55;
  display:flex;
  gap:10px;
  align-items:center;
}
.tag{
  color:#2aa84a;
}
.card-news .title{
  font-weight:600;
  font-size:.85rem;
  line-height:1.2;
  color:#1b2a3a;
  margin-top: 6px;
  min-height: 40px;
}
.btn-more-all{
  background:#0c2f57;
  color:#fff;
  font-weight:600;
  border:0;
  border-radius: 6px;
  padding:.6rem 1rem;
  width: 260px;
  max-width: 100%;
}

/* ====== Social (Facebook / Youtube) ====== */
.social-area{
  padding: 18px 0 18px;
}
.social-area h5{
  font-weight:900;
  color:#0c2f57;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.social-area h5::before{
  content:"";
  width:6px; height:18px; background:#0c2f57;
  display:inline-block;
}
.embed-box{
  background:#fff;
  box-shadow: var(--shadow2);
  border-radius:0;
  overflow:hidden;
  min-height: 320px;
}
.btn-videos{
  margin-top: 12px;
  background:#0c2f57;
  color:#fff;
  font-weight:900;
  border:0;
  border-radius: 6px;
  padding:.55rem .9rem;
}

/* ====== Faixa azul info antes do rodapé ====== */
.blue-note{
  background:#1c57a8;
  color:#fff;
  padding: 10px 0;
  font-weight:600;
  font-size:.9rem;
}
.blue-note .pill{
  background:#ffd84a;
  color:#1a2a3a;
  font-weight:900;
  border-radius: 999px;
  padding:.25rem .6rem;
  font-size:.75rem;
}

/* ====== Rodapé ====== */
footer{
  background: var(--c-blue);
  color:#eaf3ff;
  padding: 26px 0 14px;
}
footer h6{
  font-weight: bold;
  padding-bottom: 5px;
}
footer .foot-logo{
  display:flex; align-items:center; gap:12px;
  font-weight:600;
  font-size: 1.15rem;
}
footer .foot-mini{
  font-size:.85rem; opacity:.9;
}
footer a{ color:#eaf3ff; }
footer a:hover{ text-decoration:underline; }

/* ====== Acessibilidade ====== */
body.contrast{
  filter: contrast(1.15) saturate(1.1);
  background:#fff;
}