.nqts-button {
	--nqts-button-bg: #00525E;
	--nqts-button-hover-bg: #27B4C1;
	--nqts-button-text: #ffffff;
	--nqts-button-hover-text: #ffffff;
	--nqts-brand-shape: polygon(0% 0%, 85% 0%, 100% 50%, 100% 100%, 15% 100%, 0% 50%);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border: 0;
	border-radius: 0;
	background: var(--nqts-button-bg);
	overflow: hidden;
	cursor: pointer;
	isolation: isolate;
	text-decoration: none !important;
	clip-path: var(--nqts-brand-shape);
	box-shadow: 0 10px 28px rgba(56, 69, 81, 0.18);
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.nqts-button::before {
	content: "";
	position: absolute;
	inset: 0;
	width: 0;
	background: var(--nqts-button-hover-bg);
	z-index: -1;
	transition: width 0.45s ease;
}

.nqts-button:hover,
.nqts-button:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(56, 69, 81, 0.22);
	outline: none;
}

.nqts-button:hover::before,
.nqts-button:focus-visible::before {
	width: 100%;
}

.nqts-button span {
	position: relative;
	z-index: 1;
	display: block;
	padding: 15px 30px;
	color: var(--nqts-button-text);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.25s ease;
}

.nqts-button:hover span,
.nqts-button:focus-visible span {
	color: var(--nqts-button-hover-text);
}

.nqts-title-sweep.elementor-heading-title,
.nqts-title-sweep .elementor-heading-title,
.nqts-title-sweep-teal.elementor-heading-title,
.nqts-title-sweep-teal .elementor-heading-title,
h1.nqts-title-sweep,
h2.nqts-title-sweep,
h3.nqts-title-sweep,
h4.nqts-title-sweep,
h5.nqts-title-sweep,
h6.nqts-title-sweep,
h1.nqts-title-sweep-teal,
h2.nqts-title-sweep-teal,
h3.nqts-title-sweep-teal,
h4.nqts-title-sweep-teal,
h5.nqts-title-sweep-teal,
h6.nqts-title-sweep-teal {
	--nqts-title-sweep-base: #ffffff;
	--nqts-title-sweep-accent: #27B4C1;
	--nqts-title-sweep-ghost: rgba(255, 255, 255, 0.28);
	display: inline-block;
	background-image:
		linear-gradient(
			90deg,
			var(--nqts-title-sweep-base) 42%,
			var(--nqts-title-sweep-accent) 49%,
			var(--nqts-title-sweep-accent) 56%,
			var(--nqts-title-sweep-ghost) 64%
		);
	background-size: 250% 100%;
	background-position: 100% 50%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	transition: background-position 2.35s cubic-bezier(0.55, 0.1, 0.26, 0.995);
}

.nqts-title-sweep.is-visible.elementor-heading-title,
.nqts-title-sweep.is-visible .elementor-heading-title,
.nqts-title-sweep-teal.is-visible.elementor-heading-title,
.nqts-title-sweep-teal.is-visible .elementor-heading-title,
h1.nqts-title-sweep.is-visible,
h2.nqts-title-sweep.is-visible,
h3.nqts-title-sweep.is-visible,
h4.nqts-title-sweep.is-visible,
h5.nqts-title-sweep.is-visible,
h6.nqts-title-sweep.is-visible,
h1.nqts-title-sweep-teal.is-visible,
h2.nqts-title-sweep-teal.is-visible,
h3.nqts-title-sweep-teal.is-visible,
h4.nqts-title-sweep-teal.is-visible,
h5.nqts-title-sweep-teal.is-visible,
h6.nqts-title-sweep-teal.is-visible {
	background-position: 0 50%;
}

.nqts-title-sweep-teal.elementor-heading-title,
.nqts-title-sweep-teal .elementor-heading-title,
h1.nqts-title-sweep-teal,
h2.nqts-title-sweep-teal,
h3.nqts-title-sweep-teal,
h4.nqts-title-sweep-teal,
h5.nqts-title-sweep-teal,
h6.nqts-title-sweep-teal {
	--nqts-title-sweep-base: #00525E;
	--nqts-title-sweep-accent: #27B4C1;
	--nqts-title-sweep-ghost: rgba(0, 82, 94, 0.22);
}

.nqts-title-sweep--light.elementor-heading-title,
.nqts-title-sweep--light .elementor-heading-title,
h1.nqts-title-sweep--light,
h2.nqts-title-sweep--light,
h3.nqts-title-sweep--light,
h4.nqts-title-sweep--light,
h5.nqts-title-sweep--light,
h6.nqts-title-sweep--light {
	--nqts-title-sweep-base: #ffffff;
	--nqts-title-sweep-ghost: rgba(255, 255, 255, 0.28);
}

@media (prefers-reduced-motion: reduce) {
	.nqts-button,
	.nqts-button::before,
	.nqts-button span,
	.nqts-title-sweep.elementor-heading-title,
	.nqts-title-sweep .elementor-heading-title,
	.nqts-title-sweep-teal.elementor-heading-title,
	.nqts-title-sweep-teal .elementor-heading-title,
	h1.nqts-title-sweep,
	h2.nqts-title-sweep,
	h3.nqts-title-sweep,
	h4.nqts-title-sweep,
	h5.nqts-title-sweep,
	h6.nqts-title-sweep,
	h1.nqts-title-sweep-teal,
	h2.nqts-title-sweep-teal,
	h3.nqts-title-sweep-teal,
	h4.nqts-title-sweep-teal,
	h5.nqts-title-sweep-teal,
	h6.nqts-title-sweep-teal {
		transition: none;
	}

	.nqts-title-sweep.elementor-heading-title,
	.nqts-title-sweep .elementor-heading-title,
	.nqts-title-sweep-teal.elementor-heading-title,
	.nqts-title-sweep-teal .elementor-heading-title,
	h1.nqts-title-sweep,
	h2.nqts-title-sweep,
	h3.nqts-title-sweep,
	h4.nqts-title-sweep,
	h5.nqts-title-sweep,
	h6.nqts-title-sweep,
	h1.nqts-title-sweep-teal,
	h2.nqts-title-sweep-teal,
	h3.nqts-title-sweep-teal,
	h4.nqts-title-sweep-teal,
	h5.nqts-title-sweep-teal,
	h6.nqts-title-sweep-teal {
		background-position: 0 50%;
	}
}

@media (max-width: 768px) {
	.nqts-button span {
		padding: 13px 24px;
		font-size: 14px;
	}
}
