/* JOMB v12.4 — logo maior + nome com mais destaque */
:root{
  --jomb-navy:#07182F;
  --jomb-deep:#060172;
  --jomb-blue:#005CA9;
  --jomb-blue2:#1E5BFF;
  --jomb-cyan:#00C2FF;
  --jomb-orange:#FF7A00;
  --jomb-yellow:#FFC224;
  --jomb-bg:#F6F8FC;
  --jomb-line:rgba(7,24,47,.12);
}
.top-ribbon{
  min-height:6px!important;
  height:6px!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,var(--jomb-deep),var(--jomb-blue2),var(--jomb-cyan),var(--jomb-orange))!important;
  border:0!important;
  box-shadow:none!important;
}
.top-ribbon .ribbon-track{display:none!important;}
.main-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(7,24,47,.08)!important;
  box-shadow:0 18px 45px rgba(7,24,47,.07)!important;
}
.main-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,194,255,.50),rgba(255,194,36,.42),rgba(255,122,0,.42),transparent);
  pointer-events:none;
}
.nav-wrap{
  min-height:92px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:32px!important;
  max-width:1240px!important;
  margin:0 auto!important;
}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  padding:8px 14px 8px 8px!important;
  border-radius:24px!important;
  text-decoration:none!important;
  color:var(--jomb-navy)!important;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease!important;
}
.brand:hover{
  transform:translateY(-2px)!important;
  background:linear-gradient(135deg,rgba(0,194,255,.10),rgba(255,194,36,.08),rgba(255,122,0,.07))!important;
  box-shadow:0 16px 36px rgba(0,92,169,.12)!important;
}
.brand-image-box{
  width:92px!important;
  height:70px!important;
  min-width:92px!important;
  border-radius:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  overflow:visible!important;
  background:#fff!important;
  box-shadow:0 18px 38px rgba(7,24,47,.12)!important;
}
.brand-image-box::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:28px;
  background:linear-gradient(135deg,var(--jomb-cyan) 0%,var(--jomb-blue2) 35%,var(--jomb-yellow) 72%,var(--jomb-orange) 100%);
  opacity:1;
  z-index:0;
  box-shadow:0 12px 28px rgba(0,194,255,.20),0 10px 24px rgba(255,122,0,.18);
}
.brand-image-box::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#F2F8FF)!important;
  z-index:1;
}
.brand-img{
  position:relative!important;
  z-index:2!important;
  max-width:84px!important;
  max-height:58px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 6px 10px rgba(7,24,47,.14))!important;
}
.brand-text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  position:relative!important;
}
.brand-text strong{
  display:block!important;
  color:var(--jomb-navy)!important;
  font-size:30px!important;
  line-height:.95!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  text-decoration:none!important;
  text-shadow:0 1px 0 rgba(255,255,255,.85),0 6px 16px rgba(7,24,47,.08)!important;
}
.brand-text strong::after{
  content:"";
  display:block;
  width:74px;
  height:4px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--jomb-blue2),var(--jomb-cyan),var(--jomb-yellow),var(--jomb-orange));
  box-shadow:0 6px 14px rgba(0,92,169,.18);
}
.brand-text small{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:8px!important;
  color:#435a78!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.30em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.brand:hover .brand-text strong{color:var(--jomb-blue)!important;}
.brand:hover .brand-text small{color:var(--jomb-orange)!important;}
.main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  padding:7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(7,24,47,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 14px 34px rgba(7,24,47,.08)!important;
}
.main-nav a{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 15px!important;
  border-radius:999px!important;
  color:var(--jomb-navy)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:850!important;
  text-decoration:none!important;
  border:1px solid transparent!important;
  transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.main-nav a::before{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(0,92,169,.18),rgba(0,194,255,.20),rgba(255,194,36,.18),rgba(255,122,0,.14));
  opacity:0;
  transform:scale(.90);
  transition:opacity .24s ease,transform .24s ease;
  z-index:-1;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:7px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--jomb-blue2),var(--jomb-cyan),var(--jomb-yellow),var(--jomb-orange));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.main-nav a:hover{
  transform:translateY(-2px)!important;
  color:var(--jomb-deep)!important;
  background:rgba(255,255,255,.70)!important;
  border-color:rgba(0,194,255,.24)!important;
  box-shadow:0 12px 26px rgba(0,92,169,.16),inset 0 0 0 1px rgba(255,194,36,.16)!important;
}
.main-nav a:hover::before{opacity:1;transform:scale(1);}
.main-nav a:hover::after{transform:scaleX(1)!important;}
.main-nav a.is-active,
.main-nav a[aria-current="page"]{
  color:var(--jomb-blue)!important;
  background:linear-gradient(135deg,rgba(0,194,255,.18),rgba(255,194,36,.15))!important;
  box-shadow:0 10px 26px rgba(0,92,169,.14), inset 0 0 0 1px rgba(0,194,255,.22)!important;
}
.main-nav a.is-active::after,
.main-nav a[aria-current="page"]::after{transform:scaleX(1)!important;}
.main-nav .nav-cta{
  margin-left:4px!important;
  padding:0 24px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--jomb-blue2),var(--jomb-cyan))!important;
  box-shadow:0 14px 34px rgba(0,92,169,.28),0 10px 22px rgba(0,194,255,.18)!important;
  border:1px solid rgba(255,255,255,.34)!important;
}
.main-nav .nav-cta::after{display:none!important;}
.main-nav .nav-cta::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.48) 45%,transparent 70%);
  transform:translateX(-125%) rotate(10deg);
  transition:transform .75s ease;
  opacity:1;
  z-index:0;
}
.main-nav .nav-cta:hover{
  color:#fff!important;
  transform:translateY(-3px) scale(1.02)!important;
  background:linear-gradient(135deg,var(--jomb-blue2),var(--jomb-cyan),var(--jomb-orange))!important;
  box-shadow:0 20px 44px rgba(0,92,169,.34),0 12px 28px rgba(255,122,0,.22)!important;
}
.main-nav .nav-cta:hover::before{transform:translateX(125%) rotate(10deg);}
.mobile-toggle{
  width:46px!important;
  height:46px!important;
  border-radius:15px!important;
  border:1px solid rgba(7,24,47,.14)!important;
  background:linear-gradient(135deg,#fff,#eef8ff)!important;
  color:var(--jomb-navy)!important;
  box-shadow:0 14px 30px rgba(7,24,47,.10)!important;
}
@media(max-width:1100px){
  .main-nav a{padding:0 11px!important;font-size:13px!important;}
  .brand-text strong{font-size:27px!important;}
  .brand-text small{font-size:12px!important;}
}
@media(max-width:950px){
  .nav-wrap{min-height:82px!important;}
  .main-nav{
    position:absolute!important;
    left:20px!important;right:20px!important;top:88px!important;
    display:none!important;
    align-items:stretch!important;
    flex-direction:column!important;
    padding:14px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 24px 60px rgba(7,24,47,.18)!important;
  }
  .main-nav.is-open{display:flex!important;}
  .main-nav a{justify-content:flex-start!important;min-height:48px!important;}
  .main-nav .nav-cta{justify-content:center!important;margin-left:0!important;}
  .brand-image-box{width:82px!important;height:64px!important;min-width:82px!important;border-radius:22px!important;}
  .brand-image-box::before{inset:-4px!important;}
  .brand-img{max-width:74px!important;max-height:52px!important;}
  .brand-text strong{font-size:24px!important;}
}
@media(max-width:560px){
  .brand{gap:11px!important;padding-right:8px!important;}
  .brand-image-box{width:76px!important;height:58px!important;min-width:76px!important;border-radius:20px!important;}
  .brand-img{max-width:68px!important;max-height:46px!important;}
  .brand-text strong{font-size:22px!important;}
  .brand-text strong::after{width:60px;height:3px;margin-top:6px;}
  .brand-text small{font-size:10px!important;letter-spacing:.22em!important;margin-top:7px!important;}
}


/* JOMB v12.5 — correção definitiva: moldura NÃO cobre a logo */
.brand-image-box{
  width:100px!important;
  height:74px!important;
  min-width:100px!important;
  padding:5px!important;
  border-radius:26px!important;
  box-sizing:border-box!important;
  background:
    linear-gradient(#ffffff,#f5fbff) padding-box,
    linear-gradient(135deg,#00C2FF 0%,#1E5BFF 35%,#FFC224 70%,#FF7A00 100%) border-box!important;
  border:5px solid transparent!important;
  overflow:hidden!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 14px 32px rgba(0,92,169,.16), 0 8px 22px rgba(255,122,0,.12)!important;
}

/* Desliga as camadas antigas que ficavam por cima/por baixo */
.brand-image-box::before,
.brand-image-box::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

.brand-img{
  position:relative!important;
  z-index:5!important;
  display:block!important;
  max-width:90px!important;
  max-height:60px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 5px 8px rgba(7,24,47,.12))!important;
}

.brand-text strong{
  font-size:31px!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  color:#07182F!important;
  text-decoration:none!important;
  text-shadow:0 1px 0 #fff, 0 8px 18px rgba(7,24,47,.08)!important;
}

.brand-text strong::after{
  width:84px!important;
  height:4px!important;
  margin-top:8px!important;
  background:linear-gradient(90deg,#1E5BFF,#00C2FF,#FFC224,#FF7A00)!important;
}

.brand-text small{
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.32em!important;
  color:#405875!important;
}

@media(max-width:950px){
  .brand-image-box{
    width:88px!important;
    height:66px!important;
    min-width:88px!important;
    padding:5px!important;
    border-width:4px!important;
    border-radius:24px!important;
  }
  .brand-img{
    max-width:78px!important;
    max-height:54px!important;
  }
  .brand-text strong{
    font-size:25px!important;
  }
}

@media(max-width:560px){
  .brand-image-box{
    width:82px!important;
    height:60px!important;
    min-width:82px!important;
    padding:4px!important;
    border-width:4px!important;
    border-radius:22px!important;
  }
  .brand-img{
    max-width:72px!important;
    max-height:48px!important;
  }
  .brand-text strong{
    font-size:22px!important;
  }
  .brand-text small{
    font-size:10px!important;
    letter-spacing:.23em!important;
  }
}


/* JOMB v12.6 — enquadramento real da logo: mais espaço interno, imagem menor */
.brand-image-box{
  width:112px!important;
  height:78px!important;
  min-width:112px!important;
  padding:12px!important;
  border-radius:28px!important;
  box-sizing:border-box!important;
  background:
    linear-gradient(#ffffff,#f7fbff) padding-box,
    linear-gradient(135deg,#00C2FF 0%,#1E5BFF 34%,#FFC224 68%,#FF7A00 100%) border-box!important;
  border:5px solid transparent!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.brand-image-box::before,
.brand-image-box::after{
  content:none!important;
  display:none!important;
}

.brand-img{
  max-width:76px!important;
  max-height:48px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  transform:none!important;
  margin:0 auto!important;
  position:relative!important;
  z-index:10!important;
}

/* Texto com mais presença */
.brand-text strong{
  font-size:32px!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  color:#07182F!important;
}
.brand-text small{
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.34em!important;
  color:#405875!important;
}

@media(max-width:950px){
  .brand-image-box{
    width:98px!important;
    height:70px!important;
    min-width:98px!important;
    padding:10px!important;
  }
  .brand-img{
    max-width:68px!important;
    max-height:44px!important;
  }
}

@media(max-width:560px){
  .brand-image-box{
    width:92px!important;
    height:66px!important;
    min-width:92px!important;
    padding:10px!important;
  }
  .brand-img{
    max-width:62px!important;
    max-height:40px!important;
  }
}


/* JOMB v12.7 — círculo REAL em volta da logo */
.brand{
  gap:16px!important;
}

.brand-image-box{
  width:96px!important;
  height:96px!important;
  min-width:96px!important;
  padding:10px!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:
    radial-gradient(circle at center,#ffffff 0%,#ffffff 60%,#f2f8ff 100%) padding-box,
    conic-gradient(from 210deg,#00C2FF,#1E5BFF,#FFC224,#FF7A00,#00C2FF) border-box!important;
  border:6px solid transparent!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.95),
    0 14px 34px rgba(0,92,169,.20),
    0 8px 22px rgba(255,122,0,.16)!important;
}

.brand-image-box::before,
.brand-image-box::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

.brand-img{
  position:relative!important;
  z-index:10!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:74px!important;
  max-height:50px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  margin:0!important;
  filter:drop-shadow(0 4px 7px rgba(7,24,47,.16))!important;
}

.brand-text strong{
  font-size:32px!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  color:#07182F!important;
  text-decoration:none!important;
}

.brand-text strong::after{
  width:86px!important;
  height:4px!important;
  margin-top:8px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#1E5BFF,#00C2FF,#FFC224,#FF7A00)!important;
}

.brand-text small{
  margin-top:8px!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.34em!important;
  color:#405875!important;
}

@media(max-width:950px){
  .brand-image-box{
    width:86px!important;
    height:86px!important;
    min-width:86px!important;
    padding:9px!important;
    border-width:5px!important;
  }
  .brand-img{
    max-width:66px!important;
    max-height:44px!important;
  }
  .brand-text strong{
    font-size:25px!important;
  }
}

@media(max-width:560px){
  .brand-image-box{
    width:78px!important;
    height:78px!important;
    min-width:78px!important;
    padding:8px!important;
    border-width:5px!important;
  }
  .brand-img{
    max-width:58px!important;
    max-height:38px!important;
  }
  .brand-text strong{
    font-size:22px!important;
  }
  .brand-text small{
    font-size:10px!important;
    letter-spacing:.23em!important;
  }
}


/* JOMB v12.8 — ajuste correto para logo horizontal: cápsula premium */
.brand{
  gap:14px!important;
  padding:7px 13px 7px 7px!important;
}

.brand-image-box{
  width:102px!important;
  height:68px!important;
  min-width:102px!important;
  padding:7px!important;
  border-radius:24px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:
    linear-gradient(#ffffff,#f5fbff) padding-box,
    linear-gradient(135deg,#00C2FF 0%,#1E5BFF 32%,#FFC224 68%,#FF7A00 100%) border-box!important;
  border:5px solid transparent!important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.96),
    0 14px 30px rgba(0,92,169,.18),
    0 8px 20px rgba(255,122,0,.12)!important;
}

.brand-image-box::before,
.brand-image-box::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

.brand-img{
  position:relative!important;
  z-index:10!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:88px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  margin:0 auto!important;
  filter:drop-shadow(0 4px 7px rgba(7,24,47,.14))!important;
}

.brand-text strong{
  font-size:30px!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  color:#07182F!important;
  text-decoration:none!important;
  text-shadow:0 1px 0 #fff,0 6px 14px rgba(7,24,47,.08)!important;
}

.brand-text strong::after{
  content:""!important;
  display:block!important;
  width:82px!important;
  height:4px!important;
  margin-top:7px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#1E5BFF,#00C2FF,#FFC224,#FF7A00)!important;
}

.brand-text small{
  margin-top:7px!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.32em!important;
  color:#405875!important;
}

.nav-wrap{
  min-height:88px!important;
}

@media(max-width:950px){
  .brand-image-box{
    width:92px!important;
    height:62px!important;
    min-width:92px!important;
    padding:7px!important;
    border-width:4px!important;
    border-radius:22px!important;
  }
  .brand-img{
    max-width:78px!important;
    max-height:46px!important;
  }
  .brand-text strong{
    font-size:25px!important;
  }
}

@media(max-width:560px){
  .brand{
    gap:10px!important;
  }
  .brand-image-box{
    width:84px!important;
    height:58px!important;
    min-width:84px!important;
    padding:6px!important;
    border-width:4px!important;
    border-radius:20px!important;
  }
  .brand-img{
    max-width:72px!important;
    max-height:42px!important;
  }
  .brand-text strong{
    font-size:22px!important;
  }
  .brand-text small{
    font-size:10px!important;
    letter-spacing:.23em!important;
  }
}


/* JOMB v13.5 — restaura hover premium do menu: linha embaixo + cores reagindo */
.main-nav a{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:
    color .22s ease,
    transform .22s ease,
    background .22s ease,
    box-shadow .22s ease,
    border-color .22s ease!important;
}

.main-nav a::after{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:7px!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#1E5BFF 0%,#00C2FF 34%,#FFC224 68%,#FF7A00 100%)!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  opacity:0!important;
  transition:transform .24s ease, opacity .24s ease!important;
  display:block!important;
  z-index:3!important;
  pointer-events:none!important;
}

.main-nav a:not(.nav-cta):hover{
  color:#005CA9!important;
  transform:translateY(-2px)!important;
  background:linear-gradient(135deg,rgba(0,92,169,.09),rgba(0,194,255,.13),rgba(255,194,36,.12))!important;
  border-color:rgba(0,194,255,.36)!important;
  box-shadow:0 14px 32px rgba(0,92,169,.15), inset 0 0 0 1px rgba(255,194,36,.18)!important;
}

.main-nav a:not(.nav-cta):hover::after,
.main-nav a.is-active:not(.nav-cta)::after,
.main-nav a[aria-current="page"]:not(.nav-cta)::after{
  transform:scaleX(1)!important;
  opacity:1!important;
}

.main-nav a:not(.nav-cta)::before{
  content:""!important;
  position:absolute!important;
  inset:3px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(0,92,169,.13),rgba(0,194,255,.16),rgba(255,194,36,.12),rgba(255,122,0,.10))!important;
  opacity:0!important;
  transform:scale(.94)!important;
  transition:opacity .24s ease, transform .24s ease!important;
  z-index:-1!important;
}

.main-nav a:not(.nav-cta):hover::before,
.main-nav a.is-active:not(.nav-cta)::before,
.main-nav a[aria-current="page"]:not(.nav-cta)::before{
  opacity:1!important;
  transform:scale(1)!important;
}

.main-nav a.is-active:not(.nav-cta),
.main-nav a[aria-current="page"]:not(.nav-cta){
  color:#005CA9!important;
  background:linear-gradient(135deg,rgba(0,194,255,.15),rgba(255,194,36,.13))!important;
  box-shadow:0 10px 26px rgba(0,92,169,.13), inset 0 0 0 1px rgba(0,194,255,.20)!important;
}

/* O botão orçamento mantém brilho próprio */
.main-nav .nav-cta::after{
  display:none!important;
}
.main-nav .nav-cta:hover{
  color:#fff!important;
  transform:translateY(-3px) scale(1.02)!important;
  background:linear-gradient(135deg,#1E5BFF,#00C2FF,#FF7A00)!important;
  box-shadow:0 20px 44px rgba(0,92,169,.34),0 12px 28px rgba(255,122,0,.22)!important;
}
