/* Video Background & Hero Layout */
.w-background-video > video {
  inset: 0;
}

.hero-background {
  overflow: hidden;
}

.hero-background .background-inner {
  width: 120%;
  height: 120%;
  flex: 0 0 auto;
  transform-origin: 50% 50%;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
}

.hero-background .background_video,
.hero-background .background_video video {
  width: 100%;
  height: 100%;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
  will-change: auto;
}

.hero-background .background_video video {
  object-fit: cover;
}

/* Locale Title Overlays */
html[lang="es"] .section_technology .overlay-gradients {
  height: 12.6em;
}

/* Custom Scrollbar */
html {
  overflow-y: scroll !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(0, 229, 255, 0.4) #020617 !important;
  -ms-overflow-style: auto !important;
}

body {
  overflow-y: visible !important;
}

::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
  display: block !important;
}

::-webkit-scrollbar-track {
  background: #020617 !important;
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.4) !important;
  border-radius: 4px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 229, 255, 0.8) !important;
}

/* Hero Video Full-Coverage */
#hero-bg-video,
.hero-background video,
.hero-background .background_video video,
video[data-cominvi-hero-intro-video="true"] {
  display: block;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.hero-background,
.hero-background .background-inner,
.hero-background .background_video,
.hero-background .is-video {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

.hero-background .background_video {
  background: #020617 !important;
}

/* Hero Sequence Canvas */
canvas[data-loader-sequence-canvas="true"],
[data-loader-sequence-canvas="true"] {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Navigation Drawer (Horizontal Layout) */
#nav-inner.nav-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0.6rem 3rem 1.4rem 3rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: auto !important;
  position: fixed !important;
  top: 4.5rem !important;
  bottom: auto !important;
  left: 0 !important;
  right: 0 !important;
  overflow: visible !important;
}

#nav-inner .nav-links-row {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(2rem, 4vw, 4.5rem) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

#nav-inner .navlink {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  text-decoration: none !important;
}

#nav-inner .navlink .navlink_label {
  font-size: clamp(1.4rem, 2.2vw, 2.4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap !important;
}

.nav-right-cluster,
.locale-switch {
  display: none !important;
}

/* Services Section Spacing */
.section_services {
  padding-bottom: 6rem !important;
}

/* Navbar Logo Permanent Visibility */
.navbar .is-logo_main,
.navbar .navbar_logo,
.navbar a.is-link,
.navbar a.navbar_logo {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.navbar .is-logo_main svg,
.navbar .is-logo_main span,
.navbar .navbar_logo svg {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Subpage Loader Backdrop & Logo Center Alignment */
.loader {
  position: fixed !important;
  inset: 0% !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: #0b0c10 !important;
  z-index: 99999 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.loader_inner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}



