/* Paleta alinhada ao logo */
:root{
  --brand-primary:#12a4db; /* azul do símbolo */
  --brand-primary-dark:#0e88b6;
}
.fixed-top + main{ /* compensa altura da navbar fixa */
  margin-top:66px;
}
body{ /* evita que o painel inferior fixe por cima do rodapé/conteúdo */
  padding-bottom:56px; /* altura aproximada do .bottom-panel */
}

body{scroll-behavior:smooth}
.navbar-dark.bg-primary{
  background: linear-gradient(180deg, var(--brand-primary) 0%, #1195c6 100%) !important;
}
.navbar.navbar-dark{
  --nav-sep: rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.navbar .navbar-brand{letter-spacing:.2px}
.navbar .navbar-brand img{box-shadow:0 2px 10px rgba(0,0,0,.12)}
.navbar .nav-link{
  color: rgba(255,255,255,.92) !important;
  padding: .45rem .7rem;
  border-radius:.5rem;
  transition: all .2s ease;
}
.navbar .nav-link:hover{
  background: rgba(255,255,255,.14);
  color:#fff !important;
}
.navbar .nav-link.active,
.navbar .nav-link[aria-current="page"]{
  background: rgba(255,255,255,.2);
  color:#fff !important;
}
.navbar .nav-actions{gap:.4rem}
.navbar .nav-actions .btn{border-radius:.6rem}
.navbar .nav-actions .btn.btn-outline-light{
  color:#fff;border-color:rgba(255,255,255,.6)
}
.navbar .nav-actions .btn.btn-outline-light:hover{
  background:#fff;color:#0c6aa3;border-color:#fff
}
.navbar .nav-actions .btn.btn-success{box-shadow:0 4px 12px rgba(0,0,0,.18)}

@media (max-width: 991.98px){
  .navbar .nav-actions{padding-top:.5rem}
  .navbar .nav-actions .btn{width:100%}
}
@media (min-width: 992px){
  .navbar .brand-line-1{font-size:1.28rem}
  .navbar .brand-line-2{font-size:1.08rem}
}
.navbar-brand{font-weight:600}
.navbar .brand-text{letter-spacing:.2px}
.navbar .brand-text{line-height:1}
.navbar .brand-line-1{font-weight:700; font-size:1.15rem}
.navbar .brand-line-2{font-weight:600; font-size:1rem; letter-spacing:.35px; opacity:.98}
.logo-rounded{border-radius:6px}

.card{border-radius:.6rem}
.btn{border-radius:.5rem}
.btn-primary:hover{background-color:var(--brand-primary-dark);border-color:var(--brand-primary-dark)}
.btn-outline-secondary{color:var(--brand-primary);border-color:var(--brand-primary)}
/* Hero com banner */
.hero-banner{position:relative;min-height:320px;border-radius:12px;overflow:hidden}
.hero-banner, .hero-banner * {-webkit-tap-highlight-color: transparent}
.hero-banner .hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:brightness(.8)}
.hero-banner .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%)}
.hero-banner .hero-content{position:relative;color:#fff;padding:60px 24px;max-width:980px}
/* Remover quaisquer contornos/bordas indesejados no conteúdo do banner */
.hero-banner .hero-content, .hero-banner .hero-content * {outline:0!important; outline-offset:0!important; box-shadow:none!important}
.hero-banner .hero-content *:focus,
.hero-banner .hero-content *:focus-visible,
.hero-banner .btn:focus,
.hero-banner .btn:focus-visible {box-shadow:none!important}
.hero-banner .hero-content *:hover{outline:0!important;box-shadow:none!important}
.hero-banner .hero-content :not(a):not(button):not(.btn){border:0!important;border-color:transparent!important;background:transparent!important}
.hero-banner .hero-content h1:hover,
.hero-banner .hero-content p:hover {outline:none!important;box-shadow:none!important}
.hero-banner .hero-content{border:0!important;background:transparent}
/* Estratégia anti-realce: impedir hover/focus no wrapper e permitir apenas em elementos interativos */
.hero-banner .hero-content{pointer-events:none}
.hero-banner .hero-content a,
.hero-banner .hero-content button,
.hero-banner .hero-content .btn{pointer-events:auto}
.hero-banner .hero-content:hover{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important}
.hero-banner .hero-content:focus-within{outline:0!important;box-shadow:none!important}
.hero-banner .hero-content a:hover,
.hero-banner .hero-content a:focus,
.hero-banner .hero-content a:focus-visible{outline:none!important;box-shadow:none!important}
.hero-banner .hero-content{border:0!important;background:transparent}
/* Tipografia mais elegante no hero */
.hero-banner .hero-content h1{line-height:1.15; text-shadow:0 6px 28px rgba(0,0,0,.45)}
.hero-banner .hero-content .lead{opacity:.9}
.hero-banner .btn-outline-light{--bs-btn-hover-color:#000}
/* Badge e ações mais equilibradas */
.hero-badge{background:rgba(255,255,255,.18);backdrop-filter:saturate(130%) blur(6px);border:1px solid rgba(255,255,255,.28);padding:.35rem .7rem;border-radius:999px;font-weight:600}
.hero-actions{row-gap:.6rem;margin-top:.25rem}
.hero-actions .btn{box-shadow:0 6px 20px rgba(0,0,0,.16)}
.hero-actions .btn.btn-outline-light{border-color:rgba(255,255,255,.6)}

/* Quicklinks sob o hero para ancoras/seções */
.hero-quicklinks{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.hero-quicklinks .ql-pill{color:#fff;border:1px dashed rgba(255,255,255,.55);border-radius:999px;padding:.35rem .85rem;opacity:.92;font-weight:500}
.hero-quicklinks .ql-pill:hover{background:rgba(255,255,255,.15);text-decoration:none}

/* Balance geral do hero */
.hero-inner{max-width:860px}
.hero-inner h1{margin-bottom:.6rem;font-size:clamp(1.75rem, 2.2vw + 1rem, 2.8rem)}
.hero-inner .lead{opacity:.95}

@media (max-width: 576px){
  .hero-banner{min-height:380px}
  .hero-banner .hero-content{padding:52px 18px}
  .hero-actions .btn{width:100%}
}
@media (min-width: 1200px){
  .hero-inner{max-width:920px}
  .hero-banner .hero-content{padding:78px 24px}
}

.svc-card .card-img-top{width:100%;height:180px;object-fit:cover}
@media (max-width: 576px){
  .svc-card .card-img-top{height:160px}
}
.svc-section+.svc-section{border-top:1px solid rgba(0,0,0,.06);padding-top:1rem}
.bottom-panel{position:fixed;left:0;right:0;bottom:0;z-index:1030;background:#fff;border-top:1px solid rgba(0,0,0,.08);padding:.5rem 0;box-shadow:0 -2px 10px rgba(0,0,0,.04)}
/* Mapa embutido responsivo */
.map-embed{box-shadow:0 4px 20px rgba(0,0,0,.06)}
.map-embed iframe{display:block;width:100%;height:280px}
@media (max-width: 576px){
  .map-embed iframe{height:220px}
  .footer-stack .btn{width:100%}
}

 
.badge-brand{background-color:var(--brand-primary);color:#fff}

/* Fallbacks finais anti-contorno no banner (Chrome/Edge/Firefox) */
.hero-banner .hero-content *::-webkit-focus-inner{border:0!important}
.hero-banner .hero-content *:focus{outline:none!important;box-shadow:none!important}
.hero-banner .hero-content *:focus-visible{outline:none!important;box-shadow:none!important}
