/* ReVitalized Academy — premium cream glassmorphism header */
.site-header{
  --ra-header-layout:101;
  position:sticky;
  top:0;
  z-index:100;
  display:grid!important;
  grid-template-columns:minmax(230px,300px) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,2vw,34px)!important;
  width:100%!important;
  min-height:104px!important;
  padding:0 clamp(18px,2.2vw,44px)!important;
  margin:0!important;
  background:linear-gradient(120deg,rgba(252,245,238,.86),rgba(248,241,231,.72))!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  border-bottom:1px solid rgba(177,136,69,.24)!important;
  box-shadow:0 10px 30px rgba(21,71,52,.08),inset 0 1px 0 rgba(255,255,255,.62)!important;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,166,42,.38),transparent);
  pointer-events:none;
}
.site-header .brand{
  grid-column:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  min-width:0;
}
.site-header .brand img{
  display:block!important;
  width:clamp(230px,15vw,300px)!important;
  max-width:100%!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-header .main-nav{
  grid-column:2!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:clamp(16px,1.8vw,34px)!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.site-header .main-nav a{
  display:block!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-height:1.1!important;
  font-size:clamp(14px,.98vw,17px)!important;
  padding:12px 0!important;
}
.site-header .header-cta{
  grid-column:3!important;
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  min-height:60px!important;
  padding:15px 28px!important;
  border-radius:16px!important;
  border:1px solid rgba(177,136,69,.64)!important;
  background:linear-gradient(180deg,#F2CD6A 0%,#D8A62A 56%,#C2932B 100%)!important;
  color:#154734!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 12px 28px rgba(177,136,69,.28),inset 0 1px 0 rgba(255,255,255,.38)!important;
  text-shadow:none!important;
}
.site-header .header-cta:hover,
.site-header .header-cta:focus-visible{
  background:linear-gradient(180deg,#F5D77B 0%,#E0AF3E 58%,#C6942E 100%)!important;
  color:#0F4B3E!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 34px rgba(177,136,69,.34)!important;
}
.site-header .menu-toggle{display:none!important}
/* Explicit rows prevent DOM order (logo, menu, links, CTA) from putting
   the CTA in an implicit second row when the desktop links are hidden. */
.site-header > .brand,
.site-header > .main-nav,
.site-header > .header-cta,
.site-header > .menu-toggle{grid-row:1!important;align-self:center!important;}

/* Homepage hero wording / line-break refinement. */
.hero54-eyebrow{font-size:0!important}
.hero54-eyebrow::after{
  content:"✓  PERSONALIZED HOLISTIC HEALTH COACHING";
  font:800 12px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.18em;
}
#hero54-title br:nth-of-type(3){display:none!important}
#hero54-title > span::before{content:"\00a0"}

/* Collapse before any desktop nav item can wrap. */
@media(max-width:1399px){
  .site-header{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    height:auto!important;
    min-height:88px!important;
    gap:14px!important;
    padding:0 22px!important;
  }
  .site-header .brand{grid-column:1!important}
  .site-header .brand img{width:220px!important;max-height:68px!important}
  .site-header .header-cta{grid-column:2!important;min-height:52px!important;padding:13px 20px!important;font-size:14px!important}
  .site-header .menu-toggle{
    grid-column:3!important;
    justify-self:end!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:48px!important;
    padding:11px 15px!important;
    border:1px solid rgba(177,136,69,.28)!important;
    border-radius:12px!important;
    background:rgba(255,250,244,.72)!important;
    color:#154734!important;
    font-weight:800!important;
  }
  .site-header .main-nav{display:none!important}
  .site-header .main-nav.open{
    display:flex!important;
    position:absolute!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    justify-self:stretch!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100vh - 112px)!important;
    max-height:calc(100dvh - 112px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    top:calc(100% + 8px)!important;
    left:18px!important;
    right:18px!important;
    z-index:110!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:12px 18px!important;
    border:1px solid rgba(177,136,69,.22)!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,rgba(252,245,238,.98),rgba(248,241,231,.96))!important;
    -webkit-backdrop-filter:blur(22px) saturate(140%)!important;
    backdrop-filter:blur(22px) saturate(140%)!important;
    box-shadow:0 18px 40px rgba(21,71,52,.13)!important;
  }
  .site-header .main-nav.open a{
    width:100%!important;
    white-space:nowrap!important;
    padding:13px 2px!important;
    border-bottom:1px solid rgba(21,71,52,.08)!important;
  }
  .site-header .main-nav.open a:last-child{border-bottom:0!important}
}

@media(max-width:760px){
  .site-header{
    grid-template-columns:1fr auto!important;
    min-height:76px!important;
    padding:0 16px!important;
  }
  .site-header .brand{grid-column:1!important}
  .site-header .brand img{width:190px!important;max-height:58px!important}
  .site-header .header-cta{display:none!important}
  .site-header .menu-toggle{grid-column:2!important}
  .hero54-eyebrow::after{font-size:11px;letter-spacing:.14em}
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header{background:rgba(252,245,238,.97)!important}
  @media(max-width:1399px){.site-header .main-nav.open{background:rgba(252,245,238,.99)!important}}
}

/* Build 101 final: legacy Free Help header rules must not hide or recolor
   the shared assessment CTA or substitute a two-column tablet grid.
   These selectors affect the header only, not any Free Help page content. */
body.fh80-page > .site-header .header-cta{color:#154734!important;}
body.fh80-page > .site-header .header-cta:hover,
body.fh80-page > .site-header .header-cta:focus-visible{color:#0F4B3E!important;}
@media(min-width:761px){
  body.fh80-page > .site-header .header-cta{display:inline-flex!important;}
}
@media(min-width:761px) and (max-width:1399px){
  body.fh80-page > .site-header{grid-template-columns:minmax(0,1fr) auto auto!important;}
}
@media(max-width:760px){
  body.fh80-page > .site-header{grid-template-columns:minmax(0,1fr) auto!important;}
}
