.elementor-1061 .elementor-element.elementor-element-60149ed5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1061 .elementor-element.elementor-element-bb62e07{--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;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1061 .elementor-element.elementor-element-6e58e111{--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-start;--align-items:center;}.elementor-1061 .elementor-element.elementor-element-56099bfe{text-align:start;}.elementor-1061 .elementor-element.elementor-element-689c427e{--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;--flex-wrap:nowrap;}.elementor-1061 .elementor-element.elementor-element-22f534a7 .elementor-menu-toggle{margin:0 auto;}.elementor-1061 .elementor-element.elementor-element-372588d7{--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;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&display=swap");

/* ==========================================================
   AGILYS NXT — COMPLETE HEADER CSS
   Replace all previous header CSS with this block.
   ========================================================== */

:root {
  --agx-header-navy: #071523;
  --agx-header-white: #ffffff;
  --agx-header-orange: #ff6a13;
  --agx-header-font: "Manrope", Arial, sans-serif;
  --agx-header-shell: min(1180px, calc(100% - 48px));
  --agx-header-ease: cubic-bezier(.2, .75, .25, 1);
}

/* Sticky header location */
.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
}

.admin-bar .elementor-location-header {
  top: 32px !important;
}

/* Main header glass surface */
.elementor-location-header .agx-native-header {
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
  --widgets-spacing: 0px !important;

  position: relative !important;
  isolation: isolate;
  display: flex !important;
  flex-flow: row nowrap !important;

  width: 100% !important;
  max-width: none !important;
  height: 82px !important;
  min-height: 82px !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;

  color: var(--agx-header-white) !important;

  /*
   * Nearly opaque original navy.
   * This prevents white sections from turning the header grey.
   */
  background: rgba(7, 21, 35, .97) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .13) !important;

  -webkit-backdrop-filter: blur(20px) saturate(115%);
  backdrop-filter: blur(20px) saturate(115%);

  box-shadow:
    0 14px 42px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .055) !important;
}

/* Subtle liquid-glass highlight */
.elementor-location-header .agx-native-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, .035) 0%,
      rgba(255, 255, 255, 0) 65%
    ) !important;
}

/* Slightly stronger surface after scrolling */
.elementor-location-header .agx-native-header.elementor-sticky--active,
.elementor-location-header .agx-native-header.elementor-sticky--effects {
  background: rgba(7, 21, 35, .985) !important;

  -webkit-backdrop-filter: blur(24px) saturate(115%);
  backdrop-filter: blur(24px) saturate(115%);

  box-shadow:
    0 18px 48px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .065) !important;
}

/* Content shell */
.elementor-location-header .agx-native-header__inner {
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;

  position: relative !important;
  z-index: 1;

  display: flex !important;
  flex: 0 0 auto !important;
  flex-flow: row nowrap !important;

  width: var(--agx-header-shell) !important;
  max-width: 1180px !important;
  height: 82px !important;
  min-height: 82px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
}

/* Brand container */
.elementor-location-header .agx-native-header__brand {
  --gap: 0px !important;

  display: flex !important;
  flex: 0 0 150px !important;

  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  height: 42px !important;
  min-height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

/* Logo widget */
.elementor-location-header .agx-native-header__logo {
  display: block !important;
  flex: 0 0 150px !important;

  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  height: 42px !important;
  min-height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.elementor-location-header .agx-native-header__logo a,
.elementor-location-header .agx-native-header__logo .elementor-widget-container {
  display: flex !important;

  width: 150px !important;
  height: 42px !important;

  align-items: center !important;
  justify-content: flex-start !important;
}

/* Logo will never display below 40px */
.elementor-location-header .agx-native-header__logo img {
  display: block !important;

  width: auto !important;
  height: 42px !important;
  min-height: 42px !important;
  max-width: 150px !important;
  max-height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: left center !important;
}

/* Navigation and CTA area */
.elementor-location-header .agx-native-header__controls {
  --gap: 32px !important;

  display: flex !important;
  flex: 1 1 auto !important;
  flex-flow: row nowrap !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 46px !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: center !important;
  justify-content: flex-end !important;
  gap: 32px !important;
}

/* Navigation widget */
.elementor-location-header .agx-native-header__nav {
  display: block !important;
  flex: 0 1 auto !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 44px !important;

  margin: 0 !important;
  padding: 0 !important;
}

.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main {
  display: flex !important;
  align-items: center !important;
}

.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-nav-menu {
  display: flex !important;
  flex-flow: row nowrap !important;

  align-items: center !important;
  justify-content: flex-end !important;
  gap: 32px !important;
}

/* Navigation links */
.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-item {
  position: relative !important;
  display: inline-flex !important;

  min-height: 44px !important;
  padding: 0 !important;

  align-items: center !important;

  color: var(--agx-header-white) !important;
  background: transparent !important;

  font-family: var(--agx-header-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  text-transform: none !important;
}

/* Modern underline animation */
.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-item::after {
  content: "" !important;

  position: absolute !important;
  right: 0 !important;
  bottom: 5px !important;
  left: 0 !important;

  width: auto !important;
  height: 1px !important;

  border: 0 !important;
  background: var(--agx-header-orange) !important;

  transform: scaleX(0);
  transform-origin: right;

  transition: transform .3s var(--agx-header-ease) !important;
}

.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-item:hover::after,
.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-item:focus-visible::after,
.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-item.elementor-item-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* CTA container */
.elementor-location-header .agx-native-header__action {
  --gap: 0px !important;

  display: flex !important;
  flex: 0 0 auto !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
}

.elementor-location-header .agx-native-header__cta {
  display: block !important;
  flex: 0 0 auto !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Header button */
.elementor-location-header
.agx-native-header__cta
.elementor-button {
  display: inline-flex !important;

  min-height: 46px !important;
  padding: 0 20px !important;

  align-items: center !important;
  justify-content: center !important;

  color: var(--agx-header-white) !important;
  background: transparent !important;

  border: 1px solid rgba(255, 255, 255, .52) !important;
  border-radius: 999px !important;

  box-shadow: none !important;

  font-family: var(--agx-header-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  text-transform: none !important;

  transition:
    transform .25s var(--agx-header-ease),
    color .25s ease,
    background-color .25s ease,
    border-color .25s ease !important;
}

/* Ensure no arrow or button icon appears */
.elementor-location-header
.agx-native-header__cta
.elementor-button-icon {
  display: none !important;
}

.elementor-location-header
.agx-native-header__cta
.elementor-button-content-wrapper,
.elementor-location-header
.agx-native-header__cta
.elementor-button-text {
  color: inherit !important;
  font: inherit !important;
}

/* Button hover */
.elementor-location-header
.agx-native-header__cta
.elementor-button:hover,
.elementor-location-header
.agx-native-header__cta
.elementor-button:focus-visible {
  color: var(--agx-header-navy) !important;
  background: var(--agx-header-white) !important;
  border-color: var(--agx-header-white) !important;
  transform: translateY(-2px);
}

/* Keyboard focus */
.elementor-location-header .agx-native-header a:focus-visible,
.elementor-location-header
.agx-native-header
.elementor-menu-toggle:focus-visible {
  outline: 3px solid var(--agx-header-orange) !important;
  outline-offset: 3px !important;
}

/* Tablet adjustments */
@media (max-width: 1024px) {
  :root {
    --agx-header-shell: calc(100% - 36px);
  }

  .elementor-location-header .agx-native-header__controls {
    --gap: 20px !important;
    gap: 20px !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-nav-menu--main
  .elementor-nav-menu {
    gap: 20px !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-nav-menu--main
  .elementor-item {
    font-size: 13px !important;
  }

  .elementor-location-header
  .agx-native-header__cta
  .elementor-button {
    padding-right: 16px !important;
    padding-left: 16px !important;
    font-size: 13px !important;
  }
}

/* Mobile header */
@media (max-width: 767px) {
  :root {
    --agx-header-shell: calc(100% - 40px);
  }

  .elementor-location-header .agx-native-header,
  .elementor-location-header .agx-native-header__inner {
    height: 72px !important;
    min-height: 72px !important;
  }

  .elementor-location-header .agx-native-header__brand,
  .elementor-location-header .agx-native-header__logo {
    flex: 0 0 143px !important;

    width: 143px !important;
    min-width: 143px !important;
    max-width: 143px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .elementor-location-header .agx-native-header__logo a,
  .elementor-location-header
  .agx-native-header__logo
  .elementor-widget-container {
    width: 143px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .elementor-location-header .agx-native-header__logo img {
    width: auto !important;
    height: 40px !important;
    min-height: 40px !important;
    max-width: 143px !important;
    max-height: 40px !important;
  }

  .elementor-location-header .agx-native-header__controls {
    flex: 0 0 auto !important;
    width: auto !important;
    gap: 0 !important;
  }

  .elementor-location-header .agx-native-header__action {
    display: none !important;
  }

  .elementor-location-header .agx-native-header__nav {
    position: static !important;
    flex: 0 0 46px !important;

    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-nav-menu--main {
    display: none !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-menu-toggle {
    display: flex !important;

    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: center !important;

    color: var(--agx-header-white) !important;
    background: transparent !important;

    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 10px !important;

    box-shadow: none !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-menu-toggle
  svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 50 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 14px 20px 24px !important;

    background: rgba(7, 21, 35, .99) !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;

    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);

    box-shadow: 0 24px 50px rgba(0, 0, 0, .3) !important;
  }

  .elementor-location-header
  .agx-native-header__nav
  .elementor-nav-menu--dropdown
  .elementor-item {
    display: flex !important;

    min-height: 56px !important;
    padding: 0 !important;

    align-items: center !important;

    color: var(--agx-header-white) !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;

    font-family: var(--agx-header-font) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
  }
}

@media (max-width: 782px) {
  .admin-bar .elementor-location-header {
    top: 46px !important;
  }
}

@media (max-width: 390px) {
  :root {
    --agx-header-shell: calc(100% - 32px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .agx-native-header,
  .elementor-location-header .agx-native-header *,
  .elementor-location-header .agx-native-header *::before,
  .elementor-location-header .agx-native-header *::after {
    transition-duration: .01ms !important;
  }
}
/* Agilys NXT — Header refinement */

/* Reduce header opacity by 5% */
.elementor-location-header .agx-native-header {
  background: rgba(7, 21, 35, .92) !important;
}

/* Maintain slightly stronger opacity while scrolling */
.elementor-location-header .agx-native-header.elementor-sticky--active,
.elementor-location-header .agx-native-header.elementor-sticky--effects {
  background: rgba(7, 21, 35, .935) !important;
}

/* Change navigation hover underline from orange to white */
.elementor-location-header
.agx-native-header__nav
.elementor-nav-menu--main
.elementor-item::after {
  background: #ffffff !important;
}
/* ==========================================================================
   AGILYS NXT — HEADER MOBILE FIX  (paste at the VERY END of your header CSS)
   --------------------------------------------------------------------------
   Keeps your desktop header exactly as it is. Fixes on phones/tablets:
   1. The white band under the header + the scroll shake
      (Elementor's sticky "spacer" clone fighting the CSS sticky)
   2. The squashed menu ("Wh / we / ser") → full-width dropdown
   3. Scroll jank from live blur (backdrop-filter) on the sticky bar
   Also: anchor links (#agx-contact) no longer land under the header.
   ========================================================================== */

/* --- 1. One sticky mechanism only: CSS sticky on the header location ----- */
/* Elementor's JS sticky inserts a hidden copy of the header (the "spacer")
   and toggles it while you scroll. Your CSS already makes the header sticky,
   so the copy only adds an empty band and makes the page jump. Remove it.   */
.elementor-location-header .elementor-sticky__spacer,
.e-con.agx-native-header.elementor-sticky__spacer {
  display: none !important;
}

/* Elementor's sticky JS also writes inline top / left / width / margin-top
   on the header while scrolling. Neutralise them so the bar never moves.    */
.elementor-location-header .e-con.agx-native-header,
.elementor-location-header .e-con.agx-native-header.elementor-sticky--active {
  inset: auto !important;
  width: auto !important;
  max-width: none !important;
  margin-top: 0 !important;
  transform: none !important;
}

/* Anchor links land below the header, not under it */
html { scroll-padding-top: 82px; }

/* --- 2 + 3. Tablet and phone --------------------------------------------- */
@media (max-width: 1023px) {
  /* Solid bar, no live blur: iOS re-blurs the whole page under it on every
     scroll frame, which is what makes scrolling feel shaky.               */
  .elementor-location-header .e-con.agx-native-header,
  .elementor-location-header .e-con.agx-native-header.elementor-sticky--active,
  .elementor-location-header .e-con.agx-native-header.elementor-sticky--effects {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background-color: rgb(8, 22, 36) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .07), 0 8px 22px rgba(0, 0, 0, .28) !important;
    transition: none !important;
  }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 72px; }

  /* The dropdown was measuring itself against the small controls box
     (≈46px wide). Make every wrapper between it and the header "static",
     so it measures against the full-width header bar instead.            */
  .elementor-location-header .e-con.agx-native-header__inner,
  .elementor-location-header .e-con.agx-native-header__controls,
  .elementor-location-header .elementor-widget.agx-native-header__nav,
  .elementor-location-header .agx-native-header__nav > .elementor-widget-container {
    position: static !important;
  }
  .elementor-location-header .e-con.agx-native-header {
    position: relative !important;
    overflow: visible !important;
  }

  /* Full-width panel directly under the 72px bar */
  .elementor-location-header .agx-native-header__nav nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 10000 !important;
    background: rgb(8, 22, 36) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 24px 40px rgba(0, 0, 0, .35) !important;
    transform-origin: top center;
  }
  /* Open state: scroll inside the panel if the menu is taller than the screen */
  .elementor-location-header .agx-native-header__nav .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    max-height: calc(100vh - 72px) !important;
    max-height: calc(100dvh - 72px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  /* Menu items: one line each, comfortable tap height, gutter matches page */
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 14px !important;
    margin: 0 !important;
  }
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown li {
    width: 100% !important;
    border: 0 !important;
  }
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown a.elementor-item,
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown a.elementor-sub-item {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height: 52px;
    padding: 0 22px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    font-family: "Manrope", system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: rgba(255, 255, 255, .92) !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
  }
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown li:last-child > a.elementor-item {
    border-bottom: 0 !important;
  }
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown a.elementor-item:is(:hover, :focus-visible, .elementor-item-active),
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown a.elementor-sub-item:is(:hover, :focus-visible) {
    color: #fff !important;
    background: rgba(255, 255, 255, .05) !important;
  }
  /* No desktop underline pointer inside the mobile panel */
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown a.elementor-item::before,
  .elementor-location-header .agx-native-header__nav .elementor-nav-menu--dropdown a.elementor-item::after {
    display: none !important;
  }
}

/* Short/landscape phones: header 72px still, panel scrolls */
@media (max-width: 767px) and (max-height: 480px) {
  .elementor-location-header .agx-native-header__nav nav.elementor-nav-menu--dropdown a.elementor-item {
    min-height: 44px;
  }
}/* End custom CSS */