/* ===== Fontes canônicas do site Baru, as mesmas da página Institucional e do TEMPLATE_LP_BARU.html =====
   Montserrat (500 a 800): títulos e subtítulos (h1 a h4, eyebrows, números de destaque).
   Maven Pro (400 a 900): corpo do texto, botões, formulários. WOFF2 em base64, sem link externo. */
@font-face {
  font-family: 'Montserrat';
  src: url(/assets/arquivos/a14f7ffbd7d9.woff2) format('woff2');
  font-weight: 500 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Maven Pro';
  src: url(/assets/arquivos/73ce22a9ec1f.woff2) format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

.baru-topo, .baru-topo *{ box-sizing:border-box; margin:0; padding:0; }
.baru-topo{
  --bt-teal:#299d8f; --bt-dark:#04211d; --bt-teal-dark:#10544f; --bt-amber:#e7a77a; --bt-white:#ffffff;
  --bt-ink-soft:rgba(4,33,29,.72); --bt-h:76px;
  font-family:'Maven Pro',sans-serif !important; color:var(--bt-dark); line-height:1.4; position:relative; z-index:9990;
}
.baru-topo a{ text-decoration:none !important; color:inherit; }
.baru-topo-espaco{ height:var(--bt-h); }
/* âncoras (#formulario, #sobre...) param abaixo do topo fixo, sem ficar escondidas atrás dele */
html{ scroll-padding-top: 88px; }
/* sem a margem padrão do navegador: o rodapé é sempre a última coisa da página, sem faixa branca abaixo */
body{ margin:0; }
.baru-topo-barra{
  position:fixed; top:0; left:0; right:0; height:var(--bt-h); background:var(--bt-white);
  border-bottom:1px solid rgba(4,33,29,.08); transition:box-shadow .2s ease;
}
.baru-topo.rolou .baru-topo-barra{ box-shadow:0 10px 30px -18px rgba(4,33,29,.45); }
.baru-topo-in{ max-width:1180px; height:100%; margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:28px; }
.baru-topo-logo{ display:flex; align-items:center; flex-shrink:0; }
.baru-topo-logo img{ height:42px; width:auto; display:block; }
.baru-topo-nav{ display:flex; align-items:center; gap:2px; margin-left:auto; }
.baru-topo-nav > a, .baru-topo-item > button{
  font-family:'Maven Pro',sans-serif !important; font-size:.95rem; font-weight:700 !important; letter-spacing:normal !important;
  color:var(--bt-dark) !important; background:transparent; border:0; cursor:pointer; padding:10px 14px; border-radius:999px;
  display:inline-flex; align-items:center; gap:6px; text-transform:none !important; line-height:1.2;
}
.baru-topo-nav > a:hover, .baru-topo-item > button:hover, .baru-topo-item.aberto > button, .baru-topo-nav > a.ativo{
  background:rgba(41,157,143,.12); color:var(--bt-teal-dark) !important;
}
.baru-topo-item{ position:relative; }
.baru-topo-item > button svg{ width:12px; height:12px; transition:transform .18s ease; }
.baru-topo-item.aberto > button svg{ transform:rotate(180deg); }
.baru-topo-sub{
  display:none; position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
  width:560px; background:var(--bt-white); border-radius:18px; padding:14px;
  box-shadow:0 24px 60px -20px rgba(4,33,29,.35); border:1px solid rgba(4,33,29,.08);
  grid-template-columns:1fr 1fr; gap:4px;
}
.baru-topo-item.aberto .baru-topo-sub{ display:grid; }
/* ponte invisível sobre o vão de 10px entre o botão e o painel: o mouse passa por ela sem fechar o menu */
.baru-topo-sub::before{ content:''; position:absolute; left:0; right:0; top:-14px; height:14px; }
.baru-topo-sub a{ display:block; padding:10px 12px; border-radius:10px; }
.baru-topo-sub a:hover{ background:rgba(41,157,143,.09); }
.baru-topo-sub strong{ display:block; font-size:.92rem; font-weight:700; color:var(--bt-dark); }
.baru-topo-sub span{ display:block; font-size:.78rem; color:var(--bt-ink-soft); margin-top:2px; }
.baru-topo-sub .todos{ grid-column:1 / -1; border-top:1px solid rgba(4,33,29,.08); margin-top:6px; padding-top:12px; border-radius:0 0 10px 10px; }
.baru-topo-sub .todos strong{ color:var(--bt-teal-dark); }
.baru-topo-nav > a.baru-topo-cta{
  font-family:'Maven Pro',sans-serif !important; font-weight:700 !important; font-size:.9rem; white-space:nowrap;
  background:var(--bt-teal) !important; color:var(--bt-white) !important; padding:11px 22px; border-radius:999px; margin-left:8px;
  box-shadow:0 12px 26px -12px rgba(41,157,143,.7); transition:filter .18s ease, transform .18s ease;
}
.baru-topo-nav > a.baru-topo-cta:hover{ filter:brightness(.92); transform:translateY(-1px); }
.baru-topo-menu{ display:none; margin-left:auto; width:44px; height:44px; border-radius:12px; border:1.5px solid rgba(4,33,29,.14); background:var(--bt-white); cursor:pointer; align-items:center; justify-content:center; }
.baru-topo-menu svg{ width:22px; height:22px; color:var(--bt-dark); }
.baru-topo a:focus-visible, .baru-topo button:focus-visible{ outline:3px solid var(--bt-amber); outline-offset:2px; }

@media (max-width: 1080px){
  .baru-topo-menu{ display:inline-flex; }
  .baru-topo-nav{
    display:none; position:fixed; top:var(--bt-h); left:0; right:0; bottom:0; overflow-y:auto;
    background:var(--bt-white); flex-direction:column; align-items:stretch; gap:4px; padding:16px 20px 32px;
    border-top:1px solid rgba(4,33,29,.08);
  }
  .baru-topo.menu-aberto .baru-topo-nav{ display:flex; }
  .baru-topo-nav > a, .baru-topo-item > button{ width:100%; justify-content:space-between; padding:14px 12px; font-size:1rem; border-radius:12px; }
  .baru-topo-sub{ position:static; transform:none; width:auto; box-shadow:none; border:0; padding:0 0 8px 8px; grid-template-columns:1fr; }
  .baru-topo-sub span{ display:none; }
  .baru-topo-nav > a.baru-topo-cta{ margin:12px 0 0; justify-content:center; padding:14px 22px; }
}
@media (max-width: 480px){ .baru-topo{ --bt-h:66px; } .baru-topo-logo img{ height:34px; } }
@media (prefers-reduced-motion: reduce){ .baru-topo *{ transition:none !important; } }