.elementor-22 .elementor-element.elementor-element-kzwyljq{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#D2D8DF;--border-color:#D2D8DF;--padding-top:20px;--padding-bottom:20px;--padding-left:56px;--padding-right:56px;--z-index:10;}.elementor-22 .elementor-element.elementor-element-kzwyljq:not(.elementor-motion-effects-element-type-background), .elementor-22 .elementor-element.elementor-element-kzwyljq > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDFCF9;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-22 .elementor-element.elementor-element-a8xmj3c .elementor-heading-title{font-family:"Libre Baskerville", Sans-serif;font-size:1.5rem;font-weight:700;line-height:1.2em;color:var( --e-global-color-primary );}.elementor-22 .elementor-element.elementor-element-wx0qkqh{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-menu-toggle{margin:0 auto;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-ui_medium-font-family ), Sans-serif;font-size:var( --e-global-typography-ui_medium-font-size );font-weight:var( --e-global-typography-ui_medium-font-weight );line-height:var( --e-global-typography-ui_medium-line-height );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-item{color:#4D5660;fill:#4D5660;padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-item:focus{color:#0D2F4F;fill:#0D2F4F;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#141B24;}.elementor-22 .elementor-element.elementor-element-wq2zkj9{--e-nav-menu-horizontal-menu-item-margin:calc( 32px / 2 );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:32px;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-menu-toggle{color:#4D5660;fill:#4D5660;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown{background-color:#FDFCF9;border-style:solid;border-width:1px 1px 1px 1px;border-color:#D2D8DF;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a:hover,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a:focus,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-menu-toggle:hover,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-menu-toggle:focus{color:#0D2F4F;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a:hover,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a:focus,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a.highlighted{background-color:#F7F5EF;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a.elementor-item-active{color:#0D2F4F;background-color:#F7F5EF;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown .elementor-item, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-ui_medium-font-family ), Sans-serif;font-size:var( --e-global-typography-ui_medium-font-size );font-weight:var( --e-global-typography-ui_medium-font-weight );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 8px 24px 0px rgba(3,23,44,0.12);}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown a{padding-left:20px;padding-right:20px;padding-top:12px;padding-bottom:12px;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown li:not(:last-child){border-style:solid;border-color:#E9EEF2;border-bottom-width:1px;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:10px !important;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button{background-color:rgba(0,0,0,0);font-family:var( --e-global-typography-ui_semibold_sm-font-family ), Sans-serif;font-size:var( --e-global-typography-ui_semibold_sm-font-size );font-weight:var( --e-global-typography-ui_semibold_sm-font-weight );line-height:var( --e-global-typography-ui_semibold_sm-line-height );fill:#0D2F4F;color:#0D2F4F;transition-duration:0.25s;border-style:solid;border-width:1px 1px 1px 1px;border-color:#0D2F4F;border-radius:3px 3px 3px 3px;padding:10px 20px 10px 20px;}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button:hover, .elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button:focus{background-color:#0D2F4F;color:#FDFCF8;border-color:#0D2F4F;}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button-content-wrapper{flex-direction:row;}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button .elementor-button-content-wrapper{gap:0px;}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button:hover svg, .elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button:focus svg{fill:#FDFCF8;}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button{background-color:#0D2F4F;font-family:var( --e-global-typography-ui_semibold_sm-font-family ), Sans-serif;font-size:var( --e-global-typography-ui_semibold_sm-font-size );font-weight:var( --e-global-typography-ui_semibold_sm-font-weight );line-height:var( --e-global-typography-ui_semibold_sm-line-height );fill:#FFFAFC;color:#FFFAFC;transition-duration:0.25s;border-radius:3px 3px 3px 3px;padding:11px 22px 11px 22px;}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button:hover, .elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button:focus{background-color:#03172C;color:#FDFCF8;border-color:#03172C;box-shadow:0px 4px 14px -4px rgba(3,23,44,0.35);}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button-content-wrapper{flex-direction:row;}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button .elementor-button-content-wrapper{gap:0px;}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button:hover svg, .elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button:focus svg{fill:#FDFCF8;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-22 .elementor-element.elementor-element-kzwyljq{--padding-top:16px;--padding-bottom:16px;--padding-left:32px;--padding-right:32px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-22 .elementor-element.elementor-element-wq2zkj9.elementor-element{--order:99999 /* order end hack */;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-ui_medium-font-size );line-height:var( --e-global-typography-ui_medium-line-height );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown .elementor-item, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-ui_medium-font-size );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}.elementor-22 .elementor-element.elementor-element-wq2zkj9{--nav-menu-icon-size:24px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button{font-size:var( --e-global-typography-ui_semibold_sm-font-size );line-height:var( --e-global-typography-ui_semibold_sm-line-height );}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button{font-size:var( --e-global-typography-ui_semibold_sm-font-size );line-height:var( --e-global-typography-ui_semibold_sm-line-height );}}@media(max-width:767px){.elementor-22 .elementor-element.elementor-element-kzwyljq{--padding-top:12px;--padding-bottom:12px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-22 .elementor-element.elementor-element-a8xmj3c .elementor-heading-title{font-size:1.1rem;}.elementor-22 .elementor-element.elementor-element-wx0qkqh{--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-22 .elementor-element.elementor-element-wq2zkj9.elementor-element{--order:99999 /* order end hack */;}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-ui_medium-font-size );line-height:var( --e-global-typography-ui_medium-line-height );}.elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown .elementor-item, .elementor-22 .elementor-element.elementor-element-wq2zkj9 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-ui_medium-font-size );}.elementor-22 .elementor-element.elementor-element-wq2zkj9{--nav-menu-icon-size:25px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-22 .elementor-element.elementor-element-ny0hyny .elementor-button{font-size:var( --e-global-typography-ui_semibold_sm-font-size );line-height:var( --e-global-typography-ui_semibold_sm-line-height );padding:10px 12px 10px 12px;}.elementor-22 .elementor-element.elementor-element-qo8wxxo .elementor-button{font-size:var( --e-global-typography-ui_semibold_sm-font-size );line-height:var( --e-global-typography-ui_semibold_sm-line-height );padding:11px 12px 11px 12px;}}/* Start custom CSS *//* Header CTA buttons: full text on desktop, icon-only on mobile.
   The label stays in the accessibility tree (clip-path, not display:none)
   so screen readers still announce "Client Login" / the phone number. */
@media (min-width: 768px) {
  .nhc-site-header .elementor-button-icon { display: none; }
}
@media (max-width: 767px) {
  .nhc-site-header .elementor-button-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .nhc-site-header .elementor-button-icon {
    font-size: 16px;
    line-height: 1;
  }
}

/* The wordmark carries white-space:nowrap (kit CSS), so if it is ever allowed to
   shrink it clips silently rather than wrapping. The nav group is content_width:full
   (width:100%), so it competes with the wordmark for space and wins by default.
   Pin the wordmark and let the nav group absorb all shrinking - it has slack,
   since its content is narrower than its 100% basis. */
.nhc-site-header .elementor-widget-heading { flex-shrink: 0; }

/* ---------------------------------------------------------------------------
   Burger window widened to 1240px.

   Elementor switches this nav to a burger at its tablet breakpoint (<=1024), but
   the full desktop nav needs 1141px of header width: wordmark 189.5 + gap 16 +
   menu 486.4 + 32 + Client Login 123.9 + 32 + phone 149.3 + 112 padding (measured
   from the shipped woff2 via HarfBuzz). With a 15-17px scrollbar that is a ~1158px
   viewport, so 1025-1157 had no working layout - the nav group wrapped into three
   rows and the header grew to 149px. Window is 1240 (see the 2026-08-12 note below).

   Elementor's own `dropdown` control only offers the ACTIVE breakpoints
   (mobile/tablet), so the window is widened here rather than by moving the
   global tablet breakpoint, which would shift every _tablet setting site-wide.

   Safe to override with `display` because open/close is driven by max-height +
   transform: scaleY() on
   `.elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container`,
   not by display. These rules only decide which of the two navs is present.
   --------------------------------------------------------------------------- */
@media (max-width: 1240px) {
  .nhc-site-header .elementor-nav-menu--main { display: none; }
  .nhc-site-header .elementor-menu-toggle { display: flex; }
  .nhc-site-header .elementor-nav-menu--dropdown { display: block; }

  /* The dropdown panel is only position:absolute under .elementor-nav-menu--stretch
     in Pro 4.2.1, and the widget's Stretch switcher does not emit that class. Left
     in flow it wraps below the toggle and inflates the widget to 75px, taking the
     header with it. Drop the intermediate containers out of the positioning chain
     so the panel anchors to the sticky header: full width, flush under the bar. */
  .nhc-site-header .e-con,
  .nhc-site-header .elementor-widget-nav-menu {
    position: static;
  }
  .nhc-site-header .elementor-widget-nav-menu {
    width: auto;
    flex: 0 0 auto;
  }
  .nhc-site-header .elementor-nav-menu--dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 0;
    z-index: 9997;
    background-color: #FDFCF9;
    border-top: 1px solid #D2D8DF;
    box-shadow: 0 8px 24px rgba(3, 23, 44, 0.12);
  }
}


/* Desktop Services submenu: SmartMenus opens it directly under the LINK, which sits
   31px above the header's bottom edge (the bar is 79px tall because the CTA buttons are
   38px inside 20px padding, while the nav link itself is only ~19px). Left alone the
   dropdown overlaps the header's lower padding and its border. Push it clear of the bar. */
@media (min-width: 1241px) {
  .nhc-site-header .elementor-nav-menu--main > ul > li > ul.sub-menu {
    margin-top: 31px;
  }
}


/* Header wordmark link hover + focus (added 2026-08-11).
   The wordmark links to home but had no affordance at all. Nav items and both
   header buttons already have hover, so this was the one bare link.
   Ink #141B24 -> Brand Navy: on-brand, 13.3:1, and no layout shift. */
.nhc-site-header .elementor-element-a8xmj3c .elementor-heading-title a {
  transition: color .2s ease;
}
.nhc-site-header .elementor-element-a8xmj3c .elementor-heading-title a:hover {
  color: var(--e-global-color-secondary, #0D2F4F);
}
.nhc-site-header .elementor-element-a8xmj3c .elementor-heading-title a:focus-visible {
  color: var(--e-global-color-secondary, #0D2F4F);
  outline: 2px solid var(--e-global-color-secondary, #0D2F4F);
  outline-offset: 4px;
}


/* Burger toggle on the FAR RIGHT, across the whole burger window (added 2026-08-12).
   Inside the burger window the toggle must be the LAST item in the nav group -
   after both CTA buttons. The widget's own _flex_order_tablet/_flex_order_mobile
   only emit inside Elementor's tablet/mobile queries (<=1024), so in the
   1025-1240 band that the widened burger window above created, the toggle fell
   back to DOM order and rendered left of "Client Login". One rule covers the
   whole window; it agrees with (and is redundant below 1024 with) the widget's
   own end-order settings. */
@media (max-width: 1240px) {
  .nhc-site-header .elementor-widget-nav-menu { order: 9; }
}



/* ---------------------------------------------------------------------------
   1161px fix (2026-08-12): burger window 1160 -> 1240, plus no-silent-wrap guards.

   The 1160 threshold was derived from an ESTIMATED 471px menu width. Measured
   properly (advances shaped with HarfBuzz from the same woff2 fonts.gstatic.com
   serves: Work Sans 500 15px items + 5x32px margins + sub-arrow) the menu is
   486.4px, so the true minimum is:

     189.5 wordmark + 16 + [486.4 menu + 32 + 123.9 Client Login + 32 + 149.3 phone]
     + 112 header padding = 1141.1px of content box
     -> 1156-1158px of viewport once a 15-17px scrollbar is counted.

   So 1160 sat 2-4px above the failure point, not the ~20px the old comment
   claimed. At 1161 the desktop nav had ~3px of slack, which any rounding or a
   slightly wider scrollbar erased: the menu wrapped Contact to a second line and
   both CTA labels broke in half ("Client / Login", "(734) 677- / 3200").

   1240 gives >=80px of headroom while still keeping the full nav on 1280-wide
   laptops. If a menu item is ever added or renamed, re-measure -- do not assume.

   The guards below change the failure MODE from silent to visible: with nowrap
   the nav can no longer quietly reflow into extra rows (which no QA check
   catches); it would overflow instead, which the existing over-wide-element
   sweep does catch.
   --------------------------------------------------------------------------- */
@media (min-width: 1241px) {
  .nhc-site-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
  .nhc-site-header .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
}
.nhc-site-header .elementor-widget-button { flex-shrink: 0; }
.nhc-site-header .elementor-widget-button .elementor-button { white-space: nowrap; }



/* ---------------------------------------------------------------------------
   Burger panel fills the viewport (added 2026-08-14).

   Elementor ALREADY computes the exact distance from the panel's top edge to
   the bottom of the viewport and publishes it inline as --menu-height
   (DropdownMenuHeightController::calculateStickyMenuNavHeight =
   $window.height() - panel top in viewport; it only runs because this header
   is sticky). It then feeds that value to max-height, which merely CAPS the
   panel -- the rendered height stays content-driven, which is why the panel
   currently stops under the last item. Reusing Elementor's own number as a
   real height is the entire change: no new measurement, no JS, and it keeps
   tracking the header height, scroll position and mobile browser chrome for
   free, because Elementor recalculates it on every toggle and on scroll.

   Scoped to .elementor-active deliberately. The moment the panel closes this
   rule stops matching, height returns to auto, and the close still animates
   off max-height + scaleY exactly as it does today. Setting height on the
   panel unconditionally would collapse it instantly on close instead, because
   height is not in Elementor's `transition: max-height .3s, transform .3s`.

   overflow-y only re-asserts Elementor's own default. Elementor sets
   overflow-y:hidden on .elementor-nav-menu--dropdown-tablet above 1025px,
   normally harmless because the panel is hidden there -- but the burger window
   above was widened to 1240px, so 1025-1240 is live and the lower menu items
   would be unreachable inside a now-fixed height without it.
   --------------------------------------------------------------------------- */
@media (max-width: 1240px) {
  .nhc-site-header .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    height: var(--menu-height);
    overflow-y: auto;
  }
}



/* ---------------------------------------------------------------------------
   Page behind the open burger panel does not scroll (added 2026-08-14).

   Pure CSS on purpose. :has() reads the toggle's own .elementor-active class --
   the one Elementor already toggles -- so there is no second source of truth to
   fall out of sync. The lock cannot outlive the menu (a JS-added <body> class
   can, if a handler ever throws mid-toggle) and closing the menu restores
   scrolling on its own, with no state to undo. Nothing here touches the toggle
   or its handlers.

   Set on html AND body because iOS Safari ignores overflow:hidden on body alone.
   The panel keeps its own overflow-y:auto, so locking the page does NOT stop the
   menu from scrolling internally when its content is taller than the viewport.

   scrollbar-gutter applies only while locked. Hiding the page scrollbar would
   otherwise widen the viewport by ~15px and shift the whole layout the instant
   the menu opens; reserving the gutter for exactly that period keeps the design
   still. It has no effect whatsoever while the menu is closed.
   --------------------------------------------------------------------------- */
@media (max-width: 1240px) {
  html:has(.nhc-site-header .elementor-menu-toggle.elementor-active),
  body:has(.nhc-site-header .elementor-menu-toggle.elementor-active) {
    overflow: hidden;
  }

  html:has(.nhc-site-header .elementor-menu-toggle.elementor-active) {
    scrollbar-gutter: stable;
  }
}



/* ---------------------------------------------------------------------------
   Sub-menus stay in flow inside the burger panel (added 2026-08-14).

   Elementor puts the class .elementor-nav-menu--dropdown on the sub-menu <ul>
   as well as on the top-level <nav>, so the burger-window block above --
   `.nhc-site-header .elementor-nav-menu--dropdown { position:absolute; top:100%;
   left:0; right:0; z-index:9997; background-color:#FDFCF9; ... }` -- was landing
   on BOTH. It was only ever meant for the panel (see its own comment: "anchors
   to the sticky header: full width, flush under the bar").

   Consequence: because Elementor also sets `.elementor-nav-menu li{position:
   relative}`, an open sub-menu anchored to its own <li>, left the flow, and
   painted as an opaque z-index:9997 layer straight over the four items that
   follow it -- About, Resources, FAQ and Contact were rendered but hidden
   behind it. Nothing was ever missing from the DOM.

   Restoring static positioning is Elementor's own native dropdown behaviour:
   the sub-menu expands in flow and pushes the later items down, which is what
   makes all 12 items reachable. Only `position` is overridden -- the inherited
   background, border-top and box-shadow are deliberately left alone so the
   sub-menu keeps exactly the look it has now.
   --------------------------------------------------------------------------- */
@media (max-width: 1240px) {
  .nhc-site-header .elementor-nav-menu--dropdown ul.sub-menu {
    position: static;
  }
}/* End custom CSS */