/* NAEON multibrowser compatibility patch — desktop/mobile, Safari iOS/macOS, Chrome/Edge/Firefox
   Load after inline page styles. */

html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;}
body{min-height:100%;overflow-x:hidden;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img,.background-image-holder{image-rendering:auto!important;}
video{max-width:100%;background:#000;}

/* Page fade: independent from old preloader, safe on Safari bfcache */
body::before{content:"";position:fixed;inset:0;background:#fff;opacity:1;visibility:visible;pointer-events:none;z-index:2147483000;-webkit-transition:opacity .85s ease,visibility 0s linear .85s;transition:opacity .85s ease,visibility 0s linear .85s;}
body.naeon-page-fade-complete::before{opacity:0;visibility:hidden;}

/* Hero stability: avoid collapsed 100% chains on Safari / Firefox */
.upper-page#home{position:relative;width:100%;height:auto!important;min-height:100vh;min-height:100svh;overflow:hidden;background:#000;}
@supports (height:100dvh){.upper-page#home{min-height:100dvh;}}
.upper-page#home .hero-fullscreen,
.upper-page#home .hero-fullscreen-FIX,
.upper-page#home .hero-bg,
.upper-page#home .swiper-container-wrapper,
.upper-page#home .swiper-container,
.upper-page#home .swiper-wrapper,
.upper-page#home .swiper-slide,
.upper-page#home .swiper-slide-inner{position:relative!important;width:100%!important;height:auto!important;min-height:100vh;min-height:100svh;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;overflow:hidden;}
@supports (height:100dvh){.upper-page#home .hero-fullscreen,.upper-page#home .hero-fullscreen-FIX,.upper-page#home .hero-bg,.upper-page#home .swiper-container-wrapper,.upper-page#home .swiper-container,.upper-page#home .swiper-wrapper,.upper-page#home .swiper-slide,.upper-page#home .swiper-slide-inner{min-height:100dvh;}}
.upper-page#home .swiper-slide-inner{display:flex!important;align-items:center!important;justify-content:center!important;padding:132px 0 96px;background:#000;-webkit-transform:translateZ(0);transform:translateZ(0);}
.upper-page#home .swiper-slide-inner-bg,
.upper-page#home .overlay,
.upper-page#home .overlay::before{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
.upper-page#home .swiper-slide-inner-bg{z-index:0;background-color:#000;background-position:center center;background-size:cover;}
.upper-page#home .overlay{z-index:1;pointer-events:none;}
.upper-page#home .swiper-slide-inner-txt{position:relative!important;top:auto!important;left:auto!important;width:min(1040px,88%)!important;margin:0 auto!important;z-index:2;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;}
.upper-page#home video,.upper-page#home .naeon-hero-video{position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;min-width:100%;min-height:100%;object-fit:cover;object-position:center center;background:#000;z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0);}
.upper-page#home.hero-video-fallback .naeon-hero-video{opacity:0;}
.upper-page#home .waves{position:absolute;left:0;right:0;bottom:-1px;z-index:3;}

/* Hero text must appear only after page fade */
body:not(.naeon-hero-texts-ready) .upper-page#home .swiper-slide-inner-txt,
body:not(.naeon-hero-texts-ready) .upper-page#home .swiper-slide-inner-txt *{opacity:0!important;visibility:hidden!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:none!important;transition:none!important;}
body.naeon-hero-texts-ready .upper-page#home .swiper-slide-inner-txt{opacity:1!important;visibility:visible!important;}
body.naeon-hero-texts-ready .upper-page#home .swiper-slide-inner-txt > *{opacity:1!important;visibility:visible!important;-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important;-webkit-transition:opacity .85s ease,-webkit-transform .85s ease!important;transition:opacity .85s ease,transform .85s ease!important;}

/* Keep normal content height flexible, without breaking hero */
section:not(.upper-page),.container,.container-fluid,.row{height:auto;}

/* Navigation: reliable color switch and mobile menu */
.navbar.navbar-bg-switch{--naeon-nav-kicker-color:rgba(255,255,255,.88);z-index:9999;}
.navbar.navbar-bg-switch.main-navigation-bg,
.navbar.navbar-bg-switch.naeon-nav-light{--naeon-nav-kicker-color:#1f1f22;}
.navbar.navbar-bg-switch .ae-kicker.ae-kicker-nav{color:var(--naeon-nav-kicker-color)!important;opacity:1!important;}
.navbar.navbar-bg-switch.main-navigation-bg .ae-kicker.ae-kicker-nav,
.navbar.navbar-bg-switch.naeon-nav-light .ae-kicker.ae-kicker-nav{text-shadow:none!important;}
.navbar-nav .dropdown-menu{border:0;box-shadow:none;}
.navbar-nav>li.dropdown:hover>.dropdown-menu{display:block;}

/* Mobile / iOS menu */
@media only screen and (max-width:880px){
  .logo{padding-top:8px!important;}
  .navbar-toggle{margin-top:-42px!important;margin-right:-11px!important;}
  .navbar-collapse{background:#fff!important;margin-top:7px;max-height:calc(100vh - 72px);max-height:calc(100svh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:0;box-shadow:none;}
  .main-navigation .navbar-nav li a,
  .main-navigation-bg .main-navigation .navbar-nav li a{color:#111!important;padding:12px 15px!important;line-height:20px;}
  .navbar-nav>li.dropdown:hover>.dropdown-menu,
  .navbar-nav>li.dropdown.open>.dropdown-menu{display:none!important;}
  .navbar-nav>li.dropdown.mobile-submenu-open>.dropdown-menu,
  .navbar-nav>li.dropdown.services-open>.dropdown-menu{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;float:none!important;width:100%!important;min-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:rgba(0,0,0,.025)!important;padding:6px 0 10px!important;margin:0!important;border-top:1px solid rgba(0,0,0,.06)!important;}
  .services-submenu-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:46px;height:44px;min-width:46px;padding:0!important;background:transparent;border:0;color:#111!important;vertical-align:middle;}
  .services-submenu-toggle[aria-expanded="true"] .caret{-webkit-transform:rotate(180deg);transform:rotate(180deg);}
  .navbar-nav>li.dropdown>a{display:inline-block!important;width:calc(100% - 46px)!important;vertical-align:middle;}
  .navbar-nav>li.dropdown>a .caret{display:none!important;}
  .navbar-nav .dropdown-menu>li>a{display:block!important;width:100%!important;padding:12px 15px 12px 30px!important;font-size:11px!important;letter-spacing:.10em!important;white-space:normal!important;color:#111!important;}
  .navbar-brand.logo.brand-with-kicker{gap:8px!important;max-width:calc(100vw - 78px);}
  .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav{font-size:8px!important;letter-spacing:.16em!important;line-height:1.2!important;white-space:normal!important;max-width:128px!important;}
  .upper-page#home .swiper-slide-inner{padding:112px 0 78px;}
  .upper-page#home .swiper-slide-inner-txt{width:calc(100% - 32px)!important;}
  .hero-heading.hero-heading-home{font-size:clamp(28px,8vw,42px)!important;line-height:1.12!important;}
  .hero-subheading.hero-subheading-home{font-size:clamp(11px,3.5vw,14px)!important;line-height:1.5!important;}
}

@media only screen and (max-width:479px){
  .upper-page#home .swiper-slide-inner{padding:100px 0 70px;}
  .hero-brand-mark img{max-width:148px;height:auto;}
  .hero-marquee-track span{font-size:10px!important;letter-spacing:.12em!important;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{-webkit-animation-duration:.001ms!important;animation-duration:.001ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;scroll-behavior:auto!important;}
  body::before,body.naeon-hero-texts-ready .upper-page#home .swiper-slide-inner-txt>*{-webkit-transition:none!important;transition:none!important;}
  .hero-marquee-track,.hero-intro-marquee-track{-webkit-animation:none!important;animation:none!important;-webkit-transform:none!important;transform:none!important;}
}

/* NAEON requested patch 2026-04-26: only HERO full-height; all other sections auto-height */
html,body{height:auto!important;min-height:100%;}
.upper-page#home{height:100vh!important;height:100svh!important;min-height:100vh!important;min-height:100svh!important;}
@supports (height:100dvh){.upper-page#home{height:100dvh!important;min-height:100dvh!important;}}
.upper-page#home .hero-fullscreen,
.upper-page#home .hero-fullscreen-FIX,
.upper-page#home .hero-bg,
.upper-page#home .swiper-container-wrapper,
.upper-page#home .swiper-container,
.upper-page#home .swiper-wrapper,
.upper-page#home .swiper-slide,
.upper-page#home .swiper-slide-inner{height:100%!important;min-height:100%!important;}
body>section,
section.section-all,
section.bg-light,
section.bg-dark,
section[id]:not(#home),
#about,#know-how,#services,#services-2,#blog,#faq,#contact,#footer,#overview,#sectors,#process{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible;}
section.section-all>.container,
section.section-all>.container-fluid,
section.section-all .container,
section.section-all .container-fluid,
section.section-all .row{height:auto!important;min-height:0!important;max-height:none!important;}
section.section-all .center-container,
section.section-all .center-block{position:relative!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;}
section.section-all .hero-fullscreen,
section.section-all .hero-fullscreen-FIX{position:relative!important;height:auto!important;min-height:0!important;}

/* Services menu as a true dropdown trigger: pressing Services never navigates away */
.services-menu-item>a.dropdown-toggle,
.services-menu-item>a.services-dropdown-trigger{cursor:pointer;}
.services-menu-item>a.services-dropdown-trigger[href="#"]{touch-action:manipulation;}
@media only screen and (max-width:880px){
  .navbar-nav>li.services-menu-item>a.services-dropdown-trigger{display:inline-flex!important;align-items:center;width:calc(100% - 46px)!important;}
  .navbar-nav>li.services-menu-item.mobile-submenu-open>.dropdown-menu,
  .navbar-nav>li.services-menu-item.services-open>.dropdown-menu{display:block!important;visibility:visible!important;opacity:1!important;}
}

/* =========================================================
   NAEON LOGO + PAYOFF RESTORE
   Keeps the original header structure, but forces the brand
   mark and payoff to stay on one horizontal row.
   ========================================================= */
.navbar.navbar-bg-switch,
.navbar.navbar-bg-switch *{
  box-sizing:border-box;
}

.navbar.navbar-bg-switch{
  max-width:100vw!important;
  overflow-x:clip;
}
@supports not (overflow-x:clip){
  .navbar.navbar-bg-switch{overflow-x:hidden;}
}

.navbar.navbar-bg-switch .navbar-header:first-child{
  max-width:100%;
  min-width:0;
}

.navbar.navbar-bg-switch .navbar-header:first-child > .logo{
  display:block!important;
  max-width:calc(100vw - 96px)!important;
  min-width:0!important;
  overflow:hidden!important;
}

.navbar.navbar-bg-switch .navbar-header:first-child > .logo > a.navbar-brand.logo.brand-with-kicker{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  line-height:1!important;
  padding-left:0!important;
  padding-right:0!important;
  margin:0!important;
  float:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  vertical-align:middle!important;
}

.navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker img{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:118px!important;
  height:auto!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
}

/* Hidden logo variant must not occupy layout space */
.navbar.navbar-bg-switch:not(.main-navigation-bg) .navbar-brand.logo.brand-with-kicker .logo-light{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  width:auto!important;
  height:auto!important;
}
.navbar.navbar-bg-switch:not(.main-navigation-bg) .navbar-brand.logo.brand-with-kicker .logo-dark{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  max-width:0!important;
  overflow:hidden!important;
}
.navbar.navbar-bg-switch.main-navigation-bg .navbar-brand.logo.brand-with-kicker .logo-light{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  max-width:0!important;
  overflow:hidden!important;
}
.navbar.navbar-bg-switch.main-navigation-bg .navbar-brand.logo.brand-with-kicker .logo-dark{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  width:auto!important;
  height:auto!important;
}

.navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav,
.navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav.is-dark{
  display:inline-block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:rgba(255,255,255,.88)!important;
  opacity:1!important;
  text-shadow:0 1px 12px rgba(0,0,0,.28)!important;
}

.navbar.navbar-bg-switch.main-navigation-bg .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav,
.navbar.navbar-bg-switch.main-navigation-bg .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav.is-dark,
.navbar.navbar-bg-switch.naeon-nav-light .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav,
.navbar.navbar-bg-switch.naeon-nav-light .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav.is-dark{
  color:#1f1f22!important;
  text-shadow:none!important;
}

@media only screen and (max-width:768px){
  html,body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .navbar.navbar-bg-switch .container,
  .navbar.navbar-bg-switch .container-fluid{
    width:100%!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:15px!important;
    padding-right:15px!important;
    overflow-x:hidden!important;
  }

  .navbar.navbar-bg-switch .navbar-header:first-child{
    display:block!important;
    width:calc(100vw - 30px)!important;
    max-width:calc(100vw - 30px)!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    overflow:hidden!important;
  }

  .navbar.navbar-bg-switch .navbar-header:first-child > .logo{
    padding-top:8px!important;
    width:auto!important;
    max-width:calc(100vw - 92px)!important;
    min-width:0!important;
    margin:0!important;
    float:none!important;
    overflow:hidden!important;
  }

  .navbar.navbar-bg-switch .navbar-header:first-child > .logo > a.navbar-brand.logo.brand-with-kicker{
    gap:8px!important;
    max-width:calc(100vw - 92px)!important;
    min-width:0!important;
    height:44px!important;
    padding:0!important;
    display:inline-flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }

  .navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker img{
    max-width:92px!important;
    max-height:30px!important;
  }

  .navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav,
  .navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav.is-dark{
    font-size:8px!important;
    letter-spacing:.12em!important;
    line-height:1.12!important;
    white-space:nowrap!important;
    max-width:calc(100vw - 194px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .navbar.navbar-bg-switch .main-navigation{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .navbar.navbar-bg-switch .main-navigation > .navbar-header{
    position:absolute!important;
    top:8px!important;
    right:15px!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    overflow:visible!important;
    z-index:10002!important;
  }

  .navbar.navbar-bg-switch .navbar-toggle{
    position:absolute!important;
    top:0!important;
    right:0!important;
    display:block!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:13px 10px!important;
    float:none!important;
    border:0!important;
    background:transparent!important;
    z-index:10003!important;
  }

  .navbar.navbar-bg-switch .navbar-collapse{
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow-x:hidden!important;
  }
}

@media only screen and (max-width:380px){
  .navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker img{
    max-width:82px!important;
  }
  .navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav,
  .navbar.navbar-bg-switch .navbar-brand.logo.brand-with-kicker .ae-kicker.ae-kicker-nav.is-dark{
    font-size:7px!important;
    letter-spacing:.08em!important;
    max-width:calc(100vw - 180px)!important;
  }
}
