/*
 * Healthy Impact public ribbon — SINGLE SHARED SOURCE OF TRUTH.
 * Loaded LAST on animated and white marketing pages. The navigation markup
 * is the same on both; this stylesheet intentionally beats old page-specific
 * rules, including the desktop #nav buttons corrected in PR #46.
 * Do not add page-specific ribbon rules anywhere else.
 */
html body #nav.hi-unified-ribbon {
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:90!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:normal!important;
  gap:24px!important;
  column-gap:24px!important;
  width:100%!important;
  max-width:none!important;
  min-height:89px!important;
  height:89px!important;
  margin:0!important;
  padding:15px clamp(24px,2.5vw,40px)!important;
  box-sizing:border-box!important;
  transform:none!important;
  border:0!important;
  border-bottom:1px solid rgba(16,44,66,.10)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#18324a!important;
  font-family:'Helvetica Neue ME','Helvetica Neue',Helvetica,Arial,sans-serif!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body #nav.hi-unified-ribbon.detail-public-nav {position:sticky!important}
html body #nav.hi-unified-ribbon:not(.detail-public-nav){position:absolute!important}
html body #nav.hi-unified-ribbon .nav-logo{
  display:flex!important;flex:0 0 auto!important;align-items:center!important;
  justify-content:center!important;order:initial!important;position:relative!important;
  width:auto!important;max-width:none!important;min-width:0!important;
  padding:0!important;margin:0!important;background:none!important;border:0!important;
  text-decoration:none!important;cursor:pointer!important;
}
html body #nav.hi-unified-ribbon .nav-logo-shell{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:190px!important;width:190px!important;height:58px!important;
  max-height:58px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;
}
html body #nav.hi-unified-ribbon .nav-logo-shell::before{
  display:none!important;content:none!important;
}
html body #nav.hi-unified-ribbon .nav-logo img{
  display:block!important;width:190px!important;max-width:190px!important;
  height:auto!important;max-height:58px!important;object-fit:contain!important;
  object-position:center!important;opacity:1!important;
  mix-blend-mode:normal!important;filter:none!important;
}
html body #nav.hi-unified-ribbon .nav-left{
  display:flex!important;min-width:0!important;width:100%!important;
  flex:1 1 auto!important;align-items:center!important;
  justify-content:space-evenly!important;gap:clamp(14px,1.75vw,28px)!important;
  margin:0!important;padding:0!important;
}
html body #nav.hi-unified-ribbon .nav-link{
  position:relative!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
  margin:0!important;padding:0!important;border:0!important;background:none!important;
  color:#18324a!important;opacity:.78!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;line-height:1.15!important;font-weight:600!important;
  font-style:normal!important;letter-spacing:.055em!important;
  text-transform:uppercase!important;text-decoration:none!important;
  text-align:center!important;
  font-variant:normal!important;font-kerning:normal!important;
  font-feature-settings:normal!important;font-variation-settings:normal!important;
  text-rendering:auto!important;
  text-shadow:none!important;white-space:nowrap!important;
  font-stretch:normal!important;font-synthesis:none!important;
  cursor:pointer!important;
}
html body #nav.hi-unified-ribbon .nav-link:is(.active,:hover,:focus-visible){opacity:1!important}
html body #nav.hi-unified-ribbon .nav-link.active::after{
  content:""!important;position:absolute!important;left:0!important;right:0!important;
  bottom:-9px!important;height:1px!important;background:#18324a!important;
}
html body #nav.hi-unified-ribbon .nav-right{
  position:relative!important;display:flex!important;
  flex:0 0 auto!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:flex-end!important;align-self:center!important;
  width:auto!important;height:44px!important;min-height:44px!important;
  gap:8px!important;margin:0!important;padding:0!important;border:0!important;
  background:transparent!important;
}
html body #nav.hi-unified-ribbon .nav-right::before,
html body #nav.hi-unified-ribbon .nav-right::after{
  display:none!important;content:none!important;
}
html body #nav.hi-unified-ribbon .nav-right > :is(a,button){
  position:relative!important;display:inline-flex!important;
  flex:0 0 auto!important;align-items:center!important;justify-content:center!important;
  align-self:center!important;box-sizing:border-box!important;
  width:auto!important;height:44px!important;min-height:44px!important;max-height:44px!important;
  margin:0!important;padding:0 14px!important;border-radius:0!important;
  border:1px solid rgba(20,49,73,.22)!important;
  background:#f7f9fa!important;color:#173147!important;opacity:1!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;line-height:1!important;font-weight:700!important;
  font-style:normal!important;letter-spacing:.035em!important;
  text-align:center!important;text-transform:uppercase!important;
  text-decoration:none!important;text-shadow:none!important;
  white-space:nowrap!important;vertical-align:middle!important;cursor:pointer!important;
}
html body #nav.hi-unified-ribbon .nav-right > a[data-main-route="/contact"]{
  min-width:102px!important;
  background:transparent!important;border-color:rgba(20,49,73,.28)!important;
}
html body #nav.hi-unified-ribbon .nav-right > a[data-main-route="/login"]{
  min-width:138px!important;background:#102c42!important;
  border-color:#102c42!important;color:#fff!important;
}
html body #nav.hi-unified-ribbon .nav-right > #menuBtn{
  min-width:74px!important;background:#f7f9fa!important;
  border-color:rgba(20,49,73,.22)!important;
}
html body #nav.hi-unified-ribbon .nav-right > :is(a,button):focus-visible,
html body #nav.hi-unified-ribbon .nav-logo:focus-visible{
  outline:2px solid #347ba6!important;outline-offset:3px!important;
}
html body #nav.hi-unified-ribbon .hamburger{
  display:none!important;flex-direction:column!important;
  justify-content:center!important;width:30px!important;height:28px!important;
  gap:5px!important;padding:0!important;margin:0!important;
  border:0!important;background:none!important;
}
@media (min-width:761px) and (max-width:1420px){
  html body #nav.hi-unified-ribbon{
    display:flex!important;flex-wrap:nowrap!important;
    justify-content:space-between!important;align-items:center!important;
    gap:16px!important;padding-inline:clamp(16px,2.5vw,32px)!important;
  }
  html body #nav.hi-unified-ribbon .nav-left{display:none!important}
}
@media (min-width:761px) and (max-width:1100px){
  html body #nav.hi-unified-ribbon .nav-right{
    height:40px!important;min-height:40px!important;gap:6px!important;
  }
  html body #nav.hi-unified-ribbon .nav-right > :is(a,button){
    height:40px!important;min-height:40px!important;max-height:40px!important;
    padding-inline:10px!important;font-size:11px!important;
  }
  html body #nav.hi-unified-ribbon .nav-right > a[data-main-route="/contact"]{min-width:90px!important}
  html body #nav.hi-unified-ribbon .nav-right > a[data-main-route="/login"]{min-width:124px!important}
  html body #nav.hi-unified-ribbon .nav-right > #menuBtn{min-width:68px!important}
}
@media (max-width:1380px) and (min-width:1024px){
  html body #nav.hi-unified-ribbon .nav-logo-shell{
    width:172px!important;min-width:172px!important;height:54px!important;max-height:54px!important;
  }
  html body #nav.hi-unified-ribbon .nav-logo img{
    width:172px!important;max-width:172px!important;max-height:54px!important;
  }
}
@media (max-width:1023px){
  html body #nav.hi-unified-ribbon{
    height:78px!important;min-height:78px!important;
    display:flex!important;align-items:center!important;gap:12px!important;
    padding:14px clamp(16px,4vw,20px)!important;
  }
  html body #nav.hi-unified-ribbon .hamburger{
    order:1!important;display:flex!important;
    flex:0 0 32px!important;flex-direction:column!important;
    align-items:flex-start!important;justify-content:center!important;
    width:32px!important;height:32px!important;gap:4px!important;
    cursor:pointer!important;color:#173147!important;
  }
  html body #nav.hi-unified-ribbon .hamburger i{
    display:block!important;height:2px!important;background:#173147!important;
  }
  html body #nav.hi-unified-ribbon .hamburger i:nth-child(-n+2){width:24px!important}
  html body #nav.hi-unified-ribbon .hamburger i:nth-child(3){width:16px!important}
  html body #nav.hi-unified-ribbon .nav-logo{
    order:2!important;flex:0 0 min(145px,44vw)!important;
    width:min(145px,44vw)!important;min-width:min(145px,44vw)!important;
    justify-content:flex-start!important;margin-right:auto!important;
    max-width:min(145px,44vw)!important;
  }
  html body #nav.hi-unified-ribbon .nav-logo-shell{
    width:min(145px,44vw)!important;max-width:min(145px,44vw)!important;
    min-width:0!important;height:46px!important;max-height:46px!important;
    justify-content:flex-start!important;
  }
  html body #nav.hi-unified-ribbon .nav-logo img{
    width:100%!important;max-width:145px!important;max-height:46px!important;
    object-position:left center!important;
  }
  html body #nav.hi-unified-ribbon .nav-right{
    order:3!important;display:flex!important;min-width:0!important;
    margin:0!important;padding:0!important;border:0!important;
    flex:0 0 auto!important;
  }
}
@media (max-width:760px){
  html body #nav.hi-unified-ribbon .nav-left{display:none!important}
  html body #nav.hi-unified-ribbon .nav-right{display:none!important}
}
@media (max-width:360px){
  html body #nav.hi-unified-ribbon{padding-inline:14px!important}
  html body #nav.hi-unified-ribbon .nav-logo,
  html body #nav.hi-unified-ribbon .nav-logo-shell{
    width:132px!important;max-width:132px!important;
  }
}
