
/* v75 - authoritative INDEX header/navigation */
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:2147483000 !important;
  display:block !important;
  width:100% !important;
  background:#fff !important;
  border-bottom:1px solid #eee !important;
  overflow:visible !important;
}

.site-header .header-top{
  position:relative !important;
  z-index:2147483001 !important;
  width:min(calc(100% - 40px),1320px) !important;
  min-height:94px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:26px !important;
  background:#fff !important;
}

.site-header .brand{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.site-header .brand-logo{
  width:58px !important;
  height:58px !important;
  display:block !important;
  object-fit:contain !important;
}

.site-header .brand span{
  display:flex !important;
  flex-direction:column !important;
  line-height:1.2 !important;
}

.site-header .brand small{
  font-size:11px !important;
  font-weight:700 !important;
}

.site-header .brand strong{
  font-size:20px !important;
  letter-spacing:.05em !important;
}

.site-header .header-phone{
  display:block !important;
  justify-self:end !important;
  text-align:right !important;
}

.site-header .header-phone a{
  display:block !important;
  color:#d90000 !important;
  font-size:25px !important;
  font-weight:800 !important;
}

.site-header .header-phone small{
  display:block !important;
  font-size:10px !important;
}

.site-header .header-cta{
  display:block !important;
  background:#d90000 !important;
  color:#fff !important;
  padding:13px 20px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

.site-header .header-cta small{
  display:block !important;
  font-size:10px !important;
}

.site-header .nav{
  position:relative !important;
  z-index:2147483002 !important;
  width:100% !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:80px !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  background:#fff !important;
  border-top:1px solid #f0f0f0 !important;
}

.site-header .nav a{
  position:relative !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 !important;
  padding:16px 0 13px !important;
  color:#111 !important;
  background:transparent !important;
  border:0 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.site-header .nav a.active{
  color:#d90000 !important;
  /* use a real border rather than a pseudo element */
  box-shadow:inset 0 -3px 0 #d90000 !important;
}

.site-header .nav a.active::after,
.site-header .nav a.active:after{
  display:none !important;
  content:none !important;
}

.site-header .menu-btn{
  display:none !important;
}

/* Nothing from the hero may overlap the header */
main,
.hero,
.hero-photo,
.hero-fade,
.hero-inner{
  z-index:auto !important;
}
.hero-photo,
.hero-fade{
  pointer-events:none !important;
}

/* Tablet: keep desktop nav visible */
@media (min-width:701px) and (max-width:1100px){
  .site-header .header-top{
    gap:14px !important;
  }
  .site-header .nav{
    display:flex !important;
    gap:32px !important;
  }
  .site-header .header-phone a{
    font-size:20px !important;
  }
  .site-header .header-cta{
    padding:12px 14px !important;
  }
}

/* Mobile only */
@media (max-width:700px){
  .site-header .header-top{
    width:min(calc(100% - 24px),1320px) !important;
    min-height:72px !important;
    grid-template-columns:1fr auto !important;
  }

  .site-header .header-phone,
  .site-header .header-cta{
    display:none !important;
  }

  .site-header .brand-logo{
    width:45px !important;
    height:45px !important;
  }

  .site-header .brand strong{
    font-size:15px !important;
  }

  .site-header .menu-btn{
    display:block !important;
    background:none !important;
    border:0 !important;
    padding:8px !important;
  }

  .site-header .menu-btn span{
    display:block !important;
    width:28px !important;
    height:2px !important;
    margin:6px 0 !important;
    background:#111 !important;
  }

  .site-header .nav{
    display:none !important;
  }

  .site-header.open .nav{
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    background:#fff !important;
  }

  .site-header.open .nav a{
    width:100% !important;
    padding:14px 20px !important;
    border-bottom:1px solid #eee !important;
    box-shadow:none !important;
  }

  .site-header.open .nav a.active{
    color:#d90000 !important;
    box-shadow:inset 4px 0 0 #d90000 !important;
  }
}
