.newsletter-form {
	width: 100%;
}

html,
body {
	overflow-x: hidden;
}

button,
[type="button"],
[type="submit"],
[type="reset"],
.elementor-button,
.elementor-button-link {
	transition-property: background-color, color, border-color !important;
	transition-duration: 180ms !important;
	transition-timing-function: ease !important;
}

@supports (overflow: clip) {
	html,
	body {
		overflow-x: clip;
	}
}

.newsletter-form .elementor-form {
	width: 100%;
}

.newsletter-form .elementor-form-fields-wrapper {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	min-height: 90px;
	padding: 12px 12px 12px clamp(28px, 4vw, 36px);
	background: #fff;
	border-radius: 999px;
	overflow: hidden;
}

.newsletter-form .elementor-field-group {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.newsletter-form .elementor-field-group:not(.e-form__buttons) {
	min-width: 0;
}

.newsletter-form .elementor-field-textual {
	width: 100%;
	min-height: 66px;
	padding: 0 !important;
	color: #000;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: clamp(16px, 1.75vw, 19px);
	font-weight: 600;
	line-height: 1.2;
	outline: 0;
}

.newsletter-form .elementor-field-textual::placeholder {
	color: #000;
	opacity: 1;
}

.newsletter-form .e-form__buttons {
	position: relative;
	display: flex;
	width: 188px !important;
	min-width: 188px;
	justify-content: flex-start;
	align-items: center;
}

.newsletter-form .elementor-button {
	position: relative;
	isolation: isolate;
	display: inline-flex !important;
	width: 132px;
	height: 66px;
	min-height: 66px;
	align-items: center;
	justify-content: center;
	padding: 0 18px !important;
	color: #fff !important;
	background: var(--e-global-color-8660c23) !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transition: background-color 180ms ease, color 180ms ease;
}

.newsletter-form .elementor-button:hover,
.newsletter-form .elementor-button:focus-visible {
	background: #ED5428 !important;
	color: #fff !important;
}

.newsletter-form .elementor-button-content-wrapper {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.newsletter-form .elementor-button-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-inline-start: 8px;
	color: currentColor;
	font-size: 1.3em;
	opacity: 0.68;
	transform: scale(1) rotate(0deg);
	transform-origin: center;
	will-change: opacity, transform;
}

.newsletter-form .elementor-button-icon i,
.newsletter-form .elementor-button-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	color: currentColor;
	fill: currentColor;
}

@media (max-width: 767px) {
	body:not(.elementor-editor-active) .about-block .icon-rotate.elementor-widget-icon-box {
		width: 100% !important;
		max-width: 100% !important;
		align-self: stretch;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-track {
		-webkit-animation-duration: 68s;
		animation-duration: 68s;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon svg {
		-webkit-animation-duration: 18s;
		animation-duration: 18s;
	}

	.newsletter-form .elementor-form-fields-wrapper {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		gap: 10px;
		padding: 10px;
		border-radius: 28px;
	}

	.newsletter-form .elementor-field-textual {
		min-height: 52px;
		padding: 0 10px !important;
		font-size: 15px;
		text-align: center;
	}

	.newsletter-form .e-form__buttons {
		width: 100% !important;
		min-width: 0;
	}

	.newsletter-form .elementor-button {
		width: 100%;
		height: 52px;
		min-height: 52px;
		padding: 0 12px !important;
	}

}

body:not(.elementor-editor-active) .clients-section {
	position: relative;
	overflow: visible !important;
}

body:not(.elementor-editor-active) .clients-section > .e-con,
body:not(.elementor-editor-active) .clients-section .carousel-grid {
	overflow: visible !important;
}

body:not(.elementor-editor-active) .clients-section .elementor-widget-animated-headline {
	position: relative;
}

body:not(.elementor-editor-active) .clients-section .esco-client-carousel-nav {
	position: absolute;
	top: 50%;
	left: 2rem;
	right: 2rem;
	z-index: 4;
	display: flex;
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
	transform: translateY(calc(-50% - 2px));
}

body:not(.elementor-editor-active) .clients-section .esco-client-carousel-button {
	display: inline-flex;
	width: clamp(40px, 4vw, 52px);
	height: clamp(40px, 4vw, 52px);
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--e-global-color-primary, #122C3D) !important;
	background: #b1ecf169 !important;
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	cursor: pointer;
	pointer-events: auto;
	transition-property: background-color, color, transform !important;
	transition-duration: 180ms !important;
	transition-timing-function: ease !important;
}

body:not(.elementor-editor-active) .clients-section .esco-client-carousel-button:hover,
body:not(.elementor-editor-active) .clients-section .esco-client-carousel-button:focus-visible {
	background: #ED5428 !important;
	color: #fff !important;
	transform: scale(1.06);
}

body:not(.elementor-editor-active) .clients-section .esco-client-carousel-button i {
	display: block;
	color: currentColor !important;
	font-size: clamp(16px, 1.45vw, 20px);
	line-height: 1;
}

body:not(.elementor-editor-active) .clients-section .carousel-grid {
	display: flex !important;
	width: max-content;
	max-width: none !important;
	grid-template-columns: none !important;
	grid-auto-flow: column;
	gap: clamp(18px, 2vw, 30px);
	align-items: center;
	will-change: transform;
}

body:not(.elementor-editor-active) .clients-section .carousel-grid > .e-con {
	flex: 0 0 clamp(136px, 15vw, 220px);
	width: clamp(136px, 15vw, 220px) !important;
	max-width: none !important;
	aspect-ratio: 1;
	overflow: visible !important;
}

body:not(.elementor-editor-active) .clients-section .carousel-grid .elementor-widget-image,
body:not(.elementor-editor-active) .clients-section .carousel-grid .elementor-widget-container {
	width: 100%;
	height: 100%;
}

body:not(.elementor-editor-active) .clients-section .carousel-grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: none;
	opacity: 1;
}

body:not(.elementor-editor-active) .background.carousel {
	position: relative;
	isolation: isolate;
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	height: auto;
	min-height: 100%;
	overflow: hidden;
	border-radius: 20px;
	--esco-background-carousel-progress: var(--e-global-color-8660c23, #ED5428);
	--esco-background-carousel-track: rgba(18, 44, 61, 0.36);
}

body:not(.elementor-editor-active) .background.carousel.esco-background-carousel-ready .background-carousel-wrapper {
	position: absolute !important;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-stage {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: inherit;
	background: var(--e-global-color-80ec061, #F9FAFA);
	pointer-events: none;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	opacity: 0;
	transform: translate3d(100%, 0, 0);
	transition-property: transform, opacity;
	transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	will-change: transform, opacity;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-slide.is-active {
	z-index: 2;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-slide.is-exiting {
	z-index: 1;
	opacity: 1;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-slide.is-entering {
	z-index: 3;
	opacity: 1;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-image {
	position: absolute;
	inset: -1.5%;
	display: block;
	background-position: center;
	background-size: cover;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-nav {
	position: absolute;
	inset: auto 2rem 2rem 2rem;
	z-index: 4;
	pointer-events: auto;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-progress {
	position: relative;
	display: flex;
	height: clamp(36px, 3.2vw, 44px);
	align-items: center;
	justify-content: space-between;
	padding: 0 clamp(3px, 0.35vw, 6px);
	overflow: hidden;
	background: var(--esco-background-carousel-track);
	border-radius: 99px;
	box-shadow: inset 0 0 0 1px rgba(18, 44, 61, 0.1);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-progress-fill {
	position: absolute;
	inset: 0 auto 0 0;
	z-index: 0;
	width: 100%;
	background: var(--esco-background-carousel-progress);
	border-radius: inherit;
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 5000ms linear;
	will-change: transform;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-button {
	position: relative;
	z-index: 2;
	display: inline-flex;
	width: clamp(30px, 2.8vw, 38px);
	height: clamp(30px, 2.8vw, 38px);
	align-items: center;
	justify-content: center;
	padding: 0;
	color: #fff !important;
	background: transparent !important;
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	cursor: pointer;
	pointer-events: auto;
	transition: color 180ms ease, transform 180ms ease !important;
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-button:hover,
body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-button:focus-visible {
	color: #fff !important;
	transform: scale(1.08);
}

body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-button i {
	display: block;
	color: currentColor !important;
	font-size: clamp(18px, 1.6vw, 23px);
	line-height: 1;
}

body:not(.elementor-editor-active) .about-block {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	max-width: 100%;
}

body:not(.elementor-editor-active) .about-block.esco-about-bg-ready {
	background: var(--e-global-color-8660c23, #E85C41) !important;
}

body:not(.elementor-editor-active) .about-block.esco-about-bg-ready::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--esco-about-target-bg, #122C3D);
	clip-path: circle(0% at 0 100%);
	pointer-events: none;
	transition: clip-path 2600ms cubic-bezier(0.76, 0, 0.24, 1);
}

body:not(.elementor-editor-active) .about-block.esco-about-bg-revealed::before {
	clip-path: circle(165% at 0 100%);
}

body:not(.elementor-editor-active) .about-block.esco-about-bg-ready > * {
	position: relative;
	z-index: 1;
}

body:not(.elementor-editor-active) .about-block .icon-rotate.elementor-widget-icon-box {
	display: block;
	width: 100%;
	max-width: none;
	min-width: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(#000, #000);
	mask-image: linear-gradient(#000, #000);
}

body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-viewport {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	contain: layout paint;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-track {
	display: flex;
	width: -webkit-max-content;
	width: max-content;
	min-width: -webkit-max-content;
	min-width: max-content;
	align-items: center;
	flex-wrap: nowrap;
	-webkit-animation: esco-icon-marquee 42s linear infinite;
	animation: esco-icon-marquee 42s linear infinite;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	will-change: -webkit-transform, transform;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-group {
	display: flex;
	flex: 0 0 auto;
	width: -webkit-max-content;
	width: max-content;
	min-width: -webkit-max-content;
	min-width: max-content;
	align-items: center;
	flex-wrap: nowrap;
	padding-right: var(--esco-icon-marquee-gap, 0.55em);
}

body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-item {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	margin-right: var(--esco-icon-marquee-gap, 0.55em);
	white-space: nowrap;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon-box-icon {
	flex: 0 0 auto;
	margin: 0 !important;
	line-height: 0;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	font-size: calc(var(--esco-icon-marquee-font-size, 1em) * var(--esco-icon-marquee-icon-scale, 1)) !important;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	-webkit-animation: esco-icon-marquee-spin 10s linear infinite;
	animation: esco-icon-marquee-spin 10s linear infinite;
	-webkit-transform-origin: center;
	transform-origin: center;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon-box-content {
	flex: 0 0 auto;
}

body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon-box-title {
	margin: 0;
	white-space: nowrap;
}

body:not(.elementor-editor-active) .hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--e-global-color-80ec061, #F9FAFA);
	--esco-hero-gradient-opacity: 0;
	--esco-hero-noise-opacity: 0;
	--esco-hero-circle-progress: 0%;
}

body:not(.elementor-editor-active) .hero::before,
body:not(.elementor-editor-active) .hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

body:not(.elementor-editor-active) .hero::before {
	z-index: 0;
	background:
		radial-gradient(ellipse 42vw 44vw at var(--esco-hero-gradient-x, 70%) var(--esco-hero-gradient-y, 62%), rgba(232, 92, 65, 0.42) 0%, rgba(232, 92, 65, 0.3) 28%, rgba(232, 92, 65, 0.12) 46%, transparent 74%),
		radial-gradient(ellipse 48vw 42vw at calc(var(--esco-hero-gradient-x, 70%) - 22%) calc(var(--esco-hero-gradient-y, 62%) - 12%), rgba(177, 236, 241, 0.62) 0%, rgba(177, 236, 241, 0.3) 40%, transparent 76%),
		radial-gradient(ellipse 34vw 28vw at calc(var(--esco-hero-gradient-x, 70%) - 34%) calc(var(--esco-hero-gradient-y, 62%) - 28%), var(--e-global-color-85f516e, #E4F9FD) 0%, rgba(228, 249, 253, 0.38) 44%, transparent 78%);
	filter: saturate(1.12);
	opacity: var(--esco-hero-gradient-opacity);
	transform: translate3d(var(--esco-hero-gradient-shift-x, 0px), var(--esco-hero-gradient-shift-y, 0px), 0) scale(var(--esco-hero-gradient-scale, 1));
	transform-origin: 70% 62%;
	will-change: opacity, transform;
}

body:not(.elementor-editor-active) .hero::after {
	z-index: 1;
	background-image:
		linear-gradient(color-mix(in srgb, var(--e-global-color-80ec061, #F9FAFA) 8%, transparent), color-mix(in srgb, var(--e-global-color-80ec061, #F9FAFA) 8%, transparent)),
		url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.45' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.92'/%3E%3C/svg%3E");
	background-size: auto, 140px 140px;
	mask-image: radial-gradient(ellipse 38vw 36vw at 70% 62%, #000 0%, #000 36%, transparent 78%);
	-webkit-mask-image: radial-gradient(ellipse 38vw 36vw at 70% 62%, #000 0%, #000 36%, transparent 78%);
	mix-blend-mode: multiply;
	opacity: var(--esco-hero-noise-opacity);
	will-change: opacity;
}

body:not(.elementor-editor-active) .hero > * {
	position: relative;
	z-index: 2;
}

body:not(.elementor-editor-active) .hero > .e-con-inner {
	position: relative;
	z-index: 2;
}

body:not(.elementor-editor-active) .hero > .e-con-inner::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;
	width: clamp(1040px, 106vw, 1560px);
	aspect-ratio: 1;
	background: conic-gradient(from -90deg, var(--e-global-color-67d9732) 0 var(--esco-hero-circle-progress), transparent var(--esco-hero-circle-progress) 100%);
	border-radius: 50%;
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1px), #000 calc(100% - 1px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 1px), #000 calc(100% - 1px));
	pointer-events: none;
	transform: translate(-50%, -50%);
	will-change: background;
}

body:not(.elementor-editor-active) .hero > .e-con-inner > * {
	position: relative;
	z-index: 1;
}

body:not(.elementor-editor-active) .hero:not(.esco-hero-intro-complete) .hero-headline,
body:not(.elementor-editor-active) .hero:not(.esco-hero-intro-complete) .hero-description {
	visibility: hidden;
	opacity: 0;
	clip-path: inset(0 100% 0 0);
	will-change: clip-path, opacity, transform;
}

body:not(.elementor-editor-active) .hero:not(.esco-hero-intro-complete) .hero-headline {
	transform: translateX(-32px);
}

body:not(.elementor-editor-active) .hero:not(.esco-hero-intro-complete) .hero-description {
	transform: translateX(32px);
}

body:not(.elementor-editor-active) #contact.esco-contact-reveal-ready:not(.esco-contact-reveal-complete) .contact-left > .elementor-element,
body:not(.elementor-editor-active) #contact.esco-contact-reveal-ready:not(.esco-contact-reveal-complete) .contact-right > .elementor-element {
	visibility: hidden;
	opacity: 0;
	will-change: clip-path, opacity, transform;
}

body:not(.elementor-editor-active) #contact.esco-contact-reveal-ready:not(.esco-contact-reveal-complete) .contact-left > .elementor-element {
	clip-path: inset(0 0 100% 0);
	transform: translateY(-24px);
}

body:not(.elementor-editor-active) #contact.esco-contact-reveal-ready:not(.esco-contact-reveal-complete) .contact-right > .elementor-element {
	clip-path: inset(100% 0 0 0);
	transform: translateY(24px);
}

body:not(.elementor-editor-active) .custom-icon.esco-custom-icon-draw-ready svg {
	overflow: visible;
}

body:not(.elementor-editor-active) .custom-icon.esco-custom-icon-draw-ready:not(.esco-custom-icon-draw-complete) path {
	fill: currentColor;
	stroke: none;
	will-change: clip-path;
}

body:not(.elementor-editor-active) .esco-work-section {
	position: relative;
	isolation: isolate;
	overflow: visible;
}

body:not(.elementor-editor-active) .esco-work-heading {
	position: sticky;
	top: clamp(92px, 12vh, 150px);
	z-index: 0 !important;
	opacity: var(--esco-work-heading-opacity, 1);
	pointer-events: none;
	will-change: clip-path, opacity, transform;
}

body:not(.elementor-editor-active) .esco-work-heading:not(.esco-work-heading-intro-complete) {
	visibility: hidden;
	opacity: 0;
}

body:not(.elementor-editor-active) .esco-work-grid {
	position: relative;
	z-index: 2 !important;
	isolation: isolate;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: opacity 520ms ease, transform 680ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 520ms;
	will-change: opacity, transform;
}

body:not(.elementor-editor-active) .esco-work-section.esco-work-ready .esco-work-grid {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: 0s;
}

body:not(.elementor-editor-active) .esco-work-card {
	--esco-work-bg-y: 0px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 0 !important;
	background-size: 0 0 !important;
	background-position: center top !important;
	border: 1px solid rgba(18, 44, 61, 0.12) !important;
	cursor: default;
	transform-origin: center;
	opacity: 0;
	transition: border-color 260ms ease, box-shadow 360ms ease;
	will-change: opacity;
}

body:not(.elementor-editor-active) .esco-work-card.is-loaded {
	opacity: 1;
}

body:not(.elementor-editor-active) .esco-work-card.is-loading {
	pointer-events: none;
}

body:not(.elementor-editor-active) .esco-work-card::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	content: "";
	background-image: inherit;
	background-repeat: no-repeat;
	background-position: center var(--esco-work-bg-y);
	background-size: cover;
	transform: scale(1);
	transform-origin: center;
	will-change: background-position;
}

body:not(.elementor-editor-active) .esco-work-card:hover,
body:not(.elementor-editor-active) .esco-work-card.is-hovered,
body:not(.elementor-editor-active) .esco-work-card:focus-within {
	border-color: rgba(18, 44, 61, 0.22) !important;
}

body:not(.elementor-editor-active) .esco-work-card:hover::before,
body:not(.elementor-editor-active) .esco-work-card.is-hovered::before,
body:not(.elementor-editor-active) .esco-work-card:focus-within::before {
	transform: scale(1);
}

body:not(.elementor-editor-active) .esco-work-card > .elementor-element {
	position: relative;
	z-index: 2;
}

body:not(.elementor-editor-active) .esco-work-card .elementor-widget-icon {
	position: absolute;
	right: clamp(16px, 1.8vw, 28px);
	bottom: clamp(16px, 1.8vw, 28px);
	z-index: 3;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, 10px, 0);
	transition: opacity 340ms ease, transform 460ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 340ms;
	pointer-events: none;
	will-change: opacity, transform;
}

body:not(.elementor-editor-active) .esco-work-card:hover .elementor-widget-icon,
body:not(.elementor-editor-active) .esco-work-card.is-hovered .elementor-widget-icon,
body:not(.elementor-editor-active) .esco-work-card:focus-within .elementor-widget-icon {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: 0s;
	pointer-events: auto;
	cursor: pointer;
}

@keyframes esco-icon-marquee {
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@-webkit-keyframes esco-icon-marquee {
	to {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes esco-icon-marquee-spin {
	to {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes esco-icon-marquee-spin {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.elementor-editor-active .clients-section .carousel-grid {
	display: grid !important;
	width: auto;
	transform: none !important;
}

.elementor-editor-active .clients-section .esco-client-carousel-nav {
	display: none;
}

@media (max-width: 767px) {
	body:not(.elementor-editor-active) .background.carousel {
		width: 100%;
		min-height: clamp(320px, 86vw, 520px);
		border-radius: 16px;
	}

	body:not(.elementor-editor-active) .background.carousel.esco-background-carousel-ready {
		display: block;
	}

	body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-stage {
		display: block;
		min-height: inherit;
	}

	body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-image {
		inset: -1%;
		background-position: center;
		background-size: cover;
	}

	body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-nav {
		inset: auto 1rem 1rem 1rem;
	}

	body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-progress {
		height: 32px;
		padding: 0 3px;
	}

	body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-button {
		width: 26px;
		height: 26px;
	}

	body:not(.elementor-editor-active) .background.carousel .esco-about-carousel-button i {
		font-size: 15px;
	}

	body:not(.elementor-editor-active) .esco-work-heading {
		position: relative;
		top: auto;
		z-index: 1;
		opacity: 1 !important;
	}

	body:not(.elementor-editor-active) .esco-work-card:hover,
	body:not(.elementor-editor-active) .esco-work-card.is-hovered,
	body:not(.elementor-editor-active) .esco-work-card:focus-within {
		transform: none;
	}

	body:not(.elementor-editor-active) .esco-work-card:hover::before,
	body:not(.elementor-editor-active) .esco-work-card.is-hovered::before,
	body:not(.elementor-editor-active) .esco-work-card:focus-within::before {
		transform: scale(1);
	}

	body:not(.elementor-editor-active) .about-block,
	body:not(.elementor-editor-active) .about-block > *,
	body:not(.elementor-editor-active) .about-block .e-con,
	body:not(.elementor-editor-active) .about-block .e-con-inner {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: hidden;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate.elementor-widget-icon-box {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		align-self: stretch;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-viewport {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-track {
		-webkit-animation-duration: 50s;
		animation-duration: 50s;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-group,
	body:not(.elementor-editor-active) .about-block .icon-rotate .esco-icon-marquee-item {
		padding-right: var(--esco-icon-marquee-gap, 0.55em);
		margin-right: 0;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon svg {
		-webkit-animation-duration: 20s;
		animation-duration: 20s;
	}

	body:not(.elementor-editor-active) .about-block .icon-rotate .elementor-icon {
		--esco-icon-marquee-icon-scale: 1.12;
	}

	body:not(.elementor-editor-active) .hero {
		--esco-hero-gradient-x: 92%;
		--esco-hero-gradient-y: 88%;
	}

	body:not(.elementor-editor-active) .hero::before {
		top: auto;
		right: -24vw;
		bottom: 0;
		left: auto;
		width: 148vw;
		height: 100%;
		background:
			linear-gradient(135deg, rgba(177, 236, 241, 0.3) 0%, rgba(177, 236, 241, 0.2) 30%, rgba(249, 250, 250, 0.28) 54%, rgba(232, 92, 65, 0.18) 82%, rgba(232, 92, 65, 0.24) 100%),
			radial-gradient(ellipse 84vw 72vh at 86% 88%, rgba(232, 92, 65, 0.44) 0%, rgba(232, 92, 65, 0.28) 28%, rgba(232, 92, 65, 0.1) 48%, transparent 66%),
			radial-gradient(ellipse 106vw 72vh at 42% 58%, rgba(177, 236, 241, 0.62) 0%, rgba(177, 236, 241, 0.34) 34%, rgba(177, 236, 241, 0.12) 52%, transparent 70%),
			radial-gradient(ellipse 84vw 56vh at 20% 42%, var(--e-global-color-85f516e, #E4F9FD) 0%, rgba(228, 249, 253, 0.3) 38%, transparent 62%);
		transform: none !important;
		transform-origin: 100% 100%;
	}

	body:not(.elementor-editor-active) .hero::after {
		top: auto;
		right: -24vw;
		bottom: 0;
		left: auto;
		width: 148vw;
		height: 100%;
		background-image:
			linear-gradient(color-mix(in srgb, var(--e-global-color-80ec061, #F9FAFA) 34%, transparent), color-mix(in srgb, var(--e-global-color-80ec061, #F9FAFA) 34%, transparent)),
			url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.45' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.72'/%3E%3C/svg%3E");
		mask-image: radial-gradient(ellipse 104vw 76vh at 76% 82%, #000 0%, #000 38%, transparent 72%);
		-webkit-mask-image: radial-gradient(ellipse 104vw 76vh at 76% 82%, #000 0%, #000 38%, transparent 72%);
		opacity: calc(var(--esco-hero-noise-opacity) * 0.72);
	}

	body:not(.elementor-editor-active) .clients-section .esco-client-carousel-nav:not(.esco-client-carousel-nav--mobile) {
		display: none;
	}

	body:not(.elementor-editor-active) .clients-section {
		overflow-x: hidden !important;
		overflow-y: visible !important;
	}

	body:not(.elementor-editor-active) .clients-section > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		align-items: center;
		flex-wrap: nowrap !important;
		overflow-x: hidden !important;
		overflow-y: visible !important;
	}

	body:not(.elementor-editor-active) .clients-section .elementor-widget-animated-headline,
	body:not(.elementor-editor-active) .clients-section .elementor-headline {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	body:not(.elementor-editor-active) .clients-section .elementor-widget-animated-headline {
		position: relative;
		left: auto !important;
		right: auto !important;
		z-index: 3;
		flex: 0 0 auto;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: center;
		transform: none !important;
	}

	body:not(.elementor-editor-active) .clients-section .elementor-headline {
		width: 100%;
	}

	body:not(.elementor-editor-active) .clients-section .carousel-grid > .e-con {
		flex: 0 0 var(--esco-client-mobile-logo-size, clamp(96px, 30vw, 140px));
		width: var(--esco-client-mobile-logo-size, clamp(96px, 30vw, 140px)) !important;
		height: var(--esco-client-mobile-logo-size, clamp(96px, 30vw, 140px));
		aspect-ratio: 1 / 1;
		max-width: none !important;
	}

	body:not(.elementor-editor-active) .clients-section .carousel-grid {
		width: max-content !important;
		max-width: none !important;
		gap: var(--esco-client-mobile-logo-gap, clamp(10px, 3vw, 14px));
		overflow-x: visible !important;
		overflow-y: visible !important;
		cursor: default;
		touch-action: none;
		-webkit-user-select: none;
		user-select: none;
		scrollbar-width: none;
		will-change: transform;
	}

	body:not(.elementor-editor-active) .clients-section .carousel-grid::-webkit-scrollbar {
		display: none;
	}

	body:not(.elementor-editor-active) .clients-section .esco-client-carousel-nav--mobile {
		position: static;
		z-index: 3;
		display: flex;
		width: 100%;
		gap: 2rem;
		justify-content: center;
		align-items: center;
		margin-top: 18px;
		pointer-events: auto;
		transform: none;
	}

	body:not(.elementor-editor-active) .clients-section .esco-client-carousel-nav--mobile .esco-client-carousel-button {
		width: 42px;
		height: 42px;
	}

	body:not(.elementor-editor-active) .clients-section .esco-client-carousel-nav--mobile .esco-client-carousel-button i {
		font-size: 17px;
	}

	body:not(.elementor-editor-active) .esco-work-card.is-button-visible .elementor-widget-icon {
		visibility: visible;
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition-delay: 0s;
		pointer-events: auto;
		cursor: pointer;
	}
}
