/* Upper Hand shared site header. Loaded last on every page so it wins over each page's own styles.
   The header HTML is identical on every page; edit the menu in one place and copy it across (or ask Claude). */
html{scroll-padding-top:96px}
#site-head{position:sticky;top:0;z-index:100;background:var(--navy,#1B2A4A);color:var(--on-navy,#F7F4EC);box-shadow:0 1px 0 rgba(255,255,255,.08)}
#site-head .wrap{max-width:1240px;padding-block:12px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:10px 18px}
#site-head .brand{flex:none}
#site-head .head-actions{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}
#site-head a:focus-visible,#site-head button:focus-visible{outline:3px solid var(--gold,#C9A646);outline-offset:2px}

/* Desktop menu */
#site-head nav.mainnav{display:block;flex:1 1 auto;min-width:0;margin:0;padding:0;font-size:15px}
#site-head .nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:2px}
#site-head .nav-list>li{position:relative;margin:0}
#site-head .drop-btn{font:inherit;font-weight:500;color:var(--on-navy,#F7F4EC);background:none;border:0;border-radius:6px;padding:10px 12px;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
#site-head .drop-btn::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
#site-head .has-drop.open>.drop-btn::after{transform:rotate(225deg) translateY(-2px)}
#site-head .drop-btn:hover,#site-head .has-drop.open>.drop-btn,#site-head .has-current>.drop-btn{color:var(--gold,#C9A646)}
#site-head .drop{display:none;position:absolute;top:100%;left:0;min-width:280px;margin:4px 0 0;padding:8px;list-style:none;background:#fff;border-radius:10px;box-shadow:0 16px 36px rgba(10,20,40,.3);z-index:5}
#site-head .drop::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
#site-head .has-drop.edge .drop{left:auto;right:0}
#site-head .has-drop.open>.drop{display:block}
#site-head .drop li{margin:0}
#site-head .drop a{display:block;padding:10px 14px;border-radius:6px;color:var(--navy,#1B2A4A);text-decoration:none;font-size:15px;font-weight:500;line-height:1.3}
#site-head .drop a:hover{background:var(--emerald-tint,#EEF3F1);color:var(--emerald,#1F7A5C)}
#site-head .drop a[aria-current="page"]{font-weight:700;box-shadow:inset 3px 0 0 var(--gold,#C9A646)}
#site-head .drop .sep{margin:6px 8px;border-top:1px solid #E3DFD3;height:0;padding:0}
#site-head .mobile-only{display:none}

/* Right-hand buttons */
#site-head a.consult{color:var(--on-navy,#F7F4EC);text-decoration:none;font-size:15px;font-weight:500;padding:10px 6px;white-space:nowrap}
#site-head a.consult:hover{color:var(--gold,#C9A646);text-decoration:underline;text-underline-offset:4px}
#site-head a.enroll-btn{background:var(--gold,#C9A646);color:var(--navy,#1B2A4A);font-weight:700;font-size:15px;padding:0 20px;min-height:46px;border-radius:6px;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center}
#site-head a.enroll-btn:hover{background:#D4B064;color:var(--navy,#1B2A4A)}
#site-head .nav-toggle{display:none;width:46px;height:46px;padding:0;background:none;border:1px solid var(--navy-line,#34476E);border-radius:6px;color:inherit;cursor:pointer;align-items:center;justify-content:center}
#site-head .nav-toggle .bars,#site-head .nav-toggle .bars::before,#site-head .nav-toggle .bars::after{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .15s,background .15s}
#site-head .nav-toggle .bars::before,#site-head .nav-toggle .bars::after{content:"";position:absolute;left:0}
#site-head .nav-toggle .bars::before{top:-7px}
#site-head .nav-toggle .bars::after{top:7px}
#site-head.nav-open .nav-toggle .bars{background:transparent}
#site-head.nav-open .nav-toggle .bars::before{top:0;transform:rotate(45deg)}
#site-head.nav-open .nav-toggle .bars::after{top:0;transform:rotate(-45deg)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tablet and phone: menu folds into a button, Enroll stays visible */
@media(max-width:1180px){
  #site-head .wrap{flex-wrap:wrap}
  #site-head .head-actions{order:2}
  #site-head .nav-toggle{display:inline-flex}
  #site-head a.consult{display:none}
  #site-head nav.mainnav{order:3;flex:0 0 100%;display:none;max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);overflow-y:auto;border-top:1px solid var(--navy-line,#34476E);margin-top:2px}
  #site-head.nav-open nav.mainnav{display:block}
  #site-head .nav-list{display:block}
  #site-head .drop-btn{width:100%;justify-content:space-between;padding:14px 4px;font-size:17px;border-radius:0;border-bottom:1px solid #2B3B5E}
  #site-head .drop{position:static;min-width:0;margin:0;padding:4px 0 10px 10px;background:transparent;box-shadow:none;border-radius:0}
  #site-head .drop::before{display:none}
  #site-head .drop a{color:var(--on-navy-2,#D9D6CC);padding:12px 8px;font-size:16px}
  #site-head .drop a:hover{background:rgba(255,255,255,.07);color:var(--gold,#C9A646)}
  #site-head .drop a[aria-current="page"]{color:var(--gold,#C9A646)}
  #site-head .drop .sep{border-color:#2B3B5E}
  #site-head .mobile-only{display:block}
  #site-head .mobile-only a{display:block;padding:14px 4px;color:var(--on-navy,#F7F4EC);text-decoration:none;font-size:17px;font-weight:500}
}
@media(max-width:520px){
  #site-head .wrap{gap:8px 8px;padding-inline:16px}
  #site-head .brand{column-gap:8px}
  #site-head .brand .mark{width:30px;height:30px}
  #site-head .brand b{font-size:18px}
  #site-head a.enroll-btn{padding:0 12px;font-size:13.5px;min-height:44px}
  #site-head .nav-toggle{width:44px;height:44px}
}
@media(max-width:380px){#site-head a.enroll-btn .long{display:none}}
