/* Hero */
@media screen and (min-width: 1025px) {
	.hero-pin .e-con-inner {
		display: block;
		height: 100vh;
	}

	.hero-video {
		width: 100%;
		height: 100vh;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 0;
		background: black;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		pointer-events: none;
	}

	.hero-video.loaded {
		background: transparent;
	}

	.video-wrap::before,
	.video-wrap::after {
		content: "";
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		position: absolute;
		pointer-events: none;
		z-index: 10;
	}

	.hero-slide {
		transition: opacity .25s ease-in, transform .25s ease-in;
	}

	.hero-slide.hidden {
		opacity: 0;
		transform: translateY(-20%);
	}

	.hero-pin.white .hero-video {
		background: white;
	}

	.hero-video .video-wrap::before {
		background: linear-gradient(to bottom,
		rgba(255, 255, 255, 0) 45%,
		rgba(0, 0, 0, 0.4) 75%,
		rgba(0, 0, 0, 1) 100%);
	}

	.hero-video .video-wrap::after {
		background: linear-gradient(to right,
		rgba(0, 0, 0, 1) 0%,
		rgba(0, 0, 0, 0.2) 35%,
		rgba(255, 255, 255, 0) 50%);
	}

	.hero-video .video-wrap {
		height: 100vh;
		pointer-events: all;
	}

	.hero-video video {
		height: 100%;
		width: 100vw;
		object-fit: cover;
	}
	.hero-pin.small-video .hero-video video {
		border-radius: 30px;
	}

	.hero-slide {
		height: 100vh;
		color: white;
		margin: 0;
		border: 0;
		opacity: 0;
		transition: all .25s ease;
	}

	.hero-slide.active-slide {
		z-index: 2;
	}

	body:not(.elementor-editor-active) .hero-slide {
		position: absolute;
	}

	body.elementor-editor-active .hero-pin {
		height: 200vh;
	}

	.hero-slide .widget-animate {
		opacity: 0;
		transform: translateY(20px);
		transition: all .5s ease-in-out;
		transition-delay: 0.5s;
	}

	body.elementor-editor-active .hero-slide .widget-animate {
		opacity: 1 !important;
		transform: translateY(0px) !important;
	}

	.hero-slide .widget-animate[data-delay="0.1"] {
		transition-delay: 0.1s;
	}

	.hero-slide .widget-animate[data-delay="0.2"] {
		transition-delay: 0.2s;
	}

	.hero-slide .widget-animate[data-delay="0.3"] {
		transition-delay: 0.3s;
	}

	.hero-slide .widget-animate[data-delay="0.4"] {
		transition-delay: 0.4s;
	}

	.hero-slide .widget-animate[data-delay="0.5"] {
		transition-delay: 0.5s;
	}

	.hero-slide .widget-animate[data-delay="0.6"] {
		transition-delay: 0.6s;
	}

	.hero-slide .widget-animate[data-delay="0.7"] {
		transition-delay: 0.7s;
	}

	.hero-slide .widget-animate[data-delay="0.8"] {
		transition-delay: 0.8s;
	}

	.hero-slide .widget-animate[data-delay="0.9"] {
		transition-delay: 0.9s;
	}

	.hero-slide.active-slide .widget-animate {
		transform: translateY(0px);
		opacity: 1;
	}

	.elementor-editor-active .hero-slide {
		opacity: 1;
	}

	.active-slide {
		opacity: 1;
	}

	.hero-pin {
		transition: none;
	}

	.hero-pin.small-video .hero-video {
		background-color: white;
	}
	.hero-pin.no-gradient .hero-video .video-wrap::before {
		display: none;
	}

	.hero-pin.no-gradient .hero-video .video-wrap::after {
		display: none;
	}
}

@media screen and (max-width: 1024px) {
	.hero-pin .video-wrap {
		transform: none !important;
		width: 100% !important;
		height: 100% !important;
	}
}

.numbers-box {
  flex: 1;
  padding: 30px 20px;
  border-radius: 12px;

  /* Glass effect */
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);

  /* Border + glow */
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);

  color: #fff;
}

.numbers-box .numbers-top {
    margin: 0;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    color: var(--e-global-color-secondary);
}

.numbers-box .numbers-number {
    font-size: var(--custom-title-2-default);
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.numbers-box .numbers-bottom {
  margin: 0;
  font-size: 16px;
  line-height: 1.4em;
  opacity: 0.8;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: linear-gradient(to right,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 255, 255, 0.1) 100%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 160%;
    color: #FFF;
    backdrop-filter: blur(4px);
}

.badge::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--e-global-color-secondary);
    border-radius: 2px;
}

.video-wrap .play-button {
    justify-content: center;
    align-items: center;
    width: 84px;
    height: 84px;
    padding: 0px 0px 0px 4px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 999px;
    overflow: hidden;
    transition: all 0.4s ease-out;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: none;
    cursor: pointer;
}
.hero-pin.small-video .video-wrap .play-button {
    display: flex;
}
.hero-pin.small-video .hero-video{
    background: none;
    z-index: 10;
}
.video-wrap .play-button:after {
    content: "Play Video";
    display: block;
    width: 1px;
    white-space: nowrap;
    font-family: var(--font-stack-heading);
    font-size: 0.888rem;
    font-weight: 500;
    line-height: 1.25em;
    overflow: hidden;
    transition: all 0.4s ease-out;
}

.video-wrap .play-button svg {
    display: flex;
    width: 20px;
    height: auto;
    opacity: 1;
    filter: none;
}

.video-wrap .play-button:hover {
    gap: 12px;
    width: fit-content;
    padding: 30px 40px 30px 40px;
}
.video-wrap .play-button:hover:after {
    width: fit-content;
}

@media screen and (min-width: 2400px) {
    .hero-slide {
        padding: 100px;
    }
}

@media screen and (max-width: 1024px) {
  .hero-pin .hero-video {
    position: absolute;
    height: 600px;
  }

  .hero-pin .hero-video .elementor-element,
  .hero-video .video-wrap {
    height: 100%;
  }

  .hero-video .video-wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero-pin .hero-slide {
    position: relative;
  }

  .hero-pin .hero-slide:not(#Section2)::before {
    content: "";
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: calc(100% - 150px);
    background: black;
  }

  .hero-pin .hero-slide:not(#Section2)::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 151px;
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(0, 0, 0, 1) 100%
    );
  }

  .hero-pin .hero-text-wrap,
  .hero-pin .numbers-col {
    width: 100%;
    z-index: 1;
  }
	
  .hero-small-screen .hero-text-wrap h1 span {
    font-size: var(--custom-title-1-1366-max);
  }

  .hero-small-screen .hero-text-wrap p span,
  .hero-small-screen .hero-text-wrap .badge p {
    font-size: 17px;
  }

  .hero-small-screen .hero-cta-wrap .button a .elementor-button-text {
    font-size: 15px;
  }

  .hero-small-screen .numbers-box .numbers-number {
    font-size: var(--custom-title-2-1366-max);
  }
  .hero-small-screen .numbers-box .numbers-bottom {
    font-size: 0.88rem;
  }
}

/* Hero Mobile */
@media screen and (max-width: 767px) {
  .hero-pin .hero-video {
    height: 480px;
  }

  .hero-pin .hero-slide:not(#Section2)::before {
    height: calc(100% - 200px);
  }

  .hero-pin .hero-slide:not(#Section2)::after {
    height: 201px;
  }
	
  .hero-small-screen .hero-text-wrap h1 span {
    font-size: var(--custom-title-1-767-max) !important;
  }

  .hero-small-screen .hero-text-wrap p span,
  .hero-small-screen .hero-text-wrap .badge p {
    font-size: 16px !important;
  }

  .hero-small-screen .hero-cta-wrap .button a .elementor-button-text {
    font-size: 14px !important;
  }

  .hero-cta-wrap .button a,
  .hero-cta-wrap .button {
    width: 100%;
  }

  .hero-cta-wrap .button-white:after {
    right: calc(50% - 75px);
  }
  .hero-cta-wrap .button-transparent:after {
    right: calc(50% - 96px);
  }
	
  .numbers-box {
    padding: 20px 16px;
    border-radius: 8px;
  }
	
  .hero-small-screen .numbers-box .numbers-top {
    font-size: 12px;
  }
  .hero-small-screen .numbers-box .numbers-number {
    font-size: var(--custom-title-2-767-max);
  }
}