.elementor-36 .elementor-element.elementor-element-cae021f{--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:12px 16px;--row-gap:12px;--column-gap:16px;--padding-top:18px;--padding-bottom:18px;--padding-left:64px;--padding-right:64px;--z-index:999;}.elementor-36 .elementor-element.elementor-element-84ccf66{--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;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-36 .elementor-element.elementor-element-logofull1 img{width:104px;}.elementor-36 .elementor-element.elementor-element-logowht1 img{width:104px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.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-weight:var( --e-global-typography-accent-font-weight );}.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-menu-toggle{margin:0 auto;}.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-nav-menu--main .elementor-item{color:#191919;fill:#191919;}.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-nav-menu--main .elementor-item:focus{color:#FF7F11;fill:#FF7F11;}.elementor-36 .elementor-element.elementor-element-71d6d51 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FF7F11;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-36 .elementor-element.elementor-element-a2242ee .elementor-button{background-color:#191919;}.elementor-36 .elementor-element.elementor-element-a2242ee .elementor-button:hover, .elementor-36 .elementor-element.elementor-element-a2242ee .elementor-button:focus{background-color:#191919;color:#FFFFFF;}.elementor-36 .elementor-element.elementor-element-a2242ee .elementor-button:hover svg, .elementor-36 .elementor-element.elementor-element-a2242ee .elementor-button:focus svg{fill:#FFFFFF;}.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-menu-toggle{margin:0 auto;}.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-nav-menu--main .elementor-item{color:#191919;fill:#191919;}.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-nav-menu--main .elementor-item:hover,
					.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-nav-menu--main .elementor-item:focus{color:#FF7F11;fill:#FF7F11;}.elementor-36 .elementor-element.elementor-element-m0b1nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FF7F11;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-36 .elementor-element.elementor-element-cae021f{--width:100%;}}@media(max-width:1024px){.elementor-36 .elementor-element.elementor-element-cae021f{--padding-top:16px;--padding-bottom:16px;--padding-left:40px;--padding-right:40px;}}@media(max-width:767px){.elementor-36 .elementor-element.elementor-element-cae021f{--padding-top:14px;--padding-bottom:14px;--padding-left:24px;--padding-right:24px;}}/* Start custom CSS for container, class: .elementor-element-84ccf66 */.elementor-36 .elementor-element.elementor-element-84ccf66 { flex: 0 0 auto !important; width: fit-content !important; max-width: fit-content !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cae021f *//* Floating frosted pill header */
.elementor-36 .elementor-element.elementor-element-cae021f {
  position: fixed !important;
  top: 18px !important;
  left: 32px !important;
  right: 32px !important;
  width: auto !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  border-radius: 9999px !important;
  background: transparent !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.11) !important;
  border: none !important;
  z-index: 9999 !important;
  padding: 11px 28px !important;
  flex-wrap: nowrap !important;
  isolation: isolate !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: -1;
}

/* Nav item typography */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--main .elementor-item {
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

/* Button pill shape */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-widget-button .elementor-button {
  border-radius: 100px !important;
  padding: 12px 26px !important;
  min-height: 44px !important;
  white-space: nowrap !important;
}

/* Mega-menu dropdown card */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown {
  background: #F7F5F0 !important;
  border-radius: 24px !important;
  padding: 14px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.18) !important;
  border: none !important;
  min-width: 340px !important;
  margin-top: 14px !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .menu-item {
  list-style: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  color: #191919 !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  font-family: "DM Sans", sans-serif !important;
  transition: background 200ms ease !important;
  text-decoration: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item:hover {
  background: rgba(0,0,0,0.045) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item::before {
  content: "→";
  order: 2;
  color: #FF7F11;
  font-weight: 700;
  margin-left: 12px;
  transition: transform 200ms ease;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item:hover::before {
  transform: translateX(4px);
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item::after {
  flex-basis: 100%;
  order: 3;
  font-size: 13px;
  font-weight: 400;
  color: #8A8A8A;
  margin-top: 2px;
  font-family: "DM Sans", sans-serif;
}
.menu-item-39 > .elementor-sub-item::after { content: "Intelligent environments"; }
.menu-item-40 > .elementor-sub-item::after { content: "Reliable connectivity"; }
.menu-item-41 > .elementor-sub-item::after { content: "Protection that sees more"; }
.menu-item-42 > .elementor-sub-item::after { content: "Smarter entry management"; }
.menu-item-43 > .elementor-sub-item::after { content: "Immersive entertainment"; }
.menu-item-44 > .elementor-sub-item::after { content: "Ambience on demand"; }
.menu-item-45 > .elementor-sub-item::after { content: "Long-term peace of mind"; }
.menu-item-46 > .elementor-sub-item::after { content: "Luxury living, intelligently connected"; }
.menu-item-47 > .elementor-sub-item::after { content: "Technology that keeps business moving"; }
.menu-item-48 > .elementor-sub-item::after { content: "Exceptional guest experiences"; }
.menu-item-49 > .elementor-sub-item::after { content: "Built for fast-paced operations"; }
.menu-item-50 > .elementor-sub-item::after { content: "Safe, connected learning"; }
.menu-item-51 > .elementor-sub-item::after { content: "Reliable technology for every location"; }
.menu-item-182 > .elementor-sub-item::after { content: "Built for life on the water"; }


/* Mobile hamburger */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle svg { color: #191919 !important; }
.elementor-36 .elementor-element.elementor-element-cae021f[aria-expanded="true"] .ast-header-navigation-arrow,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-item[aria-expanded="true"] .ast-header-navigation-arrow {
  transform: rotate(180deg);
  transition: transform 200ms ease;
}

.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu .mobile-overlay-phone,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu .mobile-overlay-cta {
  display: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu .mobile-overlay-contact,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu .mobile-overlay-social-item,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu .mobile-overlay-tagline-item {
  display: none !important;
}

@media (max-width: 1024px) and (min-width: 768px) {
  /* scoped to TABLET ONLY -- mobile's fullscreen drawer background is
     always light regardless of header-on-dark, so these dark-panel
     overrides must not apply there (they'd make white-on-white text). */
/* dark-panel (header-on-dark) treatment for the tablet/mobile drawer:
   accordion arrows, CTA button, phone, email, and social icons were all
   still using their light-mode colors, so they blended into the #111
   panel background. */
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-arrow svg,
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-arrow i {
  color: #FFFFFF !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item[aria-expanded] .sub-arrow svg path,
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-arrow svg path {
  fill: #FFFFFF !important;
}

.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta a.elementor-item {
  background: #FFFFFF !important;
  color: #191919 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta a.elementor-item:hover {
  background: #FF7F11 !important;
  color: #FFFFFF !important;
}

.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-phone a.elementor-item {
  color: #FFFFFF !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact a.elementor-item {
  color: #FFFFFF !important;
}

.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-168 a.elementor-item {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%23FFFFFF%27%20d%3D%27M12%202.16c3.2%200%203.58.01%204.85.07%203.25.15%204.77%201.69%204.92%204.92.06%201.27.07%201.65.07%204.85s-.01%203.58-.07%204.85c-.15%203.23-1.66%204.77-4.92%204.92-1.27.06-1.64.07-4.85.07s-3.58-.01-4.85-.07c-3.26-.15-4.77-1.7-4.92-4.92-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.15-3.23%201.67-4.77%204.92-4.92%201.27-.06%201.65-.07%204.85-.07zm0-2.16c-3.26%200-3.67.01-4.95.07-4.35.2-6.78%202.62-6.98%206.98-.06%201.28-.07%201.69-.07%204.95s.01%203.67.07%204.95c.2%204.35%202.62%206.78%206.98%206.98%201.28.06%201.69.07%204.95.07s3.67-.01%204.95-.07c4.35-.2%206.78-2.62%206.98-6.98.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.2-4.35-2.62-6.78-6.98-6.98-1.28-.06-1.69-.07-4.95-.07zm0%205.84c-3.4%200-6.16%202.76-6.16%206.16s2.76%206.16%206.16%206.16%206.16-2.76%206.16-6.16-2.76-6.16-6.16-6.16zm0%2010.16c-2.21%200-4-1.79-4-4s1.79-4%204-4%204%201.79%204%204-1.79%204-4%204zm6.41-10.37c-.79%200-1.44.64-1.44%201.44s.64%201.44%201.44%201.44%201.44-.64%201.44-1.44-.64-1.44-1.44-1.44z%27%2F%3E%3C%2Fsvg%3E") !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-169 a.elementor-item {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%23FFFFFF%27%20d%3D%27M22%2012c0-5.52-4.48-10-10-10S2%206.48%202%2012c0%204.99%203.66%209.13%208.44%209.88v-6.99h-2.54v-2.89h2.54v-2.2c0-2.51%201.49-3.9%203.78-3.9%201.09%200%202.24.2%202.24.2v2.46h-1.26c-1.24%200-1.63.77-1.63%201.56v1.88h2.78l-.44%202.89h-2.34v6.99c4.78-.75%208.44-4.89%208.44-9.88z%27%2F%3E%3C%2Fsvg%3E") !important;
}

  /* match the mobile toggle button's size/border/radius -- tablet was
     falling back to Elementor's own unstyled default (33px, 3px radius,
     no border) since this widget-level styling was only ever added to the
     mobile media query. */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    background: #FFFFFF !important;
    border: 1px solid #ECECEC !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 200ms ease, border-color 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle:hover {
    background: #F8F8F8 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1 img,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1 img {
    width: 88px !important;
    height: auto !important;
  }

  /* TABLET: centered floating panel (not fullscreen) — same premium
     dropdown language as desktop, just triggered from the hamburger. */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 96px !important;
    left: 50% !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: 440px !important;
    max-width: calc(100vw - 48px) !important;
    max-height: calc(100vh - 140px) !important;
    height: auto !important;
    background: #FFFFFF !important;
    border-radius: 26px !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.16) !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 24px 28px !important;
    overflow-y: auto !important;
    z-index: 9999 !important;
    margin: 0 !important;
    opacity: 1;
    animation: navPanelIn 260ms ease forwards;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    background: #111111 !important;
  }
  @keyframes navPanelIn {
    from { transform: translateX(-50%) translateY(-8px); }
    to { transform: translateX(-50%) translateY(0); }
  }
  /* tablet drawer: same contact block as mobile (CTA now lives here since
     the standalone header CTA button is hidden at this breakpoint too),
     tuned to tablet's wider 440px panel with a bit more breathing room */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-phone,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-tagline-item {
    display: block !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta {
    width: 100% !important;
    margin-top: 24px !important;
    padding: 0 8px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta a.elementor-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 16px !important;
    font-size: 16px !important;
    background: #191919 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    border-radius: 9999px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta a.elementor-item:hover {
    background: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-phone a.elementor-item {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    padding: 0 8px !important;
    margin-top: 20px !important;
    color: #191919 !important;
    width: auto !important;
    display: block !important;
    justify-content: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact a.elementor-item {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    padding: 0 8px !important;
    color: #555555 !important;
    width: auto !important;
    display: block !important;
    justify-content: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item {
    padding: 0 8px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item a.elementor-item {
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #8A8A8A !important;
    width: auto !important;
    padding: 3px 0 !important;
    justify-content: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item a.elementor-item:hover {
    color: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-tagline-item {
    padding: 0 8px !important;
    margin-top: 14px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-tagline-item a.elementor-item {
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    color: #B0B0B0 !important;
    width: auto !important;
    padding: 0 !important;
    justify-content: flex-start !important;
  }
  @media (prefers-reduced-motion: reduce) {
    .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container {
      animation: none !important;
      opacity: 1 !important;
    }
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
    flex-direction: column !important;
    width: 100% !important;
    align-items: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item {
    width: 100% !important;
    padding: 0 12px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-item {
    color: #191919 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--dropdown .elementor-item {
    color: #FFFFFF !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item {
    font-size: 20px !important;
    padding: 14px 4px !important;
    font-weight: 600 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: #191919 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: color 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item {
    color: #FFFFFF !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item[aria-expanded="true"] {
    color: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu.elementor-nav-menu--dropdown {
    display: block !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 250ms ease, opacity 200ms ease;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item[aria-expanded="true"] + .sub-menu.elementor-nav-menu--dropdown {
    max-height: 600px;
    opacity: 1;
    padding-bottom: 8px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 4px !important;
    border-radius: 0 !important;
    color: #191919 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
    color: #F2F2F2 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item::after {
    font-size: 13px !important;
    color: #9A9A9A !important;
  }

}

@media (max-width: 767px) {
  /* mobile drawer bg is always light, so its close (X) icon should
     always be dark, unlike the hamburger which follows header-on-dark */
  .elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle .elementor-menu-toggle__icon--close path {
    fill: #191919 !important;
  }

  /* mobile's logo is taller (130px wide / ~42px tall vs desktop's 98px/31px)
     so it needs its own centering offset within the same wrapper stretch */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1.elementor-element-logofull1 {
    top: -5.5px !important;
  }
  /* logowht1 is position:absolute (stacked out of normal flow), while
     logofull1 above is position:relative and benefits from the parent's
     own flex centering -- a fixed top offset that happens to work for one
     positioning mode does not transfer to the other. True self-centering
     (regardless of this asset's own rendered height) fixes it without a
     guessed pixel value. */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1.elementor-element-logowht1 {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f { left: 16px !important; right: 16px !important; top: 16px !important; padding: 13px 20px !important; }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-84ccf66.elementor-element-84ccf66 {
    height: 44px !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-84ccf66.elementor-element-84ccf66 {
    height: 44px !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1 img,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1 img {
    width: 110px !important;
    height: auto !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    background: #FFFFFF !important;
    border: 1px solid #ECECEC !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 200ms ease, border-color 200ms ease !important;
  }
  /* keep the toggle/close button above the fullscreen drawer, which shares
     this isolated stacking context and would otherwise paint over it */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle {
    position: relative !important;
    z-index: 10000 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle:hover {
    background: #F8F8F8 !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: auto !important; height: auto !important;
    max-width: none !important; max-height: none !important;
    height: auto !important;
    background: rgba(255,255,255,0.97) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border-radius: 28px 28px 0 0 !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 128px 24px max(32px, env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    z-index: 9999 !important;
    margin: 0 !important;
    opacity: 1;
    transform: translateY(10px);
    animation: drawerIn 280ms ease forwards;
  }
  @keyframes drawerIn {
    from { transform: translateY(10px); }
    to { transform: translateY(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
    flex-direction: column !important;
    width: 100% !important;
    align-items: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    opacity: 0;
    animation: rowIn 320ms ease forwards;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item:nth-child(1) { animation-delay: 40ms; }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item:nth-child(2) { animation-delay: 80ms; }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item:nth-child(3) { animation-delay: 120ms; }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item:nth-child(4) { animation-delay: 160ms; }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item:nth-child(5) { animation-delay: 200ms; }
  @keyframes rowIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .menu-item {
      animation: none !important;
      opacity: 1 !important;
    }
  }

/* specificity fix: contact/social/tagline items were being overridden back to the
     generic 32px .elementor-item nav-row size because that rule has more classes
     in its chain than the original small-size overrides. Match the same chain. */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact a.elementor-item {
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    padding: 0 !important;
    color: #555555 !important;
    width: auto !important;
    display: block !important;
    justify-content: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item a.elementor-item {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #8A8A8A !important;
    width: auto !important;
    padding: 3px 0 !important;
    justify-content: flex-start !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item a.elementor-item:hover {
    color: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-tagline-item a.elementor-item {
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.08em !important;
    color: #B0B0B0 !important;
    width: auto !important;
    padding: 0 !important;
    justify-content: flex-start !important;
  }

.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-phone a.elementor-item {
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-top: 24px !important;
    padding: 0 !important;
    color: #191919 !important;
    width: auto !important;
    display: block !important;
    justify-content: flex-start !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-item {
    color: #191919 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--dropdown .elementor-item {
    color: #FFFFFF !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item {
    font-size: 22px !important;
    line-height: 1.2 !important;
    padding: 16px 4px !important;
    font-weight: 600 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: #191919 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: color 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item:hover,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item[aria-expanded="true"] {
    color: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .ast-header-navigation-arrow,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-arrow {
    transition: transform 250ms ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-item[aria-expanded="true"] .ast-header-navigation-arrow,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-item[aria-expanded="true"] .sub-arrow svg,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-item[aria-expanded="true"] .sub-arrow i {
    transform: rotate(180deg) !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu.elementor-nav-menu--dropdown {
    display: block !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 250ms ease, opacity 220ms ease;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item[aria-expanded="true"] + .sub-menu.elementor-nav-menu--dropdown {
    max-height: 900px;
    opacity: 1;
    padding-bottom: 12px !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 12px 10px !important;
    border-radius: 12px !important;
    color: #191919 !important;
    transition: background 200ms ease, color 200ms ease, transform 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item:active,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item:hover {
    color: #FF7F11 !important;
    background: #F7F7F7 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item::before {
    color: #FF7F11 !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item::after {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #8A8A8A !important;
    margin-top: 2px !important;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-phone,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-tagline-item {
    display: block !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-phone,
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-cta,
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-contact,
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-social-item,
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-tagline-item {
    display: none;
  }

  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta {
    width: 100% !important;
    margin-top: 28px !important;
    padding: 0 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta a.elementor-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 18px !important;
    font-size: 16px !important;
    background: #191919 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    border-radius: 9999px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-cta a.elementor-item:hover {
    background: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-contact {
    margin-top: 20px !important;
    text-align: center !important;
    width: 100% !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-contact a {
    display: block !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 14.5px !important;
    color: #555555 !important;
    text-decoration: none !important;
    margin-bottom: 6px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-social-item {
    width: auto !important;
    display: inline-block !important;
    margin-top: 4px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-social-item:first-of-type {
    margin-top: 18px !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-social-item .elementor-item {
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #8A8A8A !important;
    padding: 3px 0 !important;
    transition: color 200ms ease !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-social-item .elementor-item:hover {
    color: #FF7F11 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-tagline-item {
    margin-top: 18px !important;
    width: 100% !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-tagline-item .elementor-item {
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    color: #B0B0B0 !important;
    padding: 0 !important;
  }

  /* social/tagline items must override the generic full-width row rule above (specificity fix) */
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .mobile-overlay-social-item {
    width: auto !important;
    border-bottom: none !important;
    display: inline-block !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .mobile-overlay-tagline-item {
    border-bottom: none !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-widget-button {
    display: none !important;
  }
}

/* ============================================================
   UNIFIED COMPACT DROPDOWN (Solutions + Markets)
   Single narrow floating panel, identical treatment for both
   menus so they read as one consistent system instead of two
   competing nav patterns. Native WP menu + Elementor Nav Menu
   widget markup; positioning left as Elementor/SmartMenus'
   normal default (just offset by margin-top) so only one panel
   can ever be open/visible at a time — no forced position:fixed
   override, which is what let two panels appear stacked before.
   ============================================================ */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown {
  width: 440px !important;
  min-width: 0 !important;
  max-width: calc(100vw - 48px) !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.10) !important;
  margin-top: 10px !important;
  padding: 24px 16px !important;
  background: #FFFFFF !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .menu-item {
  list-style: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  color: #111111 !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  font-family: "DM Sans", sans-serif !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background 200ms ease, transform 200ms ease !important;
  text-decoration: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown > li:nth-last-child(2) > .elementor-sub-item {
  border-bottom: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item:hover {
  background: #F7F7F7 !important;
  transform: translateX(4px) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item::before {
  content: "\2192";
  order: 2;
  color: #FF7F11;
  font-weight: 700;
  margin-left: 12px;
  transition: transform 200ms ease;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item:hover::before {
  transform: translateX(6px);
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--dropdown .elementor-sub-item::after {
  flex-basis: 100%;
  order: 3;
  font-size: 14px;
  font-weight: 400;
  color: #8A8A8A;
  margin-top: 4px;
  font-family: "DM Sans", sans-serif;
}
.menu-item-139 > .elementor-sub-item::after { content: "Smart home & commercial control"; }
.menu-item-140 > .elementor-sub-item::after { content: "Managed Wi-Fi, structured cabling"; }
.menu-item-141 > .elementor-sub-item::after { content: "AI surveillance & access control"; }
.menu-item-142 > .elementor-sub-item::after { content: "Home theater & conference rooms"; }
.menu-item-165 > .elementor-sub-item::after { content: "Smart lighting & motorized shades"; }
.menu-item-143 > .elementor-sub-item::after { content: "Consulting, maintenance & infrastructure"; }
.menu-item-46 > .elementor-sub-item::after { content: "Luxury living, intelligently connected"; }
.menu-item-47 > .elementor-sub-item::after { content: "Technology that keeps business moving"; }
.menu-item-48 > .elementor-sub-item::after { content: "Exceptional guest experiences"; }
.menu-item-49 > .elementor-sub-item::after { content: "Built for fast-paced operations"; }
.menu-item-50 > .elementor-sub-item::after { content: "Safe, connected learning"; }
.menu-item-51 > .elementor-sub-item::after { content: "Reliable technology for every location"; }
.menu-item-182 > .elementor-sub-item::after { content: "Built for life on the water"; }

.elementor-36 .elementor-element.elementor-element-cae021f .mega-featured-link {
  border-top: 1px solid rgba(0,0,0,0.06) !important;
  margin-top: 8px !important;
  padding-top: 10px !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .mega-featured-link > a.elementor-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-weight: 500 !important;
  color: #8A8A8A !important;
  font-size: 13.5px !important;
  padding: 4px 16px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .mega-featured-link > a.elementor-item::after {
  content: "\2192";
  color: #FF7F11;
  font-size: 13px;
  transition: transform 200ms ease;
}
.elementor-36 .elementor-element.elementor-element-cae021f .mega-featured-link > a.elementor-item:hover::after {
  transform: translateX(4px);
}
.elementor-36 .elementor-element.elementor-element-cae021f .mega-featured-link > a.elementor-item:hover {
  color: #191919 !important;
}

/* ============================================================
   CONTEXT-AWARE LIGHT/DARK HEADER
   CUSTOM JS justification: Elementor has no mechanism to detect
   the background of whatever content is scrolled underneath a
   fixed element and react to it. A small script (see the
   accompanying HTML widget "ctxheader1") samples the actual
   rendered background color beneath the header and toggles a
   class; everything else here is CSS driven by that one class.
   ============================================================ */
.elementor-36 .elementor-element.elementor-element-cae021f,
.elementor-36 .elementor-element.elementor-element-cae021f::before {
  transition: background 260ms ease, box-shadow 260ms ease !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--main .elementor-item,
.elementor-36 .elementor-element.elementor-element-cae021f .mobile-overlay-phone,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle svg {
  transition: color 260ms ease !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-widget-button .elementor-button {
  transition: background-color 220ms ease, color 220ms ease, box-shadow 220ms ease, transform 220ms ease !important;
  /* keep the button permanently on its own compositing layer so the hover
     scale() doesn't newly promote it -- that promotion is what silently
     flips text antialiasing from subpixel to grayscale on hover, reading
     as a font-weight change even though no weight/size/spacing rule changes */
  transform: translateZ(0) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1 {
  transition: opacity 260ms ease !important;
}
/* stack the two logo images exactly on top of each other for a seamless crossfade */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-84ccf66 .e-con-inner {
  position: relative !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-84ccf66 {
  position: relative !important;
  z-index: 10000 !important;
}
@media (max-width: 767px) {
  /* the fullscreen mobile drawer is always light. logofull1/logowht1 live in a
     sibling WIDGET (not a sibling of the toggle div itself), so the usual
     '.elementor-menu-toggle.elementor-active ~ ...' sibling-combinator pattern
     can't reach them -- use :has() on the shared header container instead. */
  .elementor-36 .elementor-element.elementor-element-cae021f:has(.elementor-menu-toggle.elementor-active) .elementor-element-logofull1 {
    opacity: 1 !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f:has(.elementor-menu-toggle.elementor-active) .elementor-element-logowht1 {
    opacity: 0 !important;
  }
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1 {
  position: relative !important;
  z-index: 2 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 1 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* DARK state (header floating over a dark section) */
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark::before {
  background: rgba(17,17,17,0.86) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark {
  box-shadow: 0 10px 36px rgba(0,0,0,0.28) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-element-logofull1 {
  opacity: 0 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-element-logowht1 {
  opacity: 1 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--main .elementor-item {
  color: #FFFFFF !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle svg {
  color: #FFFFFF !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.18) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-widget-button .elementor-button {
  background: #FFFFFF !important;
  color: #191919 !important;
}
@media (prefers-reduced-motion: reduce) {
  .elementor-36 .elementor-element.elementor-element-cae021f, .elementor-36 .elementor-element.elementor-element-cae021f::before,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-nav-menu--main .elementor-item,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-widget-button .elementor-button,
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1, .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1 {
    transition: none !important;
  }
}



/* Dropdown dark variant, follows the header's own light/dark context state */
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--dropdown {
  background: #1C1C1C !important;
  transition: background 260ms ease !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--dropdown .elementor-sub-item {
  color: #F2F2F2 !important;
  border-bottom-color: rgba(255,255,255,0.08) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--dropdown .elementor-sub-item:hover {
  background: rgba(255,255,255,0.06) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-nav-menu--dropdown .elementor-sub-item::after {
  color: #9A9A9A !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .mega-featured-link {
  border-top-color: rgba(255,255,255,0.08) !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .mega-featured-link > a.elementor-item {
  color: #9A9A9A !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .mega-featured-link > a.elementor-item:hover {
  color: #F2F2F2 !important;
}
/* ============================================================
   GLOBAL TOP CLEARANCE (non-home pages, mobile only)
   The floating header is position:fixed and takes no document-
   flow space. The homepage's dark hero already reserves enough
   room below it, but every other page's title/hero starts at
   the very top of the page (padding-top:0), so on mobile the
   ~148px-tall header pill overlaps and hides the H1. Desktop and
   tablet templates already have generous top spacing baked in
   and don't need this.
   ============================================================ */
@media (max-width: 767px) {
  body:not(.home) #content.site-content {
    padding-top: 190px !important;
  }
}
/* replace the browser's default blue focus ring on the menu toggle/close
   button with a subtle brand-colored one, so keyboard/touch focus still
   shows but doesn't clash with the black/white/orange palette */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle:focus,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255,127,17,0.35) !important;
}
/* ============================================================
   INDEPENDENT DESKTOP vs TABLET/MOBILE NAV SYSTEMS
   71d6d51 = original nav-menu widget, desktop-only from here on
   (horizontal links + compact hover dropdowns).
   m0b1nav = cloned nav-menu widget, tablet/mobile-only (toggle +
   full drawer). Same WP menu, but two separate widget instances
   so desktop's per-item hover flyouts and mobile's full drawer
   never share DOM ancestry -- they're intentionally two systems,
   not one markup tree reused across breakpoints.
   ============================================================ */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-m0b1nav {
  display: none !important;
}
@media (max-width: 1024px) {
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-71d6d51 {
    display: none !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-a2242ee {
    display: none !important;
  }
  .elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-m0b1nav {
    display: flex !important;
  }
}
/* real social icons (SVG via mask, so they inherit the existing gray/orange
   hover color transition) replacing the plain LINKEDIN/INSTAGRAM/FACEBOOK
   text labels */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item {
  display: inline-flex !important;
  align-items: center !important;
  margin-right: 18px !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item a.elementor-item {
  font-size: 0 !important;
  line-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-167 a.elementor-item {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%238A8A8A%27%20d%3D%27M19%200h-14c-2.76%200-5%202.24-5%205v14c0%202.76%202.24%205%205%205h14c2.76%200%205-2.24%205-5v-14c0-2.76-2.24-5-5-5zm-11%2019h-3v-9h3v9zm-1.5-10.28c-.97%200-1.75-.79-1.75-1.75s.78-1.75%201.75-1.75%201.75.78%201.75%201.75-.78%201.75-1.75%201.75zm13.5%2010.28h-3v-4.5c0-1.07-.02-2.45-1.49-2.45-1.5%200-1.73%201.17-1.73%202.37v4.58h-3v-9h2.88v1.23h.04c.4-.75%201.38-1.54%202.84-1.54%203.03%200%203.59%202%203.59%204.59v4.72z%27%2F%3E%3C%2Fsvg%3E") !important;
  background-size: 18px 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-167 a.elementor-item:hover {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%23FF7F11%27%20d%3D%27M19%200h-14c-2.76%200-5%202.24-5%205v14c0%202.76%202.24%205%205%205h14c2.76%200%205-2.24%205-5v-14c0-2.76-2.24-5-5-5zm-11%2019h-3v-9h3v9zm-1.5-10.28c-.97%200-1.75-.79-1.75-1.75s.78-1.75%201.75-1.75%201.75.78%201.75%201.75-.78%201.75-1.75%201.75zm13.5%2010.28h-3v-4.5c0-1.07-.02-2.45-1.49-2.45-1.5%200-1.73%201.17-1.73%202.37v4.58h-3v-9h2.88v1.23h.04c.4-.75%201.38-1.54%202.84-1.54%203.03%200%203.59%202%203.59%204.59v4.72z%27%2F%3E%3C%2Fsvg%3E") !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-168 a.elementor-item {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%238A8A8A%27%20d%3D%27M12%202.16c3.2%200%203.58.01%204.85.07%203.25.15%204.77%201.69%204.92%204.92.06%201.27.07%201.65.07%204.85s-.01%203.58-.07%204.85c-.15%203.23-1.66%204.77-4.92%204.92-1.27.06-1.64.07-4.85.07s-3.58-.01-4.85-.07c-3.26-.15-4.77-1.7-4.92-4.92-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.15-3.23%201.67-4.77%204.92-4.92%201.27-.06%201.65-.07%204.85-.07zm0-2.16c-3.26%200-3.67.01-4.95.07-4.35.2-6.78%202.62-6.98%206.98-.06%201.28-.07%201.69-.07%204.95s.01%203.67.07%204.95c.2%204.35%202.62%206.78%206.98%206.98%201.28.06%201.69.07%204.95.07s3.67-.01%204.95-.07c4.35-.2%206.78-2.62%206.98-6.98.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.2-4.35-2.62-6.78-6.98-6.98-1.28-.06-1.69-.07-4.95-.07zm0%205.84c-3.4%200-6.16%202.76-6.16%206.16s2.76%206.16%206.16%206.16%206.16-2.76%206.16-6.16-2.76-6.16-6.16-6.16zm0%2010.16c-2.21%200-4-1.79-4-4s1.79-4%204-4%204%201.79%204%204-1.79%204-4%204zm6.41-10.37c-.79%200-1.44.64-1.44%201.44s.64%201.44%201.44%201.44%201.44-.64%201.44-1.44-.64-1.44-1.44-1.44z%27%2F%3E%3C%2Fsvg%3E") !important;
  background-size: 18px 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-168 a.elementor-item:hover {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%23FF7F11%27%20d%3D%27M12%202.16c3.2%200%203.58.01%204.85.07%203.25.15%204.77%201.69%204.92%204.92.06%201.27.07%201.65.07%204.85s-.01%203.58-.07%204.85c-.15%203.23-1.66%204.77-4.92%204.92-1.27.06-1.64.07-4.85.07s-3.58-.01-4.85-.07c-3.26-.15-4.77-1.7-4.92-4.92-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.15-3.23%201.67-4.77%204.92-4.92%201.27-.06%201.65-.07%204.85-.07zm0-2.16c-3.26%200-3.67.01-4.95.07-4.35.2-6.78%202.62-6.98%206.98-.06%201.28-.07%201.69-.07%204.95s.01%203.67.07%204.95c.2%204.35%202.62%206.78%206.98%206.98%201.28.06%201.69.07%204.95.07s3.67-.01%204.95-.07c4.35-.2%206.78-2.62%206.98-6.98.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.2-4.35-2.62-6.78-6.98-6.98-1.28-.06-1.69-.07-4.95-.07zm0%205.84c-3.4%200-6.16%202.76-6.16%206.16s2.76%206.16%206.16%206.16%206.16-2.76%206.16-6.16-2.76-6.16-6.16-6.16zm0%2010.16c-2.21%200-4-1.79-4-4s1.79-4%204-4%204%201.79%204%204-1.79%204-4%204zm6.41-10.37c-.79%200-1.44.64-1.44%201.44s.64%201.44%201.44%201.44%201.44-.64%201.44-1.44-.64-1.44-1.44-1.44z%27%2F%3E%3C%2Fsvg%3E") !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-169 a.elementor-item {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%238A8A8A%27%20d%3D%27M22%2012c0-5.52-4.48-10-10-10S2%206.48%202%2012c0%204.99%203.66%209.13%208.44%209.88v-6.99h-2.54v-2.89h2.54v-2.2c0-2.51%201.49-3.9%203.78-3.9%201.09%200%202.24.2%202.24.2v2.46h-1.26c-1.24%200-1.63.77-1.63%201.56v1.88h2.78l-.44%202.89h-2.34v6.99c4.78-.75%208.44-4.89%208.44-9.88z%27%2F%3E%3C%2Fsvg%3E") !important;
  background-size: 18px 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-169 a.elementor-item:hover {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27%23FF7F11%27%20d%3D%27M22%2012c0-5.52-4.48-10-10-10S2%206.48%202%2012c0%204.99%203.66%209.13%208.44%209.88v-6.99h-2.54v-2.89h2.54v-2.2c0-2.51%201.49-3.9%203.78-3.9%201.09%200%202.24.2%202.24.2v2.46h-1.26c-1.24%200-1.63.77-1.63%201.56v1.88h2.78l-.44%202.89h-2.34v6.99c4.78-.75%208.44-4.89%208.44-9.88z%27%2F%3E%3C%2Fsvg%3E") !important;
}

/* the cloned mobile/tablet nav-menu widget was stretching to fill the
   header's full content-box height (align-items:center on the header
   should have sized it to content, but the widget's own flex behavior
   overrides that), which both inflated the pill height and top-aligned
   the hamburger instead of centering it with the logo. Force it to size
   to its own content and center itself in the row like every other child. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-m0b1nav {
  align-self: center !important;
  height: auto !important;
  flex: 0 0 auto !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-m0b1nav .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
}
/* Elementor's own default (non-active) state for the dropdown container is
   display:block with implicit height/padding, which was silently inflating
   the mobile/tablet widget's column height (and pushing the header pill
   itself taller) even though the container renders visually collapsed.
   Explicitly zero it out in the closed state. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-m0b1nav > .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-m0b1nav .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  display: flex !important;
}
/* same stretch bug as the nav-menu widget: the logo wrapper was stretching
   to the header's full content height instead of sizing to the logo image
   and centering, which top-aligned the (absolutely-positioned, for the
   crossfade) logo images within that oversized box. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-84ccf66 {
  align-self: center !important;
  height: auto !important;
  flex: 0 0 auto !important;
}
/* the CTA/phone/email items sit in their own contact block below the main
   nav list -- they shouldn't carry the same row-divider treatment as the
   Solutions/Markets/Projects/About/Contact links above them */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .mobile-overlay-cta,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .mobile-overlay-phone,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .mobile-overlay-contact {
  border-bottom: none !important;
}
/* left-align the email(s) under the phone number instead of the generic
   centered contact-block default */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact {
  text-align: left !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact a.elementor-item {
  text-align: left !important;
}
/* the context-aware script widget is an invisible <script>-only widget, but
   it was still counted as a real flex item (display:block, zero size) --
   with justify-content:space-between across 3 items instead of 2, it split
   the gap and pushed the hamburger toward the middle instead of the true
   right edge. Take it out of the flex flow entirely. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-ctxheader1 {
  display: none !important;
}
/* the generic "> ul > .menu-item { width:100% }" row rule was still winning
   over the social-item's own width:auto (equal specificity, but the generic
   rule matches every menu-item including these), forcing each icon item to
   full-row width so they wrapped onto separate lines instead of sitting
   side by side. Add an even more specific override. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .mobile-overlay-social-item.menu-item {
  width: auto !important;
  flex: 0 0 auto !important;
}
/* more breathing room between phone / email / social block on tablet+mobile */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-contact {
  margin-top: 18px !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-social-item {
  margin-top: 20px !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown.elementor-nav-menu__container .mobile-overlay-tagline-item {
  margin-top: 20px !important;
}
/* the desktop dropdown caret svg has no fill="currentColor", so it always
   renders its SVG-default dark fill regardless of the surrounding white
   nav text on a dark header. Force it to track the same color. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-71d6d51 .sub-arrow svg path {
  fill: #191919 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-element-71d6d51 .sub-arrow svg path {
  fill: #FFFFFF !important;
}

/* logo crossfade centering: fixed 10px pixel offset (empirically measured
   from the ~51px wrapper vs ~31px image height mismatch), not a percentage
   -- percentage top/transform resolved unpredictably against this flex/
   e-con-inner container. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logofull1 {
  top: 0px !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-logowht1 {
  top: 9.6px !important;
}
/* same bug as the dropdown caret: the hamburger icon's SVG path has a
   hardcoded dark fill, ignoring the white color set on the svg element, so
   it stayed dark/near-invisible against the dark header state. Also bump
   the dark-mode toggle border from a barely-there 0.18 opacity to something
   actually visible as a control. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-menu-toggle svg path {
  fill: #191919 !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle svg path {
  fill: #FFFFFF !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-menu-toggle {
  border-color: rgba(255,255,255,0.35) !important;
}

/* CTA hover: no color/weight/size change for the light header (native
   hover settings now mirror the base colors) -- interactivity instead comes
   from a subtle lift: shadow + scale(1.01). Dark header hover only swaps
   the background to a slightly softer off-white, text stays black. */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-widget-button .elementor-button:hover,
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-widget-button .elementor-button:focus {
  box-shadow: 0 6px 18px rgba(0,0,0,0.18) !important;
  transform: scale(1.01) translateZ(0) !important;
  font-weight: 600 !important;
  letter-spacing: 0.16px !important;
  font-size: 16px !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-widget-button .elementor-button:hover,
.elementor-36 .elementor-element.elementor-element-cae021f.header-on-dark .elementor-widget-button .elementor-button:focus {
  background: #F5F5F5 !important;
  color: #191919 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12) !important;
}
/* cap the logo wrapper's height so the larger logo can't push the overall
   header pill taller than the nav row (which was previously the tallest
   child, keeping header height stable at ~79.5px) */
.elementor-36 .elementor-element.elementor-element-cae021f .elementor-element-84ccf66 {
  max-height: 51.5px !important;
}
/* ---- Mobile Safari overscroll-bounce fix ----
   body's own background is plain white (site-wide), but the homepage hero
   (and other dark-hero pages) paint dark only on an inner container div, not
   on html/body. On iOS Safari, the native rubber-band bounce at the very top
   of the page (very common on first touch right after landing) would flash
   the mismatched white body color through for a frame before the dark hero,
   reading as a jarring "scroll glitch". `contain` removes that bounce-scroll
   propagating to the document edges without disabling normal momentum
   scrolling anywhere on the page. */
html, body { overscroll-behavior-y: contain; }
/* Wide-screen pill width refinement (2026-08-24): progressive, piecewise
   growth of the floating header pill's max-width ceiling on large desktop
   displays -- 1360px (unchanged) up to 1440px viewport, ramping to ~1580px
   by 1920px, then a gentler extension to 1650px by 2560px. left/right:32px
   insets and margin:0 auto (both untouched, defined above) still provide
   the outer margin and centering -- only the ceiling itself changes, so
   the pill never goes edge-to-edge. */
@media (min-width: 1440px) and (max-width: 1919px) {
  .elementor-36 .elementor-element.elementor-element-cae021f.header-pill-wide-fix, .elementor-36 .elementor-element.elementor-element-cae021f {
    max-width: clamp(1360px, calc(700px + 45.83vw), 1580px) !important;
  }
}
@media (min-width: 1920px) {
  .elementor-36 .elementor-element.elementor-element-cae021f.header-pill-wide-fix, .elementor-36 .elementor-element.elementor-element-cae021f {
    max-width: clamp(1580px, calc(1370px + 10.94vw), 1650px) !important;
  }
}

/* ===== Sitewide mobile hero design tokens (2026-09-03) =====
   Canonical source: the approved Homepage hero (post 79, widget 7fa54fb
   and children) at <=767px. These mirror its real authored values so any
   page's mobile hero can consume them via var() instead of re-deriving its
   own numbers -- Automation's hero now reads these; future Solutions pages
   (Networks, Security, Audio & Video, Lighting, Service & Support) should
   reuse them too rather than hand-tuning independently. Page-specific
   content (copy, line-break points, section-specific max-widths) stays
   local to each page -- only the shared typographic\/spacing RHYTHM lives
   here. */
:root {
  --at-hero-gutter-mobile: 26px;
  --at-hero-top-mobile: 140px;
  --at-hero-bottom-mobile: 56px;
  --at-hero-eyebrow-size-mobile: 13px;
  --at-hero-eyebrow-tracking-mobile: 0.06em;
  --at-hero-headline-size-mobile: 40px;
  --at-hero-headline-lh-mobile: 1.02;
  --at-hero-headline-ls-mobile: -0.025em;
  --at-hero-headline-gap-mobile: 16px;
  --at-hero-body-size-mobile: 18px;
  --at-hero-body-lh-mobile: 1.55;
  --at-hero-cta-gap-mobile: 28px;
  --at-hero-cta-inner-gap-mobile: 16px;
  --at-hero-btn-padding-mobile: 16px 32px;
  --at-hero-headline-margintop-mobile: 18px;
}


/* ===== AntonyTech global wide-grid gutter (2026-08-24, homepage lock pass) =====
   Single source of truth for the left-content boundary used by every 'wide grid'
   section (Header, Hero, Solutions, and anything else that should share the same
   left edge as the header). Mirrors the header pill's own already-approved
   left/right:32px-inset + progressive max-width formula exactly, expressed here
   as a standalone margin value so other sections can reference it directly via
   margin-left:var(--at-gutter) instead of duplicating the clamp() math. Editorial
   content (headings/intros/body copy) does NOT use this token -- it keeps its own
   existing, unrelated 720px reading-column width sitewide. */
:root {
  --at-gutter: 32px;
}
@media (min-width: 1424px) {
  :root { --at-gutter: calc((100vw - 1360px) / 2); }
}
@media (min-width: 1440px) {
  :root { --at-gutter: calc((100vw - clamp(1360px, calc(700px + 45.83vw), 1580px)) / 2); }
}
@media (min-width: 1920px) {
  :root { --at-gutter: calc((100vw - clamp(1580px, calc(1370px + 10.94vw), 1650px)) / 2); }
}

/* ===== Hide sticky header near FAQ/final CTA (2026-09-03) =====
   The header gracefully leaves as the user reaches the lower conversion
   area (FAQ where a page has one, else that page's own closing CTA --
   see the .at-header-hide-trigger class, applied per-page to whichever
   section is that page's "lower conversion area"). Toggled by an
   IntersectionObserver in ctxheader1's script -- this block only owns the
   actual transition/visual state, same separation-of-concerns already
   used for the .header-on-dark class below. Fixed positioning means this
   never shifts layout either way. */
.elementor-36 .elementor-element.elementor-element-cae021f {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease !important;
}
.elementor-36 .elementor-element.elementor-element-cae021f.header-hidden {
  transform: translateY(-130%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}/* End custom CSS */