/* RHVA V116 - Header navigation premium sizing/design
   Scope: header nav link font size, spacing, active/hover polish, CTA button design.
   Does not touch hero, popup, admin, database, CTA content, or gallery logic. */

/* Keep the V115 taller header feel even if V115 was not installed yet. */
html body .site-header{
  height:95px !important;
  min-height:95px !important;
  padding-left:clamp(38px, 6vw, 92px) !important;
  padding-right:clamp(38px, 6vw, 92px) !important;
  gap:clamp(18px, 2vw, 30px) !important;
  background:rgba(249,253,254,.90) !important;
  border-bottom:1px solid rgba(10,50,64,.105) !important;
  box-shadow:0 14px 38px rgba(7,24,39,.055) !important;
}

html body .site-header .site-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:clamp(14px, 1.45vw, 24px) !important;
  margin-left:auto !important;
  white-space:nowrap !important;
}

html body .site-header .site-nav a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:8px 2px !important;
  font-size:clamp(13.5px, .82vw, 15.5px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.55px !important;
  text-transform:uppercase !important;
  color:#123e50 !important;
  transition:color .2s ease, transform .2s ease !important;
}

html body .site-header .site-nav a::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:2px !important;
  width:0 !important;
  height:3px !important;
  border-radius:99px !important;
  background:linear-gradient(90deg,#0fb5d4,#38d6ec) !important;
  transform:translateX(-50%) !important;
  transition:width .22s ease !important;
}

html body .site-header .site-nav a:hover,
html body .site-header .site-nav a.active{
  color:#0798b7 !important;
  transform:translateY(-1px) !important;
}

html body .site-header .site-nav a:hover::after,
html body .site-header .site-nav a.active::after{
  width:72% !important;
}

html body .site-header .header-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:15px 22px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#071827,#0a4054 58%,#0fb5d4) !important;
  color:#fff !important;
  font-size:clamp(13px, .78vw, 14.5px) !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:.45px !important;
  text-transform:uppercase !important;
  text-align:center !important;
  box-shadow:0 16px 34px rgba(7,24,39,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  white-space:nowrap !important;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

html body .site-header .header-cta:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.08) !important;
  box-shadow:0 20px 42px rgba(7,24,39,.25), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

html body .site-header .brand.brand-image{
  height:81px !important;
  width:clamp(255px, 25vw, 430px) !important;
}

html body .site-header .brand.brand-image img{
  max-height:74px !important;
}

/* Medium desktops: keep everything fitting cleanly. */
@media(max-width:1240px){
  html body .site-header{
    padding-left:clamp(24px, 4vw, 54px) !important;
    padding-right:clamp(24px, 4vw, 54px) !important;
    gap:18px !important;
  }
  html body .site-header .site-nav{
    gap:14px !important;
  }
  html body .site-header .site-nav a{
    font-size:13px !important;
    letter-spacing:.35px !important;
  }
  html body .site-header .header-cta{
    font-size:12.5px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  html body .site-header .brand.brand-image{
    width:clamp(220px, 22vw, 320px) !important;
  }
}

/* Mobile/tablet: preserve the existing burger menu behavior. */
@media(max-width:900px){
  html body .site-header{
    height:auto !important;
    min-height:87px !important;
    padding:16px 5vw !important;
  }
  html body .site-header .site-nav{
    display:none !important;
    top:87px !important;
    gap:0 !important;
    white-space:normal !important;
  }
  html body .site-header .site-nav.open{
    display:flex !important;
  }
  html body .site-header .site-nav a{
    justify-content:flex-start !important;
    width:100% !important;
    min-height:46px !important;
    padding:14px 12px !important;
    font-size:14px !important;
  }
  html body .site-header .site-nav a::after{
    display:none !important;
  }
  html body .site-header .header-cta{
    display:none !important;
  }
  html body .site-header .brand.brand-image{
    height:64px !important;
  }
  html body .site-header .brand.brand-image img{
    max-height:58px !important;
  }
}

@media(max-width:520px){
  html body .site-header{
    min-height:82px !important;
    padding:14px 4vw !important;
  }
  html body .site-header .site-nav{
    top:82px !important;
  }
  html body .site-header .brand.brand-image{
    height:58px !important;
  }
  html body .site-header .brand.brand-image img{
    max-height:53px !important;
  }
}