/* Narrow compatibility adapter for the three legacy shells; not page styling. */
body .hp-site-nav {
  --gold: var(--hp-gold); --gold-light: var(--hp-gold-light); --v2-gold: var(--hp-gold);
  --font-serif: var(--hp-font-display); --v2-font-serif: var(--hp-font-display);
  --font-sans: var(--hp-font-ui); --v2-font-sans: var(--hp-font-ui);
  position: fixed; inset: 0 0 auto; z-index: 1000; min-height: 78px;
  background: var(--hp-navy) !important; border-bottom: 1px solid var(--hp-border) !important;
  box-shadow: none !important; overflow: visible;
}
body .hp-site-nav :is(.v2-nav-inner,.nav-inner) { width: 100%; max-width: 1230px !important; min-height: 78px; margin: auto; padding: 0 24px !important; display: flex; align-items: center; justify-content: space-between; }
body .hp-site-nav:not(.connect-header) { padding: 0; height: 78px; }
body .navbar.hp-site-nav { position: sticky; }
body .hp-site-nav :is(.v2-nav-links,.v2-nav-cta) { display: none; }
body .hp-site-nav :is(.nav-logo-text,.v2-nav-logo-text,.connect-brand) { font-family: var(--hp-font-display) !important; font-size: clamp(1.2rem,3.8vw,1.65rem) !important; color: var(--hp-text); }
body .hp-site-nav :is(.nav-logo-text span,.v2-nav-logo-text span,.connect-brand strong) { color: var(--hp-gold) !important; }
body .hp-site-nav .hp-menu-toggle {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center;
  gap: 5px; width: 46px; height: 46px; min-width: 46px; padding: 10px; margin-left: auto;
  border: 1px solid var(--hp-border-accent); border-radius: var(--hp-radius-md);
  background: var(--hp-surface); cursor: pointer; z-index: 2;
}
body .hp-site-nav .hp-menu-toggle span { display: block; width: 20px; height: 2px; margin: 0; background: var(--hp-text); }
body .hp-site-nav .hp-menu-toggle:hover { border-color: var(--hp-gold-light); }
/* These scoped overrides neutralize ds-v2's existing !important nav rules. */
body .hp-site-menu.hp-site-menu {
  --gold: var(--hp-gold); --v2-gold: var(--hp-gold);
  position: fixed !important; inset: 90px max(16px,calc((100vw - 1180px)/2)) auto auto !important;
  width: min(390px,calc(100vw - 32px)) !important; height: auto !important;
  max-height: var(--hp-menu-max-height,calc(100svh - 108px)) !important; overflow-y: auto; margin: 0; padding: 12px !important;
  display: none !important; flex-direction: column; gap: 0 !important; list-style: none;
  background: var(--hp-surface) !important; border: 1px solid var(--hp-border-accent);
  border-radius: var(--hp-radius-lg); box-shadow: var(--hp-shadow); z-index: 1100;
  transform: none !important; opacity: 1 !important; visibility: visible !important;
}
body .hp-site-menu.hp-site-menu.open:not([hidden]) { display: flex !important; }
body .hp-site-menu.hp-site-menu li { width: 100%; margin: 0; list-style: none; }
body .hp-site-menu.hp-site-menu :is(a,button) {
  display: flex !important; align-items: center; width: 100%; min-height: 46px;
  padding: 12px 14px !important; margin: 0 !important; border: 0 !important;
  border-radius: var(--hp-radius-sm); background: transparent !important;
  color: var(--hp-text) !important; font: 500 1rem/1.4 var(--hp-font-ui) !important;
  text-align: left; text-decoration: none; letter-spacing: normal; box-shadow: none !important;
}
body .hp-site-menu.hp-site-menu :is(a,button):hover { background: var(--hp-surface-raised) !important; color: var(--hp-gold-light) !important; }
body .hp-site-menu.hp-site-menu [aria-current="page"] { color: var(--hp-gold-light) !important; background: var(--hp-surface-raised) !important; }
body .hp-site-menu.hp-site-menu a::after { display: none !important; }
body .hp-site-menu.hp-site-menu .hp-workspace-start { border-top: 1px solid var(--hp-border); margin-top: 8px; padding-top: 8px; }
body .hp-site-menu.hp-site-menu strong { font-weight: 500; color: inherit; }
body .hp-site-menu.hp-site-menu small { display: none; }
body .hp-site-nav :focus-visible, body .hp-site-menu.hp-site-menu :focus-visible { outline: 2px solid var(--hp-gold-light) !important; outline-offset: 2px; }
@media (max-width: 430px) { body .hp-site-nav :is(.v2-nav-inner,.nav-inner) { padding-inline: 16px !important; } }
