/* Shared edge-to-edge navigation, after page styles. */
html[data-theme] body #nav {
  height:60px!important;
  min-height:60px!important;
  top:0!important;left:0!important;right:0!important;width:100%!important;
  --nav-gutter:clamp(20px,3.4vw,64px);
  --nav-surface:#edf7f5;
  --nav-ink:#203b49;
  --nav-accent:#008b97;
  box-sizing:border-box!important;
  padding:0 var(--nav-gutter)!important;
  border-radius:0!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html[data-theme] body #nav .nav-inner { height:100%;gap:24px }
html[data-theme] body #nav #navLogo {
  display:flex!important;width:168px!important;height:50px!important;
  flex:0 0 168px!important;padding:0!important;background:transparent!important;
}
html[data-theme] body #nav #navLogo .nav-logo-transition {
  width:100%;height:100%;overflow:visible;transform:none!important;
}
html[data-theme] body #nav #navLogo img {
  position:static!important;width:100%!important;height:100%!important;
  object-fit:contain!important;transform:none!important;filter:none!important;
  background:transparent!important;
}
html[data-theme] body #nav .nav-menu { gap:clamp(20px,2vw,36px);margin:0 }
html[data-theme] body #nav .nav-actions { gap:22px }
html[data-theme] body #nav .nav-trigger {
  font-family:var(--font-body)!important;font-size:14px!important;font-weight:700!important;line-height:1.2;
  min-height:44px;padding:12px 0!important;letter-spacing:-.015em!important;
  text-transform:none;color:var(--nav-ink)!important;
}
html[data-theme] body #nav .nav-trigger:is(:hover,:focus-visible,.is-active,[aria-expanded="true"]) { color:var(--nav-accent)!important }
html[data-theme] body #nav .nav-cta {
  width:auto!important;min-height:40px!important;padding:0 24px!important;
  font-size:13px!important;line-height:1.2;gap:12px!important;
}
@media(max-width:1080px) {
  html[data-theme] body #nav { height:56px!important;min-height:56px!important;padding-inline:20px!important }
  html[data-theme] body #nav #navLogo { width:148px!important;height:44px!important;flex-basis:148px!important }
  html[data-theme] body #nav .nav-actions { margin-left:auto;margin-right:12px;gap:16px }
}
html[data-theme] body #nav .nav-trigger {
  transform:none!important;
  transition:color 180ms ease!important;
}
html[data-theme] body #nav .nav-caret { transition:transform 220ms ease!important }
@media (min-width:1081px) {
  #nav.nav-enhanced .nav-panel-standard {
    position:absolute!important;
    inset:auto!important;
    left:var(--nav-dropdown-left,0)!important;
    top:var(--nav-dropdown-top,100%)!important;
    width:var(--nav-dropdown-width,100vw)!important;
    max-width:none!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    clip-path:inset(0 0 100% 0);
    transition:opacity 230ms ease,clip-path 230ms ease,visibility 0s linear 230ms!important;
  }
  #nav.nav-enhanced .nav-item.open:not(.is-closing) > .nav-panel-standard {
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    clip-path:inset(0);
    transition:opacity 230ms ease,clip-path 230ms cubic-bezier(.22,1,.36,1),visibility 0s!important;
  }
  #nav.nav-enhanced .nav-item.is-closing > .nav-panel-standard {
    opacity:0!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:none!important;
    clip-path:inset(0 0 100% 0);
  }
  #nav .nav-panel-standard > .nav-standard-menu {
    box-sizing:border-box!important;
    min-height:0!important;
    max-height:var(--nav-dropdown-available-height,calc(100svh - 96px))!important;
    padding:28px var(--nav-gutter) 32px!important;
    background:var(--nav-surface)!important;
    color:var(--nav-ink)!important;
    border-radius:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    border:0!important;
    border-top:0!important;
    box-shadow:none!important;
    overflow-y:auto!important;
  }
  #nav .nav-panel-standard .nav-standard-grid {
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:32px!important;
    background:transparent!important;
  }
  #nav .nav-panel-standard .nav-standard-grid > a {
    min-height:44px!important;
    padding:12px 0!important;
    opacity:1!important;
    transform:none!important;
    transition:color 180ms ease,background-color 180ms ease!important;
    transition-delay:0s!important;
  }
  #nav .nav-panel-standard .nav-standard-grid > a:is(:hover,:focus-visible,.is-current) {
    padding:12px 0!important;
    transform:none!important;
    background:transparent!important;
    text-decoration:underline!important;
    text-underline-offset:5px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme] body #nav .nav-panel-standard,
  html[data-theme] body #nav .nav-caret,
  html[data-theme] body #nav .nav-standard-grid > a { transition:none!important }
}

/* Preserve the supplied HD preloader image on a plain matching surface. */
html[data-theme] .loader {
  background:#efeeee!important;color:#193944!important;
  background-image:none!important;
}
html[data-theme] .loader-logo[data-image-logo="1"],
html[data-theme] .loader-logo[data-image-logo="1"].is-condensing {
  width:min(360px,76vw,60svh);clip-path:none;transform:none;
  transition:opacity .65s cubic-bezier(.22,1,.36,1);will-change:auto;
}
html[data-theme] .brand-logo-img--loader {
  display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;
  filter:none!important;mix-blend-mode:normal;
  transform:none!important;animation:none!important;
  /* Blend only the PNG's empty outer margin; the logo stays fully opaque. */
  mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
  mask-composite:intersect;
}
html[data-theme] .loader-percent { color:#193944!important }
html[data-theme] body #nav #navLogo img { mix-blend-mode:normal }

/* Full alpha assets: no blend modes, masks, or inherited logo plates. */
html[data-theme] body #nav #navLogo,
html[data-theme] body #nav #navLogo .nav-logo-transition,
html[data-theme] .loader-logo[data-image-logo="1"] {
  background:transparent!important;box-shadow:none!important;border:0!important;
}
html[data-theme] body #nav #navLogo img,
html[data-theme] .brand-logo-img--loader {
  opacity:1!important;mix-blend-mode:normal!important;clip-path:none!important;
}

/* Navigation controls follow their shared surface contrast. */
html[data-theme] body #nav .nav-trigger::after { background:var(--nav-ink)!important }
html[data-theme] body #nav .hamburger i { background:var(--nav-ink)!important }
html[data-theme] body #nav .nav-trigger:focus-visible,
html[data-theme] body #nav .nav-standard-grid > a:focus-visible {
  outline:2px solid var(--nav-accent)!important;outline-offset:5px!important;
}
@media(min-width:1081px) {
  #nav .nav-panel-standard .nav-standard-grid > a,
  #nav .nav-panel-standard .nav-standard-grid > a strong,
  #nav .nav-panel-standard .nav-standard-grid > a:is(:hover,:focus-visible,.is-current) strong {
    color:var(--nav-ink)!important;-webkit-text-fill-color:var(--nav-ink)!important;font-weight:700!important;
  }
  #nav .nav-panel-standard .nav-standard-grid--single { grid-template-columns:1fr!important }
}
@media(max-width:1080px) {
  html[data-theme] body #mobileMenu,
  html[data-theme] body #mobileMenu .mobile-menu-inner,
  html[data-theme] body #mobileMenu .mobile-accordion-panel {
    background:var(--nav-surface)!important;color:var(--nav-ink)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    box-shadow:none!important;
  }
  html[data-theme] body #mobileMenu .mobile-menu-inner {
    max-width:none!important;padding:76px 20px 32px!important;
  }
  html[data-theme] body #mobileMenu :is(a,button,span,strong,i) {
    color:var(--nav-ink)!important;-webkit-text-fill-color:var(--nav-ink)!important;font-weight:700!important;
    border-color:#292929!important;
  }
  html[data-theme] body #mobileMenu a:is(:hover,:focus-visible),
  html[data-theme] body #mobileMenu button:focus-visible {
    text-decoration:underline;text-underline-offset:5px;
  }
}

/* Match the hero instead of introducing a separate header surface. */
html[data-theme] body { --nav-surface:#edf7f5;--nav-ink:#203b49;--nav-accent:#008b97 }
html[data-theme="dark"] body:not(.home),
html[data-theme="dark"] body:not(.home) #nav {
  --nav-surface:#10262b;--nav-ink:#f1fbfb;--nav-accent:#67e8ed;
}
html[data-theme] body.home,html[data-theme] body.home #nav { --nav-surface:#f0faf7 }
html[data-theme] body #nav.scrolled,
html[data-theme] body #nav:has(.nav-item:is(.open,.is-activating)),
html[data-theme] body.mobile-menu-open #nav { background:var(--nav-surface)!important }
@media(min-width:1081px) {
  #nav :is(.nav-panel-about,.nav-panel-resources) .nav-standard-grid {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important;grid-auto-flow:row!important;
    row-gap:2px!important;
  }
  #nav .nav-panel-standard > .nav-standard-menu {
    transform:translateY(-10px);transition:transform 230ms cubic-bezier(.22,1,.36,1)!important;
  }
  #nav .nav-item.open:not(.is-closing) .nav-standard-menu { transform:translateY(0) }
}
@media(prefers-reduced-motion:reduce) {
  #nav .nav-panel-standard > .nav-standard-menu { transform:none!important;transition:none!important }
}

/* Homepage controls blend directly into the reference's dark teal artwork. */
html[data-theme] body.home,html[data-theme] body.home #nav {
  --nav-surface:#071b1e;--nav-ink:#64c7c7;--nav-accent:#43e6db;
}
html[data-theme] body.home #nav { height:76px!important;min-height:76px!important;padding-inline:4%!important }
html[data-theme] body.home #nav #navLogo { width:90px!important;flex-basis:90px!important }
html[data-theme] body.home #nav .nav-trigger { font-size:12px!important;font-weight:500!important }
html[data-theme] body.home #nav .nav-menu { gap:24px }
html[data-theme] body.home #nav .theme-toggle { display:none!important }
@media(max-width:1080px) {
  html[data-theme] body.home #nav { height:64px!important;min-height:64px!important }
}
html[data-theme] body.home #nav .nav-cta { min-height:36px!important;padding-inline:20px!important;font-size:12px!important }

/* These dropdown destinations use plain labels without an underline or divider. */
html[data-theme] body #nav .nav-panel-standard .nav-standard-grid > a:is([href*="/case-studies"],[href*="/testimonials"]),
html[data-theme] body #nav .nav-panel-standard .nav-standard-grid > a:is([href*="/case-studies"],[href*="/testimonials"]) strong,
html[data-theme] body #mobileMenu .mobile-accordion-panel a:is([href*="/case-studies"],[href*="/testimonials"]),
html[data-theme] body #mobileMenu .mobile-accordion-panel a:is([href*="/case-studies"],[href*="/testimonials"]) strong {
  text-decoration:none!important;
  border-bottom:0!important;
}
