/* Presentation and behaviour of the existing Elementor 1608 HTML header. */
/* These fixed widgets otherwise paint over the modal despite being inert. */
body.ng-navigation-open :is(#ngCookie, #ngCookieSettings, .mobile-call-btn) {
  display: none !important;
  visibility: hidden !important;
}
.ngh[data-ng-navigation] [hidden] { display: none !important; }
.ngh[data-ng-navigation] .has-drop > .ngh__drop,
.ngh[data-ng-navigation] .has-drop > .ngh__mega {
  opacity: 1;
  visibility: visible;
  transform: none;
}
/* Keep the pointer path open across the existing 10px dropdown gap. */
.ngh[data-ng-navigation] .has-drop > .ngh__drop::before,
.ngh[data-ng-navigation] .has-drop > .ngh__mega::before {
  content: '';
  position: absolute;
  inset: -12px 0 100%;
}
.ngh[data-ng-navigation] :is(a, button, summary):focus-visible {
  outline: 3px solid #244f67;
  outline-offset: 3px;
}
.ngh[data-ng-navigation] :is(.ngh__sub, .ngh__mSub, .ngh__mLink, .ngh__mSummary) {
  min-height: 44px;
  box-sizing: border-box;
}
.ngh[data-ng-navigation] .ngh__burger,
body.ng-mobile-header-compact .ngh[data-ng-navigation] .ngh__burger,
.ngh[data-ng-navigation] .ngh__close {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
}
@media (max-width: 1180px) {
  .ngh[data-ng-navigation] .ngh__mobile {
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    transform: none;
    overflow: hidden;
  }
  .ngh[data-ng-navigation] .ngh__mobileHead {
    position: absolute;
    right: 0;
    top: 0 !important;
    width: min(92vw, 420px);
    height: 56px;
    margin: 0 !important;
    padding: 6px 16px;
    box-sizing: border-box;
    transform: none;
  }
  .ngh[data-ng-navigation] .ngh__close { transform: none; }
  .ngh[data-ng-navigation] .ngh__mobileNav {
    overscroll-behavior: contain;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }
}
@media (prefers-reduced-motion: reduce) {
  .ngh[data-ng-navigation], .ngh[data-ng-navigation] *, .ngh[data-ng-navigation] *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

/* Premium header — reuse the original markup and Elementor sticky spacer. */
.elementor-location-header { --ngh-space:104px; --ngh-compact:76px; }
.elementor-location-header .elementor-sticky__spacer { height:var(--ngh-space)!important; min-height:var(--ngh-space)!important; }
.ngh {
  --ng-primary:var(--ng-ink); --ng-primary-dark:var(--ng-ink-deep); --ng-text:var(--ng-ink);
  --ng-muted:#526b76; --ng-bg:var(--ng-surface); --ng-radius:8px;
  --ng-shadow:0 18px 42px rgba(18,62,79,.1);
  background:var(--ng-bg); color:var(--ng-text);
  box-shadow:none; border-bottom:1px solid rgba(18,62,79,.12);
  transition:box-shadow .2s ease;
}
.ngh .ngh__wrap {
  max-width:1360px; box-sizing:border-box; height:var(--ngh-space); min-height:0!important;
  padding:8px 32px!important; gap:32px; transition:height .2s ease;
}
.ngh .ngh__brand { gap:20px; max-width:none; }
.ngh .ngh__logo { width:108px!important; max-width:108px!important; height:82px!important; max-height:82px!important; mix-blend-mode:multiply; transition:width .2s ease,height .2s ease; }
.ngh .ngh__brandText { border-left:1px solid rgba(18,62,79,.18); padding-left:20px; }
.ngh .ngh__brandSub { display:block; max-width:160px; white-space:normal; font-size:11px; line-height:1.8; letter-spacing:.035em; color:var(--ng-muted); }
.ngh .ngh__nav { justify-content:flex-end; }
.ngh .ngh__menu { gap:8px; }
.ngh .ngh__link {
  height:46px; padding:0 12px; border-radius:3px; font-size:14px; font-weight:500; letter-spacing:.015em;
  color:var(--ng-text); background:none; position:relative;
  transition:color .18s ease,background-color .18s ease;
}
.ngh .ngh__link:not(.is-cta)::after {
  content:''; position:absolute; bottom:4px; left:12px; right:12px; height:1px;
  background:var(--ng-accent); transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.ngh .ngh__link:is(:hover,:focus-visible,.is-active,.is-current-section,[aria-expanded="true"]) { color:var(--ng-text); background:none; }
.ngh .ngh__link:not(.is-cta):is(:hover,:focus-visible,.is-active,.is-current-section,[aria-expanded="true"])::after { transform:scaleX(1); }
.ngh .ngh__link.is-cta { background:var(--ng-primary); color:#fff; padding:0 25px; margin-left:12px; border:1px solid var(--ng-primary); border-radius:4px; }
.ngh .ngh__link.is-cta:hover { background:var(--ng-primary-dark); color:#fff; }
.ngh .ngh__link.is-cta::after { content:'↗'; font-size:17px; margin-left:12px; color:var(--ngds-champagne); }
.ngh .ngh__chev { font-size:10px; color:var(--ng-muted); transition:transform .18s ease; }
.ngh [aria-expanded="true"] > .ngh__chev { transform:rotate(180deg); }
.ngh .ngh__drop,.ngh .ngh__mega { border:1px solid rgba(18,62,79,.12); background:var(--ng-surface); padding:12px; list-style:none; margin:0; box-shadow:var(--ng-shadow); }
.ngh .ngh__drop { min-width:285px; }
.ngh .ngh__mega { left:auto; right:-110px; gap:28px; padding:24px; grid-template-columns:repeat(2,minmax(190px,1fr)); }
.ngh .ngh__mega--regions { grid-template-columns:repeat(3,minmax(180px,1fr)); }
.ngh .ngh__sub { padding:12px; font-size:14px; font-weight:400; line-height:1.5; border-radius:3px; transition:background-color .18s ease,color .18s ease; }
.ngh .ngh__sub:hover { background:var(--ng-soft); color:var(--ng-primary); }
.ngh .ngh__megaTitle { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; padding:0 12px 10px; }
.ngh[data-ng-navigation] :is(a,button,summary):focus-visible { outline:2px solid var(--ng-accent); outline-offset:4px; }
.ngh.ngh--compact { box-shadow:0 5px 24px rgba(18,62,79,.07); }
.ngh.ngh--compact .ngh__wrap { height:var(--ngh-compact); }
.ngh.ngh--compact .ngh__logo { width:76px!important; max-width:76px!important; height:58px!important; max-height:58px!important; }
@media (min-width:1181px) and (max-width:1320px) {
  .ngh .ngh__brandText { display:none; }
  .ngh .ngh__wrap { gap:24px; }
}
@media (max-width:1180px) {
  .elementor-location-header { --ngh-space:84px; --ngh-compact:68px; }
  .ngh .ngh__wrap { padding:8px 24px!important; }
  .ngh .ngh__brand { max-width:none; }
  .ngh .ngh__brandText { display:none; }
  .ngh .ngh__logo { width:84px!important; max-width:84px!important; height:64px!important; max-height:64px!important; }
  .ngh.ngh--compact .ngh__logo { width:65px!important; max-width:65px!important; height:50px!important; max-height:50px!important; }
  .ngh[data-ng-navigation] .ngh__burger,.ngh[data-ng-navigation] .ngh__close { border:1px solid rgba(18,62,79,.2); border-radius:3px!important; background:transparent; color:var(--ng-text); }
  .ngh .ngh__burgerLines,.ngh .ngh__burgerLines::before,.ngh .ngh__burgerLines::after { width:22px; height:1px; background:var(--ng-text); }
  .ngh[data-ng-navigation] .ngh__mobile { background:rgba(11,35,45,.4); visibility:visible; transition:opacity .18s ease; }
  .ngh[data-ng-navigation] .ngh__mobileHead {
    width:min(92vw,460px); height:84px; padding:18px 24px; background:var(--ng-surface);
    border-bottom:1px solid rgba(18,62,79,.15); z-index:3;
    transform:translateX(24px); transition:transform .18s ease;
  }
  .ngh .ngh__mobileTitle { font-family:var(--ng-font-display); font-size:26px; font-weight:400; letter-spacing:-.02em; color:var(--ng-text); }
  .ngh[data-ng-navigation] .ngh__mobileNav {
    top:84px!important; height:calc(100% - 84px)!important; width:min(92vw,460px);
    padding:20px 24px max(32px,env(safe-area-inset-bottom)); border-radius:0; background:var(--ng-surface);
    box-shadow:-16px 22px 40px rgba(11,35,45,.08); transform:translateX(24px); transition:transform .18s ease;
  }
  .ngh.is-open .ngh__mobileHead,.ngh.is-open .ngh__mobileNav { transform:translateX(0); }
  .ngh .ngh__mLink,.ngh .ngh__mSummary { font-size:23px; font-family:var(--ng-font-display); font-weight:400; line-height:1.3; padding:19px 0; background:none; border:0; border-radius:0; margin:0; min-height:64px; }
  .ngh .ngh__mLink.is-active { background:none; border-color:transparent; }
  .ngh .ngh__mLink:not(.is-cta)[aria-current="page"] { text-decoration:underline!important; text-decoration-color:var(--ng-accent)!important; text-underline-offset:7px; }
  .ngh .ngh__mGroup { border:0; border-bottom:1px solid rgba(18,62,79,.15); margin:0; border-radius:0; background:none; overflow:visible; }
  .ngh .ngh__mSummary::after { content:'+'; font-family:Arial,sans-serif; font-size:20px; font-weight:400; color:var(--ng-muted); }
  .ngh .ngh__mGroup[open] .ngh__mSummary::after { transform:rotate(45deg); }
  .ngh .ngh__mPanel { padding:0 0 18px 14px; border:0; }
  .ngh .ngh__mSub { padding:12px 6px; border:0; border-radius:2px; background:none; font-family:inherit; font-size:14px; line-height:1.5; font-weight:400; }
  .ngh .ngh__mSub+.ngh__mSub { margin:0; }
  .ngh .ngh__mSub:hover { background:var(--ng-soft); }
  .ngh .ngh__mLabel { padding:14px 6px 4px; margin:0; font-size:10px; font-weight:600; color:var(--ng-muted); letter-spacing:.13em; }
  .ngh .ngh__mLink.is-cta { margin-top:24px; padding:17px 22px; min-height:56px; background:var(--ng-primary); border-radius:3px; font-family:inherit; font-size:15px; justify-content:space-between; }
  .ngh .ngh__mLink.is-cta::after { content:'↗'; color:var(--ngds-champagne); font-size:20px; }
}
@media (max-width:480px) { .ngh .ngh__wrap { padding-inline:20px!important; } }
@media (prefers-reduced-motion:reduce) {
  .ngh[data-ng-navigation],.ngh[data-ng-navigation] *,.ngh[data-ng-navigation] *::before,.ngh[data-ng-navigation] *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}

/* Higher contrast mobile menu control, scoped to the header. */
@media(max-width:1180px){
 body .ngh[data-ng-navigation] .ngh__burger{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;background:#103c4c;border:1px solid #103c4c;border-radius:4px!important;color:#fff;box-shadow:0 3px 10px rgba(16,60,76,.16)}
 body .ngh[data-ng-navigation] .ngh__burger:hover{background:#0b2d3b;border-color:#0b2d3b}
 body .ngh[data-ng-navigation] .ngh__burger .ngh__burgerLines,
 body .ngh[data-ng-navigation] .ngh__burger .ngh__burgerLines::before,
 body .ngh[data-ng-navigation] .ngh__burger .ngh__burgerLines::after{width:24px;height:2.5px;background:#fff;border-radius:2px}
 body .ngh[data-ng-navigation] .ngh__burger:focus-visible{outline:3px solid #755439;outline-offset:4px}
}

/* Crisp, evenly spaced SVG strokes replace the inherited CSS bars. */
@media(max-width:1180px){
 body .ngh[data-ng-navigation] .ngh__burger{display:inline-flex;align-items:center;justify-content:center;padding:0}
 body .ngh[data-ng-navigation] .ngh__burger .ngh__burgerLines{display:block;width:26px;height:26px;position:static;transform:none!important;border:0;border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center/26px 26px no-repeat!important;box-shadow:none}
 body .ngh[data-ng-navigation] .ngh__burger .ngh__burgerLines::before,body .ngh[data-ng-navigation] .ngh__burger .ngh__burgerLines::after{display:none!important;content:none!important}
}