/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : AI Development Services - Macincode
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Services css
07. How It Work css
08. Our Facts css
09. Our Projects css 
10. Real Impact css 
11. CTA Box css 
12. What We Do css
13. Our Testimonials css
14. Our FAQs css 
15. Our Blog css
16. Footer css 
17. About Us Page css 
18. Services Page css 
19. Service Single css 
20. Blog Archive css 
21. Blog Single css 
22. Projects Page css 
23. Project Single css 
24. Team Page css 
25. Team Single css 
26. Testimonials Page css 
27. Image Gallery css 
28. Video Gallery css 
29. FAQs Page css 
30. Contact Us Page css 
31. 404 Error Page css 
32. Responsive css
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/

:root{
	--primary-color				: #FFFFFF;
	--secondary-color			: #0A0A0A;
	--text-color				: #A7AABB;
	--bg-color					: #060606;
	--accent-color				: #F14F44; /*#ee612d;*/
	--accent-secondary-color	: #F14F44; /*#902583;*/
	--divider-color				: #FFFFFF0F;
	--dark-divider-color		: #FFFFFF33;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Manrope", sans-serif;
}

/************************************/
/*** 	   02. General css		  ***/
/************************************/

body{
	position: relative;
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.1em;
	color: var(--text-color);
    background: var(--bg-color);
}

::-webkit-scrollbar-track{
	background-color: var(--primary-color);
	border-left: 1px solid var(--primary-color);
}
::-webkit-scrollbar{
	width: 7px;
	background-color: var(--primary-color);
}
::-webkit-scrollbar-thumb{
	background: linear-gradient(180deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%);

}

::selection{
	color: var(--primary-color);
	background-color: var(--accent-color);
	filter: invert(1);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.6em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	margin :0;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--primary-color);
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

html,
body{
	width: 100%;
	overflow-x: clip;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
	position: relative;
    padding-right: 15px;
    padding-left: 15px;
	z-index: 1;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.1);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
	display: inline-block;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
    border-radius: 100px;
    color: var(--primary-color);
    font-size: 16px;
    font-weight: 700;
	line-height: 1em;
    text-transform: capitalize;
    border: none;
    outline: none;
    padding: 17px 30px;
    transition: all 0.4s ease-in-out;
	overflow: hidden;
	z-index: 0;
}

.btn-default:hover{
	background-position: right center;
}

.btn-default.btn-highlighted{
	/* background: linear-gradient(var(--bg-color), var(--bg-color)) padding-box, linear-gradient(to left, var(--accent-color), var(--accent-secondary-color)) border-box; */
    /* border: 1px solid transparent; */
	border: 1px solid var(--accent-color);
	background: var(--bg-color);
	padding: 16px 30px;
}

.btn-default.btn-highlighted::before{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15%;
	right: 0;
    width: 0;
    height: 106%;
    /* background: linear-gradient(to left, var(--accent-color) 0%, var(--accent-secondary-color) 100%); */
	background: var(--accent-color);
    transform: skew(45deg);
    transition: all 0.4s ease-in-out;
    z-index: -1;
}

.btn-default.btn-highlighted:hover::before{
	width: 100%;
    transform: skew(0deg);
    left: 0;
}

.readmore-btn{
	position: relative;
    font-size: 16px;
    font-weight: 700;
	text-transform: capitalize;
	color: var(--accent-color);
	padding-right: 34px;
}

.readmore-btn::after{
	content: '';
    position: absolute;
	right: 0;
	top: 0;
    background: url('../images/arrow-accent.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 8px auto;
    border: 1px solid var(--divider-color);
    border-radius: 50%;
	width: 24px;
	height: 24px;
	transition: all 0.3s ease-in-out;
}

.readmore-btn:hover::after{
    border-color: var(--accent-color);
	transform: rotate(45deg);
}

.cb-cursor:before{
	background: linear-gradient(90.01deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%);
}

.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--bg-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	height: 100px;
	position: relative;
	width: 100px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 1px solid transparent;
	border-color: transparent var(--accent-color) transparent var(--accent-secondary-color);
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 66px;
	transform: translate(-50%, -50%);
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}

	100%{
		transform: rotate(360deg);
	}
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0;
}

.section-title.section-title-center{
	width: 100%;
	max-width: 700px;
	text-align: center;
	margin: 0 auto;
}

.section-title{
	margin-bottom: 40px;
}

.section-title h3{
	display: inline-block;
	position: relative;
	font-size: 14px;
    font-weight: 500;
	line-height: 1.2em;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--text-color);
	background: var(--divider-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 10px 50px;
    margin-bottom: 20px;
}

.section-title h3::before{
    content: '';
    position: absolute;
    display: block;
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    background: url('../images/icon-sparkle.svg') no-repeat;
    background-position: left center;
    background-size: cover;
    width: 16px;
    height: 16px;
}

.section-title h3::after{
    content: '';
    position: absolute;
    display: block;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    background: url('../images/icon-sparkle.svg') no-repeat;
    background-position: right center;
    background-size: cover;
    width: 16px;
    height: 16px;
}

.section-title h1{
	font-size: 70px;
	line-height: 1.1em;
	font-weight: 600;
    letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 48px;
	font-weight: 300;
	margin-bottom: 0;
	cursor: none;
}

.section-title h1 span,
.section-title h2 span{
	font-weight: 700;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
	transition: all 0.4s ease-in-out;
}

.section-title h1:hover span,
.section-title h2:hover span{
	background-position: right center;
}

.section-title p{
	margin-top: 20px;
	margin-bottom: 0;
}

.section-title-content p{
	margin: 0;
}

.section-btn{
	text-align: right;
}

.section-content-btn .section-btn{
	text-align: left;
	margin-top: 30px;
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	   03. Header css		 ****/
/************************************/

header.main-header{
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
}

header.main-header .header-sticky{
	position: relative;
	top: 0;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
	border-radius: 0;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-radius: 0;
    transform: translateY(0);
	background: var(--bg-color);
	border-bottom: 1px solid var(--divider-color);
}

.navbar{
	padding: 30px 0;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 20px;
}

.main-menu .nav-menu-wrapper .navbar-nav{
    background: var(--divider-color);
	border: 1px solid var(--divider-color);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
	border-radius: 30px;
	padding: 0 10px;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0;
	position: relative;
}

.main-menu ul li a{
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	padding: 13px 20px !important;
	border-radius: 100px;
	color: var(--primary-color);
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
    margin-top: 4px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul li a:focus-visible{
    box-shadow: none;
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scale(1,0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 235px;
	border-radius: 2px;
	position: absolute;
	left: 0;
	top: 100%;
    background: linear-gradient(110.01deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 235px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scale(1,1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	color: var(--primary-color);
	padding: 6px 20px !important;
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--bg-color);
	background-color: transparent;
	padding: 6px 20px 6px 23px !important;
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.mobile-menu-toggle,
.mobile-menu-overlay{
	display: none;
}

.mobile-menu-toggle{
	display: none;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
	border: none;
	border-radius: 8px;
	width: 38px;
	height: 38px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.mobile-menu-toggle:hover{
	background-position: right center;
}

.mobile-menu-toggle span{
	width: 22px;
	height: 3px;
	background: var(--primary-color);
	margin: 2px 0;
	transition: all 0.3s ease;
	border-radius: 2px;
	display: block;
}

.mobile-menu-overlay{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--bg-color);
	z-index: 9999;
	display: none;
}

.mobile-menu-overlay.active{
	display: block;
}

.mobile-menu-content{
	padding: 30px;
	height: 100%;
	overflow-y: auto;
}

.mobile-menu-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--divider-color);
}

.mobile-menu-header img{
	max-width: 150px;
}

.mobile-menu-close{
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	font-size: 24px;
	color: var(--primary-color);
	cursor: pointer;
	transition: all 0.4s ease-in-out;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mobile-menu-close:hover{
	background-position: right center;
}

.mobile-menu-nav{
	list-style: none;
	padding: 0;
	margin: 0;
}

.mobile-menu-item{
	background: var(--secondary-color);
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	margin-bottom: 15px;
	overflow: hidden;
}

.mobile-menu-item > a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 20px;
	color: var(--primary-color);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
}

.mobile-menu-item > a:hover{
	color: var(--accent-color);
}

.mobile-submenu-toggle{
	background: var(--divider-color);
	border-radius: 50%;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	transition: all 0.3s ease;
}

.mobile-menu-item.active .mobile-submenu-toggle{
	background: var(--accent-color);
	transform: rotate(45deg);
}

.mobile-submenu{
	list-style: none;
	padding: 0;
	margin: 0;
	display: none;
	background: var(--bg-color);
	border-top: 1px solid var(--divider-color);
}

.mobile-menu-item.active .mobile-submenu{
	display: block;
}

.mobile-submenu li{
	border-bottom: 1px solid var(--divider-color);
}

.mobile-submenu li:last-child{
	border-bottom: none;
}

.mobile-submenu a{
	display: block;
	padding: 12px 30px;
	color: var(--text-color);
	font-size: 15px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.mobile-submenu a:hover{
	color: var(--accent-color);
	padding-left: 35px;
}

.mobile-menu-footer{
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid var(--divider-color);
	text-align: center;
}

.responsive-menu{
	top: 0;
	position: relative;
}

.slicknav_btn{
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 8px;
	transition: all 0.4s ease-in-out;
}

.navbar-toggle a.slicknav_btn.slicknav_open{
	background-position: right center;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--primary-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
	background-color: var(--primary-color);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
	background-color: var(--primary-color);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: linear-gradient(110deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 400;
	text-transform: capitalize;
	padding: 7px 20px;
	color: var(--primary-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,	
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--bg-color);
}

.slicknav_menu ul ul li a{
    padding: 7px 20px 7px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--primary-color);
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--bg-color);
}

/************************************/
/***        04. Hero css	      ***/
/************************************/

.hero{
	position: relative; 
    background: url('../images/hero-bg-shape.webp') no-repeat;
    background-position: top center;
    background-size: auto;
	padding: 340px 0 80px;
	z-index: 1;
}

.hero::before{
    content: '';
    display: block;
    position: absolute;
    left: 160px;
    top: 20%;
    background: url(../images/section-bg-shape-1.png) no-repeat;
    background-position: left center;
    background-size: cover;
    width: 113px;
    height: 110px;
    animation: shape1 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

@keyframes shape1{
	from{
		transform: translateY(0) rotate(0deg);
	  }
	to{
		transform: translateY(50px) rotate(360deg);
	}
}

.hero::after{
    content: '';
    display: block;
    position: absolute;
    right: 220px;
    top: 20%;
    background: url(../images/section-bg-shape-2.png) no-repeat;
    background-position: right center;
    background-size: cover;
    width: 82px;
    height: 110px;
    animation: shape1 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

.hero.hero-bg-image{
	position: relative;
	background: url('../images/hero-bg.webp') no-repeat;
	background-position: center center;
	background-size: cover;
}

.hero.hero-bg-image::before{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(#06060660, var(--bg-color));
    opacity: 100%;
    width: 100%;
    height: 100%;
    animation: none;
    z-index: 1;
}

.hero.hero-bg-image::after{
    display: none;
}

.hero.hero-bg-image.hero-video .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

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

.hero-content{
    position: relative;
    width: 100%;
    max-width: 840px;
    margin: 0 auto;
	text-align: center;
    z-index: 2;
}

.hero-content::before{
    content: '';
    display: block;
    position: absolute;
    left: -28%;
    bottom: 20%;
    background: url(../images/section-bg-shape-3.png) no-repeat;
    background-position: left center;
    background-size: cover;
    width: 81px;
    height: 85px;
    animation: shape2 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

@keyframes shape2{
	from{
		transform: translateY(0) rotate(0deg);
	  }
	to{
		transform: translateY(50px) rotate(-360deg);
	}
}

.hero-content::after{
    content: '';
    display: block;
    position: absolute;
    right: -28%;
    bottom: 20%;
    background: url(../images/section-bg-shape-4.png) no-repeat;
    background-position: right center;
    background-size: cover;
    width: 122px;
    height: 126px;
    animation: shape2 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

.hero-content .section-title{
    position: relative;
    z-index: 2;
}

.hero.hero-bg-image .hero-content::after,
.hero.hero-bg-image .hero-content::before{
    display: none;
}

.hero-btn{
    position: relative;
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px 30px;
    z-index: 2;
}

.hero-company-slider{
	text-align: center;
	margin-top: 80px;
}

.hero-company-slider p{
	font-size: 20px;
	margin-bottom: 30px;
}

.company-logo img{
	width: 100%;
	max-height: 40px;
}

/************************************/
/***       05. About Us css	      ***/
/************************************/

.about-us{
	padding: 80px 0 50px;
}

.about-us .section-title.section-title-center{
	max-width: 1080px;
}

.about-us .section-title h2 span{
	background: var(--accent-secondary-color);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 5px;
}

.about-us .section-title h2 span img{
	max-width: 20px;
}

.about-us .section-title h2 span:nth-child(2){
	background: var(--accent-color);
}

.text-effect .line{
  width: 100%;
  color: var(--dark-divider-color);
  background: linear-gradient(120deg, var(--primary-color), var(--primary-color)) no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: 0%;
}

.about-us-box{
	background: var(--secondary-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
}

.about-us-item{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	margin-bottom: 40px;
}

.about-item-content{
	width: calc(100% - 90px);
}

.about-item-content h3{
	font-size: 16px;
	line-height: 1.3em;
	margin-bottom: 30px;
}

.about-item-content h2{
	font-size: 48px;
	font-weight: 300;
}

.about-us-item .icon-box{
	position: relative;
	background: var(--bg-color);
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.about-us-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(120deg, var(--accent-color), var(--accent-secondary-color)) no-repeat;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.about-us-box:hover .about-us-item .icon-box::before{
	transform: scale(1);
}

.about-us-item .icon-box img{
	position: relative;
	max-width: 20px;
	z-index: 1;
}

.about-item-image{
	width: 100%;
	align-content: end;
	text-align: left;
}

.about-item-image img{
	max-height: 80px;
}

/************************************/
/***     06. Our Services css     ***/
/************************************/

.our-services{
    padding: 80px 0;
}

.service-item{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border: 1px solid var(--divider-color);
    background: url('../images/service-item-bg.svg'), var(--secondary-color);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 30px;
    transition: all 0.4s ease-in-out;
}

.service-item:hover{
    transform: translateY(-5px);
}

.service-item-content{
    margin-bottom: 30px;
}

.service-item-content h3{
    font-size: 20px;
    margin-bottom: 15px;
}

.service-item-content p{
    margin-bottom: 0;
}

.service-item-content h3 a{
    color: inherit;
}

.service-item-image{
    width: 100%;
    text-align: center;
    align-content: center;
}

.service-item-image figure{
    display: block;
}

.service-list{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    margin-top: 30px;
}

.service-list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.service-list ul li{
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url('../images/icon-sparkle.svg') no-repeat;
    background-position: left 15px center;
    background-size: 20px auto;
    line-height: 1.3em;
    border-radius: 100px;
    padding: 10px 15px 10px 45px;
}

/************************************/
/***     07. How It Work css      ***/
/************************************/

.how-it-work{
    padding: 80px 0;
}

.how-work-item{
    background: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 40px 35px;
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.how-work-item:last-child{
    margin-bottom: 0;
}

.how-work-header{
    border-right: 1px solid var(--divider-color);
    margin-right: 40px;
    padding-right: 40px;
}

.how-work-header .icon-box{
    position: relative;
    background: var(--accent-color);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.how-work-item .how-work-header .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(120deg, var(--accent-color), var(--accent-secondary-color)) no-repeat;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.how-work-item:hover .how-work-header .icon-box::before{
	transform: scale(1);
}

.how-work-header .icon-box img{
    position: relative;
    max-width: 30px;
    z-index: 1;
}

.how-work-step-no{
    text-align: center;
    margin-top: 15px;
}

.how-work-step-no p{
    color: var(--primary-color);
    text-transform: uppercase;
    margin: 0;
}

.how-work-item-content{
    width: calc(100% - 150px);
}

.how-work-item-content h3{
    font-size: 20px;
    margin-bottom: 15px;
}

.how-work-item-content p{
    margin: 0;
}

.how-work-video-content{
    position: sticky;
    top: 30px;
    margin-left: 15px;
}

.how-work-video{
    width: 100%;
}

.how-work-video video{
    width: 100%;
    height: 700px;
    object-fit: cover;
    border-radius: 20px;
    overflow: hidden;
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.how-work-video-content .section-footer-text{
    margin: 30px 30px 0 30px;
}

.section-footer-text p{
	margin-bottom: 0;
}

.section-footer-text span{
	font-size: 14px;
	font-weight: 500;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
	color: var(--primary-color);
	padding: 3px 12px;
	border-radius: 99px;
	margin-right: 10px;
	transition: all 0.4s ease-in-out;
}

.section-footer-text p:hover span{
	background-position: right center;
}

.section-footer-text p a{
	font-weight: 600;
	text-transform: capitalize;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--primary-color);
}

/************************************/
/***       08. Our Facts css      ***/
/************************************/

.our-facts{
    padding: 80px 0;
}

.facts-item{
    background: var(--secondary-color) url('../images/facts-item-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 40px 35px;
}

.facts-item-title{
    margin-bottom: 60px;
}

.facts-item-title h3{
    font-size: 20px;
    text-transform: capitalize;
}

.facts-item-counter{
    margin-bottom: 60px;
}

.facts-item-counter h2{
    font-size: 48px;
    color: var(--accent-color);
    margin-bottom: 5px;
}

.facts-item-counter p{
    margin: 0;
}

.facts-item-content{
    background: var(--bg-color);
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 20px;
}

.facts-item-content p{
    margin: 0;
}

/************************************/
/***     09. Our Projects css     ***/
/************************************/

.our-projects{
    padding: 80px 0 50px;
}

.our-projects .container-fluid{
    max-width: 1600px;
}

.project-item{
	position: relative;
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.project-image a{
	display: block;
	cursor: none;
}

.project-image figure{
	display: block;
	border-radius: 20px;
	overflow: hidden;
}

.project-image figure:before{
	content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
	background: linear-gradient(180deg, rgba(6, 6, 6, 0) 49.26%, rgba(6, 6, 6, 0.6) 86.32%);
    z-index: 1;
}

.project-image img{
	width: 100%;
    aspect-ratio: 1 / 1.352;
	object-fit: cover;
	border-radius: 20px;
	transition: all 0.4s ease-in-out;
}

.project-item:hover .project-image img{
	transform: scale(1.1);
    filter: blur(5px);
}

.project-btn{
	position: absolute;
    top: 50px;
    right: 30px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    z-index: 1;
}

.project-item:hover .project-btn{
    top: 30px;
	opacity: 1;
	visibility: visible;
}

.project-btn a{
	position: relative;
    display: block;
    background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

.project-btn a:hover{
    background-position: right center;
}

.project-btn a img{
    width: 100%;
    max-width: 20px;
    transition: all 0.3s ease-in-out;
}

.project-btn a:hover{
	transform: rotate(45deg);
}

.project-content{
	position: absolute;
	right: 30px;
	bottom: 30px;
	left: 30px;
	z-index: 2;
}

.project-content h3{
    font-size: 20px;
	text-transform: capitalize;
    margin-bottom: 10px;
}

.project-content h3 a{
    color: inherit;
}

.project-content p{
    padding-left: 25px;
    background: url('../images/icon-sparkle.svg') no-repeat;
    background-position: left center;
    background-size: 18px auto;
    text-transform: capitalize;
    margin: 0;
}

/************************************/
/***      10. Real Impact css     ***/
/************************************/

.real-impacts{
    padding: 80px 0;
}

.real-impact-item{
    height: calc(100% - 30px);
    margin-bottom: 30px;
}

.real-impact-image{
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url('../images/real-impact-image-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    margin-bottom: 30px;
    padding: 40px;
}

.real-impact-image h3{
    font-size: 20px;
    line-height: 1.3em;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 40px;
    padding-bottom: 40px;
}

.impact-chatbot-list{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.chatbot-item{
    width: 50px;
    height: 50px;
    background-color: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.real-impact-image .chatbot-item img{
    width: 100%;
    max-width: 30px;
}

.real-impact-image figure img{
    aspect-ratio: 1 / 0.57;
    object-fit: cover;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
}

.real-impact-content.highlighted-content{
    background-color: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
}

.customer-review-images{
    display: inline-flex;
    margin-right: 15px;
}

.customer-image{
    margin-left: -14px;
}

.customer-image:first-child{
    margin: 0;
}

.customer-image figure{
    display: block;
    width: 40px;
    border-radius: 50%;
}

.customer-image img{
    width: 100%;
    max-width: 40px;
    border-radius: 50%;
}

.real-impact-content p{
    margin: 0;
}

/************************************/
/***        11. CTA Box css       ***/
/************************************/

.cta-box{
    padding: 80px 0;
}

.cta-box-box{
    position: relative;
    background: var(--secondary-color) url('../images/cta-box-bg.svg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 120px 0;
}

.cta-box-box::before{
    content: '';
    display: block;
    position: absolute;
    left: 60px;
    top: 60px;
    background: url(../images/section-bg-shape-1.png) no-repeat;
    background-position: left top;
    background-size: cover;
    width: 113px;
    height: 110px;
    animation: shape1 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

.cta-box-box::after{
    content: '';
    display: block;
    position: absolute;
    right: 60px;
    bottom: 80px;
    background: url(../images/section-bg-shape-2.png) no-repeat;
    background-position: right bottom;
    background-size: cover;
    width: 82px;
    height: 110px;
    animation: shape1 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

.cta-box-content{
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    z-index: 1;
}

.cta-box-body{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

/************************************/
/***      12. What We Do css      ***/
/************************************/

.what-we-do{
    padding: 80px 0;
}

.what-we-box{
    background: var(--secondary-color) url('../images/what-we-do-box-bg.svg');
    background-position: top left;
    background-repeat: no-repeat;
    background-size: auto;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 50px 45px;
    text-align: center;
    margin-right: 15px;
}

.what-we-box h3{
    font-size: 20px;
    line-height: 1.3em;
    margin-bottom: 50px;
}

.what-we-img img{
    width: 100%;
}

.what-we-img-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.what-we-img-list ul li{
    width: auto;
    line-height: 1.3em;
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url(../images/icon-sparkle-gradient.svg) no-repeat;
    background-position: left 15px center;
    background-size: 20px auto;
    border-radius: 100px;
    padding: 10px 15px 10px 45px;
}

.what-we-do-content{
    margin-left: 15px;
}

.what-we-do-body{
    margin-bottom: 40px;
}

.what-we-do-body ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.what-we-do-body ul li{
    position: relative;
    line-height: normal;
    border: 1px solid var(--divider-color);
    background: var(--secondary-color);
    border-radius: 100px;
    padding: 10px 15px 10px 45px;
}

.what-we-do-body ul li::before{
    content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    top: 12px;
    left: 15px;
    font-weight: 900;
    font-size: 18px;
    color: var(--accent-color);
}

/************************************/
/***   13. Our Testimonial css    ***/
/************************************/

.our-testimonials{
    padding: 80px 0;
}

.testimonials-box{
    background: var(--secondary-color) url('../images/testimonials-box-bg.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 80px;
    overflow: hidden;
}

.testimonials-content,
.testimonial-slider{
    width: 50%;
}

.testimonials-body{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 60px;
}

.testimonials-counter-item h2{
    color: var(--accent-color);
    font-size: 48px;
    margin-bottom: 5px;
}

.testimonials-counter-item p{
    text-transform: capitalize;
    margin: 0;
}

.testimonial-slider{
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 25px auto;
}

.testimonial-slider::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--divider-color);
    border-radius: 20px;
    transform: rotate(-9deg);
    z-index: 0;
}

.testimonial-slider .swiper{
    position: relative;
    background: linear-gradient(136.83deg, var(--accent-color) 2.01%, var(--accent-secondary-color) 97.82%);
    border: 1px solid var(--secondary-color);
    border-radius: 20px;
    padding: 30px 30px 90px 30px;
    z-index: 1;
} 

.testimonial-slider .swiper-wrapper{
    cursor: none;
} 

.testimonial-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding-bottom: 30px;
    gap: 10px;
}

.testimonial-author{
    display: flex;
    align-items: center;
}

.author-image{
    display: inline-block;
    margin-right: 15px;
}

.author-image figure{
    border-radius: 50%;
    display: block;
}

.author-image img{
    width: 100%;
    max-width: 50px;
    border-radius: 50%;
}

.author-content h3{
    font-size: 20px;
    text-transform: capitalize;
	color: var(--primary-color);
    margin-bottom: 5px;
}

.author-content p{
	color: var(--primary-color);
    text-transform: capitalize;
    margin-bottom: 0;
}

.testimonial-quotes-img img{
    width: 100%;
    max-width: 30px;
}

.testimonial-content p{
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}

.testimonial-slider .testimonial-pagination{
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 2;
}

.testimonial-slider .testimonial-pagination .swiper-pagination-bullet{
	position: relative;
    height: 10px;
    width: 10px;
    background: var(--primary-color);
	opacity: 1;
    margin: 0 10px;
	transition: all 0.3s ease-in-out;
}

.testimonial-slider .testimonial-pagination .swiper-pagination-bullet:before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 0;
    width: 0;
    border-radius: 50%;
	transition: all 0.3s ease-in-out;
}

.testimonial-slider .testimonial-pagination .swiper-pagination-bullet-active{
	background: var(--primary-color);
}

.testimonial-slider .testimonial-pagination .swiper-pagination-bullet-active:before{
	border: 1px solid var(--primary-color);
	height: 22px;
	width: 22px;
}

/************************************/
/***        14. Our FAQs css      ***/
/************************************/

.our-faqs{
    padding: 80px 0;
}

.faqs-content{
    position: sticky;
    top: 30px;
    margin-right: 30px;
}

.faq-accordion .accordion-item{
	position: relative;
    background: var(--secondary-color);
    border: 1px solid var(--divider-color);
	border-radius: 10px;
	margin-bottom: 30px;
    padding: 0;
	overflow: hidden;
}

.faq-accordion .accordion-item:last-child{
	margin-bottom: 0;
}

.faq-accordion .accordion-header .accordion-button{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.333em;
    background: transparent;
	color: var(--primary-color);
	padding: 20px 50px 20px 20px;
}

.faq-accordion .accordion-item .accordion-button::after, 
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\f107';
    font-family: 'FontAwesome';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: var(--primary-color);
    transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
    transform:  translateY(-50%) rotate(180deg);
}

.faq-accordion .accordion-item .accordion-body{
    border-top: 1px solid var(--divider-color);
	padding: 20px;
}

.faq-accordion .accordion-item .accordion-body p{
    margin: 0;
}

/************************************/
/***       15. Our Blog css       ***/
/************************************/

.our-blog{
    padding: 80px 0 130px;
}

.post-item{
    position: relative;
    background: var(--secondary-color) url('../images/post-item-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 40px 35px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    overflow: hidden;
}

.post-meta{
    margin-bottom: 20px;
}

.post-meta ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.post-meta ul li{
    line-height: normal;
    text-transform: capitalize;
}

.post-meta ul li a{
    color: inherit;
}

.post-meta ul li i{
    color: var(--accent-color);
    font-size: 18px;
    margin-right: 5px;
}

.post-item-content{
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.post-item-content h2{
    font-size: 20px;
    line-height: 1.4em;
    margin-bottom: 15px;
}

.post-item-content h2 a{
    color: inherit;
}

.post-item-content p{
    margin: 0;
}

/************************************/
/***        16. Footer css        ***/
/************************************/

.main-footer{
    background: url('../images/footer-bg.png') no-repeat;
    background-position: bottom center;
    background-size: auto;
    border-top: 1px solid var(--divider-color);
    padding: 100px 0 0;
}

.main-footer .section-row{
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 80px;
}

.footer-logo img{
    width: 100%;
    max-width: 202px;
}

.footer-contact-box{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.footer-contact-box .footer-links{
    width: calc(50% - 15px);
}

.footer-links h3{
    font-size: 20px;
    text-transform: capitalize;
    margin-bottom: 20px;
}

.footer-links p{
    margin-bottom: 2px;
}

.footer-links p:last-child{
    margin-bottom: 0;
}

.footer-links p a{
    color: inherit;
    transition: all 0.3s ease-in-out;
}

.footer-links p a:hover{
    color: var(--accent-color);
}

.footer-privacy-policy{
    margin-left: 20px;
}

.footer-newsletter-form .form-group{
	display: flex;
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 15px;
}

.footer-newsletter-form .form-group .form-control{
	width: 70%;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4em;
	color: var(--text-color);
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	padding: 0;
}

.footer-newsletter-form .form-group .form-control::placeholder{
	color: var(--text-color);
}

.footer-newsletter-form .form-group .newsletter-btn{
	width: 30%;
    font-size: 16px;
    font-weight: 700;
    text-transform: capitalize;
    color: var(--primary-color);
    background: transparent;
    border: none;
    text-align: right;
	padding: 0;
    transition: all 0.3s ease-in-out;
}

.footer-newsletter-form .form-group .newsletter-btn:hover{
    color: var(--accent-color);
}

.footer-newsletter-form .form-group .newsletter-btn i{
    font-size: 18px;
    color: var(--accent-color);
    margin-left: 8px;
}

.footer-copyright-text{
    border-top: 1px solid var(--divider-color);
    text-align: center;
    margin-top: 80px;
    padding: 60px 0;
}

.footer-copyright-text p{
    margin: 0;
}

.footer-bottom-links{
    margin-bottom: 40px;
}

.footer-links-group h4{
    font-size: 20px;
    color: var(--primary-color);
    text-transform: capitalize;
    margin-bottom: 20px;
}

.footer-links-group ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 30px;
}

.footer-links-group ul li a{
    color: var(--text-color);
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.footer-links-group ul li a:hover{
    color: var(--accent-color);
}

/************************************/
/***     17. About Us Page css    ***/
/************************************/

.page-header{
	position: relative;
    background: url('../images/page-header-bg.webp') no-repeat;
    background-position: center center;
    background-size: cover;
	padding: 265px 0 80px;
	z-index: 1;
}

.page-header::before{
    content: '';
    display: block;
    position: absolute;
    left: 160px;
    bottom: 20%;
    background: url('../images/section-bg-shape-1.png') no-repeat;
    background-position: left center;
    background-size: cover;
    width: 113px;
    height: 110px;
    animation: shape1 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

@keyframes shape1{
	from{
		transform: translateY(0) rotate(0deg);
	  }
	to{
		transform: translateY(50px) rotate(360deg);
	}
}

.page-header::after{
    content: '';
    display: block;
    position: absolute;
    right: 220px;
    top: 40%;
    background: url('../images/section-bg-shape-2.png') no-repeat;
    background-position: right center;
    background-size: cover;
    width: 82px;
    height: 110px;
    animation: shape1 20s infinite linear;
    animation-direction: alternate;
    z-index: 0;
}

.page-header-box{
    position: relative;
	text-align: center;
    z-index: 1;
}

.page-header-box h1{
	font-size: 70px;
    display: inline-block;
	line-height: 1.2em;
	font-weight: 600;
    letter-spacing: -0.02em;
	margin-bottom: 15px;
	cursor: none;
}

.page-header-box h1 span{
	font-weight: 700;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
	transition: all 0.4s ease-in-out;
}

.page-header-box h1:hover span{
	background-position: right center;
}

.page-header-box ol{
	margin: 0;
	padding: 0;
	justify-content: center;
}

.page-header-box ol li.breadcrumb-item{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	text-transform: capitalize;
	color: var(--text-color);
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.page-header-box ol li.breadcrumb-item.active{
	color: var(--text-color);
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
	content: "/";
    color: var(--text-color);
}

.our-approach{
    padding: 80px 0;
}

.approach-item{
    position: relative;
    display: flex;
    margin-bottom: 40px;
}

.approach-item:last-child{
    margin-bottom: 0;
}

.approach-item:after{
    content: "";
    display: block;
    position: absolute;
    left: 40px;
    bottom: -80px;
    border-left: 1px solid var(--divider-color);
    width: 1px;
    height: 100%;
}

.approach-item:last-child:after{
    display: none;
}

.approach-item .icon-box{
    position: relative;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    border-radius: 50%;
    margin-right: 40px;
}

.approach-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(120deg, var(--accent-color) 0, var(--accent-secondary-color) 100%);
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.approach-item:hover .icon-box::before{
	transform: scale(1);
}

.approach-item .icon-box img{
    position: relative;
    width: 100%;
    max-width: 40px;
    z-index: 1;
}

.approach-item-content{
    width: calc(100% - 120px);
}

.approach-item-content h3{
    font-size: 20px;
    text-transform: capitalize;
    margin-bottom: 10px;
}

.approach-item-content p{
    margin-bottom: 0;
}

.approach-image{
    position: relative;
    margin-left: 15px;
}

.approach-image figure{
    display: block;
    border-radius: 20px;
}

.approach-image img{
    width: 100%;
    aspect-ratio: 1 / 0.604;
    object-fit: cover;
    border-radius: 20px;
}

.approach-counter-box{
    position: absolute;
    left: 20px;
    bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    border-radius: 20px;
    backdrop-filter: blur(20px);
    --webkit-backdrop-filter: blur(20px);
    padding: 20px;
    overflow: hidden;
    z-index: 1;
}

.approach-counter-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--secondary-color);
    opacity: 21%;
    height: 100%;
    width: 100%;
    transition: all 0.4s ease-in-out;
}

.approach-counter-item{
    position: relative;
    border-right: 1px solid var(--divider-color);
    margin-right: 15px;
    padding-right: 15px;
    z-index: 1;
}

.approach-counter-item:last-child{
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}

.approach-counter-item h2{
    font-size: 48px;
    margin-bottom: 5px;
}

.approach-counter-item p{
    color: var(--primary-color);
    margin-bottom: 0;
}

.our-solution{
    padding: 80px 0;
}

.our-solution-content{
    position: sticky;
    top: 20px;
    margin-right: 15px;
}

.our-solution-content .section-title{
    margin-bottom: 0;
}

.solution-item-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.solution-item{
    width: calc(50% - 15px);
    padding: 20px;
}

.solution-item:nth-child(4n - 3),
.solution-item:nth-child(4n - 4){
    background: url('../images/solution-item-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border: 1px solid var(--divider-color);
    border-radius: 20px;
}

.solution-item .icon-box{
    position: relative;
    background: var(--accent-color);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.solution-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--primary-color) no-repeat;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.solution-item:hover .icon-box::before{
    transform: scale(1);
}

.solution-item .icon-box img{
    position: relative;
    max-width: 30px;
    transition: all 0.3s ease-in-out;
    z-index: 1;
}

.solution-item:hover .icon-box img{
    filter: brightness(0) invert(0);
}

.solution-item-content h3{
    font-size: 20px;
    margin-bottom: 15px;
}

.solution-item-content p{
    margin-bottom: 0;
}

.our-team{
	padding: 80px 0 50px;
}

.team-item{
    position: relative;
    border-radius: 20px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    overflow: hidden;
}

.team-image figure,
.team-image a{
    display: block;
    cursor: none;
}

.team-image img{
    width: 100%;
    aspect-ratio: 1 / 1.424;
    object-fit: cover;
	transition: all 0.4s ease-in-out; 
}

.team-item:hover .team-image img{
	transform: scale(1.1);
}

.team-body{
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url('../images/team-body-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    text-align: center;
    padding: 20px;
    overflow: hidden;
    z-index: 1;
}

.team-content h3{
    font-size: 20px;
    margin-bottom: 5px;
    text-transform: capitalize;
}

.team-content h3 a{
    color: inherit;
}

.team-content p{
    text-transform: capitalize;
    margin-bottom: 0;
}

.team-social-list{
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.team-item:hover .team-social-list{
    height: 38px;
    opacity: 1;
    visibility: visible;
    margin-top: 10px;
}

.team-social-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.team-social-list ul li{
    display: inline-block;
    margin-right: 10px;
}

.team-social-list ul li:last-child{
    margin: 0;
}

.team-social-list ul li a{
    background: var(--bg-color);
    border: 1px solid var(--divider-color);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.team-social-list ul li a:hover{
    background: var(--primary-color);
}

.team-social-list ul li a i{
    font-size: 18px;
    line-height: normal;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.our-faqs.about-our-faqs{
    padding: 80px 0 160px;
}

/************************************/
/***    18. Services Page css     ***/
/************************************/

.page-services{
    padding: 80px 0 50px;
}

/************************************/
/***    19. Service Single css    ***/
/************************************/

.page-service-single{
    padding: 80px 0 160px;
}

.page-single-sidebar{
    position: sticky;
    top: 30px;
    margin-right: 15px;
}

.page-catagery-list{
    background: var(--secondary-color) url('../images/sidebar-catagery-list-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
	border: 1px solid var(--divider-color);
    border-radius: 20px;
    margin-bottom: 60px;
	overflow: hidden;
}

.page-catagery-list h3{
	font-size: 20px;
    text-transform: capitalize;
    color: var(--primary-color);
    border-bottom: 1px solid var(--divider-color);
    padding: 30px;
}

.page-catagery-list ul{
    list-style: none;
    margin: 0;
    padding: 30px;
}

.page-catagery-list ul li{
    border-bottom: 1px solid var(--divider-color);
    line-height: 1.5em;
    padding-bottom: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease-in-out;
}

.page-catagery-list ul li:last-child{
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.page-catagery-list ul li a{
    position: relative;
	display: block;
    text-transform: capitalize;
    color: var(--primary-color);
	padding-right: 30px;
    transition: all 0.3s ease-in-out;
}

.page-catagery-list ul li a:hover{
    color: var(--accent-color);
}

.page-catagery-list ul li a::before{
	content: '';
    position: absolute;
	right: 0;
	top: 0;
    background: url('../images/arrow-accent.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 8px auto;
    border: 1px solid var(--divider-color);
    border-radius: 50%;
	width: 24px;
	height: 24px;
	transition: all 0.3s ease-in-out;
}

.page-catagery-list ul li a:hover:before{
	border-color: var(--accent-color);
	transform: rotate(45deg);
}

.sidebar-cta-box{
    position: relative;
    border-radius: 20px;
    padding: 30px;
    overflow: hidden;
}

.sidebar-cta-box::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('../images/sidebar-cta-box.webp') no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 30%;
    width: 100%;
    height: 100%;
}

.sidebar-cta-logo,
.sidebar-cta-content,
.sidebar-cta-contact{
    position: relative;
    z-index: 1;
}

.sidebar-cta-logo{
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    border-radius: 50%;
    margin-bottom: 30px;
}

.sidebar-cta-logo img{
    width: 100%;
    max-width: 48px;
}

.sidebar-cta-content{
    margin-bottom: 40px;
}

.sidebar-cta-content h3{
    font-size: 20px;
    margin-bottom: 20px;
}

.sidebar-cta-content p{
    margin: 0;
}

.sidebar-cta-contact ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-cta-contact ul li{
    width: 100%;
    margin-bottom: 20px;
}

.sidebar-cta-contact ul li:last-child{
    margin-bottom: 0;
}

.sidebar-cta-contact ul li a{
    display: inline-flex;
    align-items: center;
    line-height: 1.4em;
    color: var(--text-color);
    background: var(--divider-color);
    backdrop-filter: blur(10px);
    --webkit-backdrop-filter: blur(10px);
    padding: 10px 20px;
    border-radius: 100px;
    transition: all 0.4s ease-in-out;
}

.sidebar-cta-contact ul li a:hover{
    color: var(--primary-color);
}

.sidebar-cta-contact ul li a img{
    width: 100%;
    max-width: 20px;
    margin-right: 10px;
}

.page-single-image{
    margin-bottom: 40px;
}

.page-single-image figure{
    display: block;
    border-radius: 20px;
}

.page-single-image img{
    width: 100%;
    aspect-ratio: 1 / 0.598;
    object-fit: cover;
    border-radius: 20px;
}

.service-entry{
    margin-bottom: 60px;
}

.service-entry p{
    margin-bottom: 20px;
}

.service-entry p:last-child{
    margin-bottom: 0;
}

.service-entry h2{
    font-size: 48px;
    font-weight: 300;
    margin-bottom: 20px;
}

.service-entry h2 span{
    font-weight: 700;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
	transition: all 0.4s ease-in-out;
}

.service-entry h2:hover span{
	background-position: right center;
}

.service-entry ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.service-entry ul li{
    position: relative;
    width: calc(33.33% - 20px);
    line-height: 1.25em;
    background-color: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 100px;
    padding: 10px 15px 10px 45px;
}

.service-entry ul li::before{
    content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    top: 12px;
    left: 15px;
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
}

.service-solution-box,
.service-impact-box,
.service-innovation-box,
.building-smarter-box{
    margin-top: 60px;
}

.service-solution-steps{
    margin-top: 40px;
}

.service-impact-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url('../images/service-impact-list-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    margin-top: 40px;
    padding: 40px;
}

.service-impact-item{
    width: calc(33.33% - 20px);
}

.service-impact-item .icon-box{
    position: relative;
    background: var(--accent-color);
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.service-impact-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(120deg, var(--accent-color) 0, var(--accent-secondary-color) 100%) no-repeat;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.service-impact-item:hover .icon-box::before{
	transform: scale(1);
}

.service-impact-item .icon-box img{
    position: relative;
    max-width: 40px;
    z-index: 1;
}

.service-impact-item-content h3{
    font-size: 20px;
    margin-bottom: 15px;
}

.service-innovation-list{
    margin-top: 40px;
}

.building-steps-image{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 40px;
}

.building-smarter-steps,
.building-smarter-image{
    width: calc(50% - 15px);
}

.building-step-item{
    display: flex;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.building-step-item:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.building-step-no{
    margin-right: 30px;
}

.building-step-no h2{
    margin-bottom: 0;
    transition: all 0.3s ease-in-out;
}

.building-step-item:hover .building-step-no h2{
    color: var(--accent-color);
}

.building-step-content h3{
    font-size: 20px;
    margin-bottom: 15px;
}

.building-smarter-image figure{
    display: block;
    border-radius: 20px;
    height: 100%;
}

.building-smarter-image img{
    width: 100%;
    aspect-ratio: 1 / 0.68;
    object-fit: cover;
    border-radius: 20px;
}

/************************************/
/***     20. Blog Archive css     ***/
/************************************/

.page-blog{
	padding: 80px 0 160px;
}

.page-pagination{
    margin-top: 20px;
    text-align: center;
}

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--divider-color);
    color: var(--primary-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    font-weight: 600;
	line-height: 1em;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--accent-color);
}

/************************************/
/***     21. Blog Single css      ***/
/************************************/

.page-single-post{
	padding: 80px 0 160px;
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--primary-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--primary-color);
    margin-right: 5px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image figure{
	display: block;	
	border-radius: 20px;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
	border-radius: 20px;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-weight: 300;
	line-height: 1.2em;
	margin: 0 0 0.477em;
}

.post-entry h1{
	font-size: 70px;
}

.post-entry h2{
	font-size: 48px;
}

.post-entry h3{
	font-size: 40px;
}

.post-entry h4{
	font-size: 30px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 20px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 600;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 16px;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 15px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: url('../images/icon-blockquote.svg'), var(--secondary-color);
	background-repeat: no-repeat;
	background-position: 30px 30px;
    background-size: 45px;
    border: 1px solid var(--divider-color);
	border-radius: 20px;
    padding: 30px 30px 30px 90px;
    margin-bottom: 30px;
}

.post-entry blockquote p{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5em;
    color: var(--primary-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
    font-size: 20px;
	font-weight: 700;
    text-transform: capitalize;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    text-transform: capitalize;
    line-height: 1em;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    color: var(--white-color);
	border-radius: 100px;
    padding: 12px 20px;
	transition: all 0.3s ease-in-out;
}

.post-tags .tag-links a:hover{
	background-position: right center;
}

.post-social-sharing{
    text-align: right;
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    color: var(--primary-color);
	border-radius: 100px;
    width: 40px;
    height: 40px;
    transition: all 0.3s ease-in-out;
}

.post-social-sharing ul li:hover a{
    background-position: right center;
}

.post-social-sharing ul li a i{
    font-size: 18px;
    color: inherit;
}

/************************************/
/***     22. Projects Page css    ***/
/************************************/

.page-projects{
    padding: 80px 0 130px;
}

/************************************/
/***    23. Project Details css   ***/
/************************************/

.page-project-single{
    padding: 80px 0 160px;
}

.project-category{
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url('../images/sidebar-catagery-list-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    margin-bottom: 60px;
    padding: 30px;
    overflow: hidden;
}

.project-category-list ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.project-category-list ul li{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    text-transform: capitalize;
    color: var(--primary-color);
    border-bottom: 1px solid var(--divider-color);
    display: flex;
    gap: 25px;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.project-category-list ul li span{
    font-size: 16px;
    font-weight: 400;
}

.category-social-link{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 20px;
}

.category-social-link h3{
	font-size: 20px;
}

.category-social-link ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.category-social-link ul li a{
	background: var(--bg-color);
    border: 1px solid var(--divider-color);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.category-social-link ul li a:hover{
    background: var(--primary-color);
}

.category-social-link ul li a i{
	font-size: 18px;
    line-height: normal;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.project-entry{
    margin-bottom: 60px;
}

.project-entry p{
    margin-bottom: 20px;
}

.project-entry p:last-child{
    margin-bottom: 0;
}

.project-entry h2{
    font-size: 48px;
    font-weight: 300;
    margin-bottom: 20px;
}

.project-entry h2 span{
    font-weight: 700;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
	background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
	transition: all 0.4s ease-in-out;
}

.project-entry h2:hover span{
	background-position: right center;
}

.project-entry ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.project-entry ul li{
    position: relative;
    line-height: 1.5em;
    padding-left: 30px;
    margin-bottom: 15px;
}

.project-entry ul li:last-child{
    margin-bottom: 0;
}

.project-entry ul li::before{
    content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    top: 0;
    left: 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
}

.project-challenge-box,
.project-solution-box{
    margin-top: 60px;
}

.project-challenge-list{
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    margin-top: 40px;
    padding: 30px;
}

.project-solution-counters{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 60px;
    margin-top: 40px;
}

.solution-counter-item{
    width: calc(25% - 45px);
}

.solution-counter-item h2{
    margin-bottom: 5px;
}

/************************************/
/***      24. Team Page css       ***/
/************************************/

.page-team{
    padding: 80px 0 130px;
}

/************************************/
/***     25. Team Single css      ***/
/************************************/

.page-team-single{
    padding: 80px 0 160px;
}

.team-single-image{
    margin-bottom: 60px;
}

.team-single-image figure{
    display: block;
    border-radius: 20px;
}

.team-single-image img{
    width: 100%;
    aspect-ratio: 1 / 1.29;
    object-fit: cover;
    border-radius: 20px;
}

.team-member-info,
.team-expertise-box,
.team-guideline-box{
	margin-bottom: 60px;
}

.team-member-info{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px 80px;
}

.member-info-box{
	position: relative;
	width: calc(62% - 40px);
}

.member-info-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: -40px;
    background-color: var(--divider-color);
    width: 1px;
    height: 100%;
}

.member-info-box .section-title h3{
    font-size: 16px;
    letter-spacing: 0;
    text-transform: capitalize;
	padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
	margin-bottom: 10px;
}

.member-info-box .section-title h3::before,
.member-info-box .section-title h3::after{
    display: none;
}

.member-contact-list{
	width: calc(38% - 40px);
}

.member-social-links ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.member-social-links ul li{
    display: inline-block;
    border-radius: 50%;
    margin-right: 15px;
}

.member-social-links ul li:last-child{
	margin: 0;
}

.member-social-links ul li a{
	width: 36px;
	height: 36px;
    background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--primary-color);
	transition: all 0.4s ease-in-out;
}

.member-social-links ul li:hover a{
    background-position: right center;
}

.member-social-links ul li a i{
    font-size: 18px;
    color: inherit;
}

.member-contact-item{
	margin-bottom: 30px;
}

.member-contact-item:last-child{
	margin-bottom: 0;
}

.member-contact-item h3{
	font-size: 20px;
    display: inline-block;
	text-transform: capitalize;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
	margin-bottom: 10px;
}

.member-contact-item p{
	margin-bottom: 0;
}

.member-contact-item p a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.member-contact-item p a:hover{
	color: var(--accent-color);
}

.team-expertise-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
}

.skills-progress-bar{
	width: calc(50% - 15px);
}

.skills-progress-bar .skill-data{
	display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.skills-progress-bar .skill-data .skill-title,
.skills-progress-bar .skill-data .skill-no{
	font-size: 20px;
	font-weight: 700;
    color: var(--primary-color);
	text-transform: capitalize;
}

.skills-progress-bar .skillbar .skill-progress{
	position: relative;
	width: 100%;
	height: 16px;
    border: 1px solid var(--divider-color);
	background: var(--secondary-color);
	border-radius: 100px;
    overflow: hidden;
}

.skills-progress-bar .skillbar .skill-progress .count-bar{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	border-radius: 100px;
}

.team-guideline-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.team-guideline-list ul li{
    position: relative;
    width: calc(50% - 15px);
    line-height: 1.25em;
    background-color: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 100px;
    padding: 10px 15px 10px 40px;
}

.team-guideline-list ul li::before{
    content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    top: 10px;
    left: 15px;
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
}

.team-contact-form .contact-form{
    border: 1px solid var(--divider-color);
    border-radius: 20px;
}

/************************************/
/***   26. Testimonials Page css  ***/
/************************************/

.page-testimonials{
    padding: 80px 0 50px;
}

.page-testimonials .testimonial-item{
    position: relative;
    border: 1px solid var(--divider-color);
    background: var(--secondary-color) url('../images/testimonial-item-bg.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 30px 25px;
    overflow: hidden;
}

.page-testimonials .testimonial-item::before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(136.83deg, var(--accent-color) 2.01%, var(--accent-secondary-color) 97.82%);
    border-radius: 999px 999px 0 0;
    height: 0;
    width: 100%;
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.page-testimonials .testimonial-item.active:before,
.page-testimonials .testimonial-item:hover:before{
	border-radius: 0;
	height: 100%;
}

.page-testimonials .testimonial-item .testimonial-content,
.page-testimonials .testimonial-item .testimonial-header{
    position: relative;
    z-index: 1;
}

/************************************/
/***     27. Image Gallery css    ***/
/************************************/

.page-gallery{
	padding: 80px 0 130px;
}

.page-gallery-box .photo-gallery{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.page-gallery-box .photo-gallery a{
	cursor: none;
}

.page-gallery-box .photo-gallery figure{
	display: block;
	border-radius: 20px;
}

.page-gallery-box .photo-gallery img{
	width: 100%;
	aspect-ratio: 1 / 0.829;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/***    28. Video Gallery css     ***/
/************************************/

.page-video-gallery{
	padding: 80px 0 130px;
}

.video-gallery-image{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.video-gallery-image a{
	position: relative;
	display: block;
	cursor: none;
}

.video-gallery-image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--secondary-color);
	border-radius: 20px;
    opacity: 0%;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before{
    opacity: 40%;
    visibility: visible;
    transform: scale(1);
}

.video-gallery-image a::after{
    content: '\f04b';
	font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
	font-size: 20px;
	background: linear-gradient(136.83deg, var(--accent-color) 2.01%, var(--accent-secondary-color) 97.82%);
	color: var(--primary-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    cursor: none;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.video-gallery-image:hover a::after{
    opacity: 1;
    visibility: visible;
}

.video-gallery-image img{
	width: 100%;
	aspect-ratio: 1 / 0.829;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/***      29. FAQs Page css       ***/
/************************************/

.page-faqs{
	padding: 80px 0 160px;
}

.page-faqs .page-faq-accordion{
    margin-bottom: 60px;
}

.page-faqs .page-faq-accordion:last-child{
    margin-bottom: 0px;
}

/************************************/
/***    30. Contact Us Page css   ***/
/************************************/

.page-contact-us{
	padding: 80px 0 160px;
}

.conatct-us-form{
	display: flex;
	flex-wrap: wrap;
	border-radius: 40px;
    border: 1px solid var(--divider-color);
	overflow: hidden;
}

.contact-form{
	background: var(--secondary-color) url('../images/contact-form-bg.png') no-repeat;
    background-position: center center;
    background-size: cover;
	padding: 40px;
}

.contact-form form .form-control{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--text-color);
    background-color: var(--secondary-color);
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 17px 20px;
    outline: none;
    box-shadow: none;
}

.contact-form form .form-control::placeholder{
    color: var(--text-color);
}

.contact-form form .btn-default{
	width: 100%;
	padding: 17px;
}

.conatct-us-form .contact-form,
.google-map-iframe{
	width: 50%;
}

.google-map-iframe iframe{
	width: 100%;
	height: 100%;
}

.contact-info-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
    margin-top: 160px;
}

.contact-info-item{
	position: relative;
	width: calc(25% - 22.5px);
    border: 1px solid var(--divider-color);
	background: var(--secondary-color) url('../images/contact-info-item-bg.png') no-repeat;
    background-position: center center;
    background-size: cover;
	border-radius: 20px;
    text-align: center;
	padding: 30px;
	overflow: hidden;
}

.contact-info-item .icon-box,
.contact-info-content{
	position: relative;
	z-index: 1;
}

.contact-info-item .icon-box{
    position: relative;
    background: var(--accent-color);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
	margin: 0 auto 40px;
}

.contact-info-item .icon-box::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(120deg, var(--accent-color), var(--accent-secondary-color)) no-repeat;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.contact-info-item:hover .icon-box::before{
	transform: scale(1);
}

.contact-info-item .icon-box img{
    position: relative;
	width: 100%;
	max-width: 30px;
    z-index: 1;
}

.contact-info-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 15px;
}

.contact-info-content p{
	margin-bottom: 2px;
}

.contact-info-content p:last-child{
	margin-bottom: 0;
}

.contact-info-content p a{
	color: inherit;
}

/************************************/
/***    31. 404 Error Page css    ***/
/************************************/

.error-page{
	padding: 80px 0 160px;
}

.error-page-image{
	text-align: center;
	margin-bottom: 30px;
}

.error-page-image img{
	width: 100%;
	max-width: 45%;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/************************************/
/***   Mobile Quick Footer css    ***/
/************************************/

.mobile-quick-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--secondary-color);
    border-top: 1px solid var(--divider-color);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 999;
}

.quick-access-buttons {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 12px 20px;
}

.quick-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--text-color);
    transition: all 0.3s ease-in-out;
    padding: 8px 12px;
    border-radius: 12px;
    min-width: 70px;
}

.quick-btn:hover {
    color: var(--primary-color);
    background: var(--divider-color);
    transform: translateY(-2px);
}

.quick-btn i {
    font-size: 20px;
    margin-bottom: 4px;
    color: var(--accent-color);
}

.quick-btn span {
    font-size: 12px;
    font-weight: 500;
    text-transform: capitalize;
}

.quick-btn.email-btn:hover i {
    color: var(--accent-color);
}

.quick-btn.call-btn:hover i {
    color: #28a745;
}

.quick-btn.book-btn:hover i {
    color: var(--accent-secondary-color);
}

/************************************/
/***      32. Responsive css      ***/
/************************************/

@media only screen and (max-width: 1600px){

    .our-projects .container-fluid{
        max-width: 100%;
    }
}

@media only screen and (max-width: 1440px){

    .hero::before{
        left: 30px;
    }

    .hero::after{
        right: 30px;
    }

    .hero-content::before{
        left: -20%;
    }

    .hero-content::after{
        right: -20%;
    }

    .page-header::before{
        left: 30px;
    }

    .page-header::after{
        right: 30px;
    }
}

@media only screen and (max-width: 1024px){

    .hero-content::before{
        left: -5%;
    }

    .hero-content::after{
        right: -5%;
    }
}

@media only screen and (max-width: 991px){

	.navbar{
		padding: 20px 0;
	}

	.mobile-menu-toggle{
        display: flex;
    }

    .main-menu,
    .header-btn{
        display: none;
    }

	.header-btn{
		display: none;
	}

	.btn-default{
		padding: 14px 20px;
	}

	.btn-default.btn-highlighted{
		padding: 13px 20px;
	}

	.section-row{
		margin-bottom: 40px;
	}

	.section-title.section-title-center{
		max-width: 100%;
	}

	.section-title{
		margin-bottom: 30px;
	}

	.section-title h3{
		padding: 10px 30px;
		margin-bottom: 15px;
	}

	.section-title h3::before{
		left: 10px;
	}

	.section-title h3::after{
		right: 10px;
	}

	.section-title h1{
		font-size: 50px;
	}

	.section-title h2{
		font-size: 38px;
	}

	.section-title p{
		margin-top: 15px;
	}

	.section-title p span{
		font-size: 18px;
	}

	.section-title-content{
		margin-top: 15px;
	}

	.section-btn{
		text-align: left;
		margin-top: 15px;
	}

	.section-content-btn .section-btn{
		margin-top: 15px;
	}

	.hero{
		background-size: 165% auto;
		padding: 150px 0 40px;
	}

    .hero::before{
        width: 80px;
        height: 77px;
        opacity: 30%;
    }

    .hero::after{
        width: 52px;
        height: 80px;
        opacity: 30%;
    }

    .hero-content::before{
        left: 5%;
        width: 51px;
        height: 55px;
        opacity: 30%;
    }

    .hero-content::after{
        right: 5%;
        width: 72px;
        height: 76px;
        opacity: 30%;
    }

	.hero-btn{
		margin-top: 30px;
	}	

	.hero-company-slider{
		margin-top: 40px;
	}

	.hero-company-slider p{
		margin-bottom: 20px;
	}

	.about-us{
		padding: 40px 0 10px;
	}

	.about-us-box{
		padding: 20px;
	}

	.about-us-item{
		gap: 20px;
		margin-bottom: 30px;
	}

	.about-item-content{
		width: calc(100% - 60px);
	}

	.about-item-content h3{
		margin-bottom: 20px;
	}

	.about-item-content h2{
		font-size: 38px;
	}

	.our-services{
        padding: 40px 0;
    }

    .service-item{
        display: block;
        padding: 20px;
    }

    .service-item-content{
        margin-bottom: 20px;
    }

    .service-list{
        margin-top: 10px;
    }

    .service-list ul{
        gap: 15px 12px;
    }

    .service-list ul li{
        background-size: 18px auto;
        padding: 8px 15px 8px 40px;
    }

    .how-it-work{
        padding: 40px 0;
    }

    .how-work-content{
        margin-bottom: 30px;
    }

    .how-work-item{
        padding: 30px;
        margin-bottom: 30px;
    }

    .how-work-header{
        margin-right: 30px;
        padding-right: 30px;
    }

    .how-work-item-content{
        width: calc(100% - 130px);
    }

    .how-work-video-content{
        position: initial;
        top: 0px;
        margin-left: 0;
    }

    .how-work-video video{
        height: 500px;
    }

    .our-facts{
        padding: 40px 0;
    }

    .facts-item{
        padding: 30px 25px;
    }

    .facts-item-counter,
    .facts-item-title{
        margin-bottom: 40px;
    }

    .facts-item-counter h2{
        font-size: 38px;
    }

    .facts-item-content{
        padding: 15px;
    }

    .our-facts .section-footer-text{
        margin-top: 10px;
    }

	.our-projects{
        padding: 40px 0 10px;
    }

    .project-image img{
        aspect-ratio: 1 / 1.1;
    }

    .project-content{
        right: 20px;
        bottom: 20px;
        left: 20px;
    }

    .project-btn{
        right: 20px;
    }

    .project-item:hover .project-btn{
        top: 20px;
    }

    .project-btn a{
        width: 50px;
        height: 50px;
    }

    .project-btn a img{
        max-width: 16px;
    }

	.real-impacts{
        padding: 40px 0 10px;
    }

    .real-impact-image{
        padding: 30px;
        margin-bottom: 20px;
    }

    .real-impact-image h3{
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .impact-chatbot-list{
        gap: 10px;
    }

    .real-impact-image .chatbot-item img{
        max-width: 24px;
    }

	.cta-box{
        padding: 40px 0;
    }

    .cta-box-box{
        padding: 50px 20px;
    }

    .cta-box-box::before{
        left: 30px;
        top: 30px;
        width: 80px;
        height: 77px;
        opacity: 30%;
    }

    .cta-box-box::after{
        right: 30px;
        width: 52px;
        height: 80px;
        opacity: 30%;
    }

	.what-we-do{
        padding: 40px 0;
    }

    .what-we-box{
        padding: 40px 35px;
        margin-right: 0;
        margin-bottom: 30px;
    }

    .what-we-box h3{
        margin-bottom: 30px;
    }

    .what-we-img-list ul li{
        padding: 8px 15px 8px 40px;
    }

    .what-we-do-content{
        margin-left: 0;
    }

    .what-we-do-body{
        margin-bottom: 30px;
    }

    .what-we-do-body ul{
        gap: 20px;
    }

    .what-we-do-body ul li{
        padding: 8px 15px 8px 40px;
    }

    .what-we-do-body ul li::before{
        font-size: 16px;
    }

	.our-testimonials{
        padding: 40px 0;
    }

    .testimonials-box{
        padding: 50px 20px;
    }

    .testimonials-content,
    .testimonial-slider{
        width: 100%;
    }

    .testimonials-content{
        margin-bottom: 30px;
    }

    .testimonials-counter-item h2{
        font-size: 38px;
    }

    .testimonial-header{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .testimonial-content p{
        font-size: 16px;
    }

	.our-faqs{
        padding: 40px 0;
    }

    .faqs-content{
        padding-left: 0;
        position: static;
        margin: 0 0 30px;
    }

    .faq-accordion .accordion-item{
        margin-bottom: 20px;
    }

    .faq-accordion .accordion-header .accordion-button{
        padding: 15px 45px 15px 15px;
    }

    .faq-accordion .accordion-item .accordion-button::after,
    .faq-accordion .accordion-item .accordion-button.collapsed::after{
        font-size: 20px;
        right: 15px;
    }

    .faq-accordion .accordion-item .accordion-body{
        padding: 15px;
    }

	.our-blog{
        padding: 50px 0 20px;
    }

    .post-item{
        padding: 30px;
    }

    .post-item-content{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .main-footer{
        padding: 50px 0 0;
    }

    .main-footer .section-row{
        padding-bottom: 40px;
    }

    .footer-contact-box{
        gap: 20px;
    }

    .footer-contact-box .footer-links{
        width: calc(50% - 10px);
    }

    .footer-privacy-policy{
        margin: 30px 0 0;
    }

    .footer-copyright-text{
        margin-top: 40px;
        padding: 30px 0;
    }

    .page-header{
        padding: 170px 0 40px;
    }

    .page-header::before{
        width: 80px;
        height: 77px;
        opacity: 30%;
    }

    .page-header::after{
        width: 52px;
        height: 80px;
        opacity: 30%;
    }

    .page-header-box h1{
        font-size: 50px;
        margin-bottom: 10px;
    }

    .our-approach{
        padding: 40px 0;
    }

    .approach-item-list{
        margin-bottom: 30px;
    }

    .approach-item:after{
        left: 30px;
        bottom: -60px;
    }  

    .approach-item .icon-box{
        width: 60px;
        height: 60px;
        margin-right: 20px;
    }
    
    .approach-item .icon-box img{
        max-width: 30px;
    }

    .approach-item-content{
        width: calc(100% - 80px);
    }

    .approach-image{
        margin-left: 0;
    }

    .approach-counter-item h2{
        font-size: 38px;
    }

    .our-solution{
        padding: 40px 0;
    }

    .our-solution-content{
        position: initial;
        margin: 0 0 30px 0;
    }

    .solution-item .icon-box{
        margin-bottom: 30px;
    }

    .our-team{
        padding: 40px 0 10px;
    }

    .team-image img{
        aspect-ratio: 1 / 1.2;
    }

    .team-body{
        padding: 15px;
    }

    .our-faqs.about-our-faqs{
        padding: 40px 0 80px;
    }

    .page-services{
        padding: 40px 0 10px;
    }

    .page-service-single{
        padding: 40px 0 80px;
    }

    .page-single-sidebar{
        position: initial;
        margin: 0 0 30px 0;
    }

    .page-catagery-list{
        margin-bottom: 30px;
    }

    .page-catagery-list h3,
    .page-catagery-list ul{
        padding: 20px;
    }

    .page-catagery-list ul li{
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .sidebar-cta-box{
        padding: 20px;
    }

    .sidebar-cta-logo{
        width: 60px;
        height: 60px;
        margin-bottom: 20px;
    }

    .sidebar-cta-logo img{
        max-width: 34px;
    }

    .sidebar-cta-content{
        margin-bottom: 30px;
    }

    .sidebar-cta-content h3
    .sidebar-cta-contact ul li{
        margin-bottom: 15px;
    }

    .page-single-image{
        margin-bottom: 30px;
    }

    .service-entry{
        margin-bottom: 40px;
    }
    
    .service-entry p{
        margin-bottom: 15px;
    }

    .service-entry h2{
        font-size: 38px;
        margin-bottom: 15px;
    }

    .service-entry ul{
        gap: 20px;
    }

    .service-entry ul li{
        width: calc(33.33% - 13.33px);
        padding: 8px 15px 8px 40px;
        font-size: 14px;
    }

    .service-entry ul li::before{
        font-size: 16px;
        top: 9px;
    }

    .service-solution-box,
    .service-impact-box,
    .service-innovation-box,
    .building-smarter-box{
        margin-top: 40px;
    }

    .service-solution-steps{
        margin-top: 30px;
    }

    .service-impact-list{
        padding: 30px;
        margin-top: 30px;
    }

    .service-impact-item .icon-box{
        width: 60px;
        height: 60px;
        margin-bottom: 30px;
    }

    .service-impact-item .icon-box img{
        max-width: 30px;
    }

    .service-impact-item-content h3{
        margin-bottom: 10px;
    }

    .service-innovation-list{
        margin-top: 30px;
    }

    .building-steps-image{
        margin-top: 30px;
    }

    .building-step-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .building-step-no{
        margin-right: 20px;
    }
    
    .building-step-no h2{
        margin-bottom: 0;
    }

    .page-blog{
        padding: 40px 0 80px;
    }
    
    .page-pagination{
        margin-top: 10px;
    }

    .page-single-post{
        padding: 40px 0 80px;
    }
    
    .post-image{
        margin-bottom: 20px;
    }

    .post-image figure,
    .post-image img{
        border-radius: 20px;
    }
    
    .post-entry h1,
    .post-entry h2,
    .post-entry h3,
    .post-entry h4,
    .post-entry h5,
    .post-entry h6{
        margin: 0 0 0.45em;
    }
    
    .post-entry h2{
        font-size: 38px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }
    
    .post-entry ol li,
    .post-entry ul li{
        margin-bottom: 10px;
    }
    
    .post-entry blockquote{
        background-position: 20px 20px;
        background-size: 40px;
        padding: 20px 20px 20px 70px;
        margin-bottom: 20px;
    }
    
    .post-entry blockquote p{
        font-size: 18px;
    }
    
    .post-tags{
        margin-bottom: 20px;
    }
    
    .post-tags .tag-links a{
        padding: 12px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }

    .page-projects{
        padding: 40px 0 50px;
    }

    .page-project-single{
        padding: 40px 0 80px;
    }

    .project-category{
        margin-bottom: 30px;
        padding: 20px;
    }

    .project-category-list ul li{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .project-entry{
        margin-bottom: 40px;
    }

    .project-entry h2{
        font-size: 38px;
        margin-bottom: 15px;
    }

    .project-entry p{
        margin-bottom: 15px;
    }

    .project-entry ul li{
        padding-left: 25px;
        margin-bottom: 10px;
    }

    .project-entry ul li::before{
        font-size: 16px;
    }

    .project-challenge-box,
    .project-solution-box{
        margin-top: 40px;
    }

    .project-challenge-list{
        margin-top: 30px;
        padding: 20px;
    }

    .project-solution-counters{
        gap: 30px 40px;
        margin-top: 30px;
    }

    .solution-counter-item{
        width: calc(25% - 30px);
    }

    .solution-counter-item h2{
        margin-bottom: 5px;
    }

    .page-team{
        padding: 40px 0 50px;
    }

    .page-team-single{
        padding: 40px 0 80px;
    }

    .team-single-image{
       margin-bottom: 30px;
    }

    .team-single-image img{
        aspect-ratio: 1 / 0.8;
        object-position: top center;
    }

    .team-member-info,
    .team-expertise-box,
    .team-guideline-box{
        margin-bottom: 40px;
    }

    .team-expertise-list{
        gap: 30px;
    }

    .team-guideline-list ul{
        gap: 20px;
    }

    .team-guideline-list ul li{
        width: calc(50% - 10px);
        font-size: 14px;
        padding: 8px 15px 8px 40px;
    }

    .team-guideline-list ul li::before{
        font-size: 16px;
    }

    .page-testimonials{
        padding: 40px 0 10px;
    }
    
    .page-testimonials .testimonial-item{
        padding: 20px;
    }

    .page-gallery{
		padding: 40px 0 50px;
	}

	.page-video-gallery{
		padding: 40px 0 50px;
	}

    .page-faqs{
        padding: 40px 0 80px;
    }
    
    .page-faqs .page-faq-accordion{
        margin-bottom: 40px;
    }

    .page-contact-us{
        padding: 40px 0 80px;
    }

    .conatct-us-form{
		border-radius: 26px;
	}

    .conatct-us-form .contact-form,
    .google-map-iframe{
        width: 100%;
    }

    .contact-form{
		padding: 30px;
	}

    .contact-form form .form-control{
		padding: 12px 15px;
		border-radius: 14px;
	}

	.google-map-iframe iframe{
		height: 450px;
	}

    .contact-info-list{
        margin-top: 80px;
    }

    .contact-info-item{
        width: calc(50% - 15px);
        padding: 20px;
    }

    .contact-info-item .icon-box{
        margin: 0 auto 30px;
    }

    .error-page{
		padding: 40px 0 80px;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}

	.error-page-image img{
		max-width: 80%;
	}
}

@media only screen and (max-width: 767px){

	.section-row{
		margin-bottom: 30px;
	}

	.section-title h3{
		font-size: 12px;
	}

	.section-title h1{
		font-size: 30px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.section-title p{
        margin-top: 10px;
    }

	.section-title p span{
		font-size: 16px;
	}

	.section-title-content{
        margin-top: 10px;
    }

	.hero-company-slider p{
		font-size: 18px;
	}

	.about-item-content h2{
        font-size: 26px;
    }

	.service-item-content h3{
        font-size: 18px;
        margin-bottom: 10px;
    }

    .service-list ul{
        gap: 10px;
    }

    .service-list ul li{
        background-position: left 10px top 10px;
        background-size: 16px auto;
        padding: 8px 10px 8px 30px;
    }

    .how-work-item{
        display: block;
        padding: 20px;
        margin-bottom: 20px;
    }

    .how-work-header{
        border-right: none;
        border-bottom: 1px solid var(--divider-color);
        margin: 0 0 20px 0;
        padding: 0 0 20px 0;
    }

    .how-work-step-no{
        text-align: left;
        margin-top: 10px;
    }

    .how-work-item-content{
        width: 100%;
    }

    .how-work-item-content h3{
        font-size: 18px;
        margin-bottom: 10px;
    }

    .how-work-video video{
        height: 350px;
    }

    .how-work-video-content .section-footer-text{
        margin: 20px 0px 0 0px;
    }

    .facts-item{
        padding: 20px;
    }

    .facts-item-counter,
    .facts-item-title{
        margin-bottom: 30px;
    }

    .facts-item-title h3{
        font-size: 18px;
    }

    .facts-item-counter h2{
        font-size: 26px;
    }

    .facts-item-content{
        border-radius: 12px;
        padding: 10px;
    }

    .section-footer-text span{
        margin-right: 5px;
    }

	.project-content h3{
        font-size: 18px;
        margin-bottom: 5px;
    }

	.real-impact-image{
        padding: 20px;
        margin-bottom: 15px;
    }

    .real-impact-image h3{
        font-size: 18px;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .real-impact-content.highlighted-content{
        border-radius: 12px;
        padding: 15px;
    }

	.cta-box-box{
        padding: 50px 15px;
    }

	.what-we-box{
        padding: 25px 15px;
    }

    .what-we-box h3{
        font-size: 18px;
        margin-bottom: 30px;
    }

    .what-we-img-list ul{
        gap: 15px;
    }

    .what-we-img-list ul li{
        font-size: 14px;
        background-position: left 10px center;
        background-size: 18px auto;
        padding: 8px 15px 8px 35px;
    }

    .what-we-img-list ul li img{
        max-width: 16px;
    }

    .what-we-do-body ul{
        gap: 15px;
    }

    .what-we-do-body ul li{
        font-size: 14px;
        padding: 8px 15px 8px 30px;
    }

    .what-we-do-body ul li::before{
        font-size: 14px;
        left: 10px;
    }

    .testimonials-body{
        gap: 20px;
    }

    .testimonials-counter-item h2{
        font-size: 26px;
    }

    .testimonials-counter-item p{
        font-size: 14px;
    }

    .testimonial-slider{
        margin: 10px 0;
    }

    .testimonial-slider::before{
        transform: rotate(-6deg);
    }

    .testimonial-slider .swiper{
        padding: 20px 20px 50px 20px;
    }

    .author-image{
        margin-right: 10px;
    }

    .author-content h3{
        font-size: 18px;
        margin-bottom: 3px;
    }

    .author-content p{
        font-size: 14px;
    }

    .testimonial-quotes-img img{
        max-width: 25px;
    }

    .testimonial-slider .testimonial-pagination{
        bottom: 20px;
        left: 20px;
    }

	.faq-accordion .accordion-header .accordion-button{
        font-size: 16px;
        padding: 12px 40px 12px 12px;
    }

    .faq-accordion .accordion-item .accordion-button::after,
    .faq-accordion .accordion-item .accordion-button.collapsed::after{
        font-size: 18px;
        right: 12px;
    }

    .faq-accordion .accordion-item .accordion-body{
        padding: 12px;
    }

	.post-item{
        padding: 20px;
    }

    .post-meta{
        margin-bottom: 15px;
    }

    .post-meta ul li i{
        font-size: 16px;
    }

    .post-item-content h2{
        font-size: 18px;
        margin-bottom: 10px;
    }

    .main-footer .section-row{
        padding-bottom: 30px;
    }

    .about-footer{
        margin-bottom: 30px;
    }

    .footer-contact-box .footer-links{
        width: 100%;
    }

    .footer-links h3{
        font-size: 18px;
        margin-bottom: 15px;
    }

    .footer-newsletter-form .form-group .newsletter-btn{
        width: 35%;
    }

    .footer-copyright-text{
        margin-top: 30px;
        padding: 15px 0;
    }

    .page-header-box h1{
        font-size: 30px;
    }

    .approach-item{
        margin-bottom: 30px;
    }

    .approach-item:after{
        left: 25px;
        bottom: -50px;
    }

    .approach-item .icon-box{
        width: 50px;
        height: 50px;
        margin-right: 15px;
    }

    .approach-item .icon-box img{
        max-width: 26px;
    }

    .approach-item-content{
        width: calc(100% - 65px);
    }

    .approach-item-content h3{
        font-size: 18px;
    }

    .approach-image img{
        aspect-ratio: 1 / 0.8;
    }

    .approach-counter-box{
        left: 15px;
        bottom: 15px;
        border-radius: 14px;
        padding: 15px;
    }

    .approach-counter-item h2{
        font-size: 26px;
    }

    .approach-counter-item p{
        font-size: 14px;
    }

    .solution-item-list{
        gap: 20px;
    }

    .solution-item:nth-child(4n - 1){
        background: url('../images/solution-item-bg.svg') no-repeat;
        background-size: cover;
        background-position: center center;
        border: 1px solid var(--divider-color);
        border-radius: 20px;
    }

    .solution-item:nth-child(4n - 4){
        background: transparent;
        border: none;
        border-radius: 0;
    }

    .solution-item{
       width: 100%;
    }

    .page-catagery-list h3{
        font-size: 18px;
    }

    .sidebar-cta-content h3{
        font-size: 18px;
        margin-bottom: 10px;
    }

    .sidebar-cta-content{
        margin-bottom: 20px;
    }

    .sidebar-cta-contact ul li{
        margin-bottom: 15px;
    }

    .sidebar-cta-contact ul li a{
        padding: 6px 14px;
    }

    .sidebar-cta-contact ul li a img{
        max-width: 16px;
    }

    .page-single-image{
        margin-bottom: 20px;
    }

    .service-entry h2{
        font-size: 26px;
    }

    .service-entry ul li{
        width: auto;
    }

    .service-impact-list{
        padding: 20px;
    }

    .service-impact-item{
        width: 100%;
    }
    
    .service-impact-item .icon-box{
        width: 50px;
        height: 50px;
        margin-bottom: 20px;
    }

    .service-impact-item .icon-box img{
        max-width: 26px;
    }

    .service-impact-item-content h3{
        font-size: 18px;
    }

    .building-smarter-steps,
    .building-smarter-image{
        width: 100%;
    }

    .building-step-item{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .building-step-content h3{
        font-size: 18px;
        margin-bottom: 10px;
    }

    .building-smarter-image figure{
        height: auto;
    }

    .post-single-meta ol li{
        font-size: 16px;
    }
    
    .post-single-meta ol li i{
        font-size: 16px;
    }
    
    .post-image img{
        aspect-ratio: 1 / 0.7;
    }
    
    .post-entry blockquote{
        background-position: 15px 15px;
        padding: 60px 15px 15px 15px;
    }
    
    .post-entry blockquote p{
        font-size: 18px;
    }
    
    .post-entry h2{
        font-size: 26px;
    }

	.tag-links{
        font-size: 18px;
    }

    .project-category-list ul li,
    .category-social-link h3{
        font-size: 18px;
    }
    

    .project-entry h2{
        font-size: 26px;
    }

    .project-challenge-list{
        padding: 12px;
        border-radius: 12px;
    }

    .solution-counter-item{
        width: calc(50% - 20px);
    }

    .solution-counter-item h2{
        font-size: 30px;
    }

    .team-single-image img{
        aspect-ratio: 1 / 1.15;
        object-position: center center;
    }

    .member-info-box,
	.member-contact-list{
		width: 100%;
	}

	.member-info-box::before{
		width: 100%;
		height: 1px;
		top: auto;
		right: auto;
		left: 0;
		bottom: -20px;
	}

	.member-contact-item{
		margin-bottom: 20px;
	}

	.member-contact-item h3{
		font-size: 18px;
        margin-bottom: 5px;
	}

	.skills-progress-bar{
		width: 100%;
	}

	.skills-progress-bar .skill-data{
		margin-bottom: 10px;
	}

	.skills-progress-bar .skill-data .skill-title,
	.skills-progress-bar .skill-data .skill-no{
		font-size: 18px;
	}

    .team-guideline-list ul li{
        width: 100%;
        padding: 8px 10px 8px 30px;
    }

    .team-guideline-list ul li::before{
        font-size: 14px;
        left: 10px;
        top: 9px;
    }

    .contact-form{
        padding: 30px 20px;
    }

    .google-map-iframe iframe{
        height: 350px;
    }

    .contact-info-item{
        width: 100%;
    }

    .contact-info-content h3{
        font-size: 18px;
        margin-bottom: 10px;
    }
}



/* =========================================================
   Enterprise polish layer (2026 refresh)
   Additive overrides + components for new pages
   ========================================================= */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.main-header .header-sticky.active,
.header-sticky.active{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(6,6,6,.78)}
.btn-default{letter-spacing:.2px;transition:transform .25s ease,box-shadow .25s ease}
.btn-default:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(241,79,68,.25)}
.service-item,.project-item,.facts-item,.post-item,.benefit-item{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.service-item:hover,.facts-item:hover,.post-item:hover{transform:translateY(-6px);border-color:rgba(241,79,68,.45);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.section-title h3{letter-spacing:1.6px}
.navbar-nav .submenu ul{border:1px solid var(--divider-color);box-shadow:0 20px 60px rgba(0,0,0,.55)}
:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Components used by engineering-teams, automation, trading pages */
.ent-section{padding:90px 0}
.ent-section.ent-first{padding-top:80px}
.ent-section.ent-alt{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0))}
.ent-section.ent-tight{padding:20px 0 60px}
.ent-card{position:relative;height:calc(100% - 30px);margin-bottom:30px;padding:32px 28px;border:1px solid var(--divider-color);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.01));transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.ent-card:hover{transform:translateY(-6px);border-color:rgba(241,79,68,.5);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.ent-card h3{font-size:20px;margin:18px 0 10px;color:var(--primary-color)}
.ent-card p{margin:0;color:var(--text-color);line-height:1.65}
.ent-card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(241,79,68,.12);color:var(--accent-color);font-size:20px}
.ent-card-tall{padding:36px 30px}
.ent-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ent-tags span{padding:5px 12px;border:1px solid var(--dark-divider-color);border-radius:100px;font-size:12px;color:var(--primary-color);letter-spacing:.3px}
.ent-panel{padding:32px;border:1px solid var(--dark-divider-color);border-radius:22px;background:linear-gradient(160deg,rgba(241,79,68,.10),rgba(255,255,255,.02))}
.ent-panel h4{font-size:18px;color:var(--primary-color);margin-bottom:18px}
.ent-check{list-style:none;margin:0;padding:0}
.ent-check li{position:relative;padding:0 0 12px 28px;color:var(--text-color);line-height:1.5}
.ent-check li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:1px;color:var(--accent-color);font-size:13px}
.ent-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ent-step{padding:28px 24px;border-top:2px solid var(--accent-color);background:rgba(255,255,255,.03);border-radius:0 0 16px 16px}
.ent-step span{font-size:13px;letter-spacing:2px;color:var(--accent-color);font-weight:700}
.ent-step h4{margin:10px 0 8px;font-size:19px;color:var(--primary-color)}
.ent-step p{margin:0;color:var(--text-color);line-height:1.6}
.ent-note{padding:20px 24px;border:1px solid var(--dark-divider-color);border-left:3px solid var(--accent-color);border-radius:12px;color:var(--text-color);font-size:14px;line-height:1.7;background:rgba(255,255,255,.03);margin-top:30px}
.ent-note strong{color:var(--primary-color)}
.ent-source{margin-top:18px;font-size:13px;color:var(--text-color)}
.ent-source a,.ent-section a:not(.btn-default){color:var(--accent-color)}
@media (max-width:991px){.ent-section{padding:60px 0}.ent-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575px){.ent-steps{grid-template-columns:1fr}.ent-card{padding:26px 22px}}

/* ---- Page-family components (hero, rows, timeline, stepper, features) ---- */
.ent-theme{position:relative}
.ent-hero{position:relative;padding:190px 0 90px;overflow:hidden}
.ent-hero-left{padding-bottom:70px}
.ent-hero-centered{text-align:center}
.ent-hero-centered .ent-lead{margin-left:auto;margin-right:auto}
.ent-hero-centered .hero-btn{justify-content:center}
.ent-orb{position:absolute;right:-12%;top:-10%;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,var(--accent-color) 0%,transparent 65%);opacity:.18;filter:blur(40px);pointer-events:none}
.ent-hero-left .ent-orb{right:auto;left:-15%;top:10%}
.ent-hero-centered .ent-orb{right:50%;transform:translateX(50%);top:-30%}
.ent-hero .container{position:relative;z-index:1}
.ent-crumbs{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--text-color);margin-bottom:26px;flex-wrap:wrap}
.ent-hero-centered .ent-crumbs{justify-content:center}
.ent-crumbs a{color:var(--text-color)}.ent-crumbs a:hover{color:var(--primary-color)}
.ent-crumbs em{font-style:normal;color:var(--primary-color)}
.ent-eyebrow{display:inline-block;padding:6px 14px;border:1px solid var(--accent-color);border-radius:100px;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-color);margin-bottom:20px}
.ent-hero h1{font-size:clamp(34px,5vw,62px);line-height:1.08;margin-bottom:20px;color:var(--primary-color)}
.ent-hero h1 span{color:var(--accent-color)}
.ent-lead{font-size:18px;line-height:1.7;color:var(--text-color);max-width:640px;margin-bottom:30px}
.ent-hero .hero-btn{display:flex;gap:14px;flex-wrap:wrap}
.ent-panel-hero{backdrop-filter:blur(6px)}
.ent-theme .ent-panel{background:linear-gradient(160deg,color-mix(in srgb,var(--accent-color) 14%,transparent),rgba(255,255,255,.02))}
.ent-sticky{position:sticky;top:120px}
/* numbered rows */
.ent-rows{border-top:1px solid var(--divider-color)}
.ent-row{display:grid;grid-template-columns:90px 1fr 70px;gap:20px;align-items:center;padding:34px 10px;border-bottom:1px solid var(--divider-color);transition:background .3s,padding .3s}
.ent-row:hover{background:rgba(255,255,255,.03);padding-left:24px}
.ent-row-no{font-size:38px;font-weight:300;color:var(--accent-color);opacity:.9}
.ent-row h3{font-size:24px;margin:0 0 8px;color:var(--primary-color)}
.ent-row p{margin:0;color:var(--text-color);line-height:1.7;max-width:760px}
.ent-row-ic{width:54px;height:54px;border-radius:50%;border:1px solid var(--dark-divider-color);display:flex;align-items:center;justify-content:center;color:var(--accent-color);font-size:19px}
/* horizontal timeline */
.ent-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.ent-timeline::before{content:"";position:absolute;left:5%;right:5%;top:22px;height:1px;background:linear-gradient(90deg,var(--accent-color),transparent)}
.ent-tl{position:relative;padding-top:0}
.ent-tl-dot{position:relative;z-index:1;display:flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:var(--bg-color);border:1px solid var(--accent-color);color:var(--accent-color);font-weight:700;margin-bottom:18px}
.ent-tl h4{font-size:19px;margin-bottom:8px;color:var(--primary-color)}
.ent-tl p{margin:0;color:var(--text-color);line-height:1.6;font-size:15px}
/* vertical stepper */
.ent-stepper{border-left:1px solid var(--dark-divider-color);margin-left:12px}
.ent-sp{position:relative;display:flex;gap:22px;padding:0 0 38px 34px}
.ent-sp::before{content:"";position:absolute;left:-6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--accent-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-color) 22%,transparent)}
.ent-sp>span{font-size:14px;font-weight:700;letter-spacing:1px;color:var(--accent-color);padding-top:3px}
.ent-sp h4{font-size:20px;margin-bottom:6px;color:var(--primary-color)}
.ent-sp p{margin:0;color:var(--text-color);line-height:1.65}
/* feature list */
.ent-features{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ent-feature{display:flex;gap:18px;padding:28px;border:1px solid var(--divider-color);border-radius:18px;background:rgba(255,255,255,.025);transition:border-color .3s,transform .3s}
.ent-feature:hover{border-color:var(--accent-color);transform:translateY(-4px)}
.ent-feature>i{flex:0 0 46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--accent-color) 16%,transparent);color:var(--accent-color);display:flex;align-items:center;justify-content:center}
.ent-feature h3{font-size:19px;margin:0 0 8px;color:var(--primary-color)}
.ent-feature p{margin:0;color:var(--text-color);line-height:1.6;font-size:15px}
.ent-theme .ent-card-icon{background:color-mix(in srgb,var(--accent-color) 15%,transparent)}
.ent-theme .ent-card:hover{border-color:var(--accent-color)}
.ent-related{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ent-related span{color:var(--text-color);margin-right:6px}
.ent-related a{padding:7px 16px;border:1px solid var(--dark-divider-color);border-radius:100px;color:var(--primary-color)!important;font-size:14px;transition:border-color .3s}
.ent-related a:hover{border-color:var(--accent-color)}
@media (max-width:991px){.ent-hero{padding:140px 0 60px}.ent-timeline{grid-template-columns:1fr 1fr}.ent-timeline::before{display:none}.ent-features{grid-template-columns:1fr}.ent-sticky{position:static}.ent-row{grid-template-columns:56px 1fr}.ent-row-ic{display:none}.ent-row-no{font-size:28px}}
@media (max-width:575px){.ent-timeline{grid-template-columns:1fr}.ent-orb{width:360px;height:360px}}

/* ---- Home page components ---- */
.ent-home-hero{padding-top:200px}
.ent-mini{display:flex;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--divider-color)}
.ent-mini:first-of-type{border-top:0}
.ent-mini>i{flex:0 0 42px;height:42px;border-radius:12px;background:rgba(241,79,68,.14);color:var(--accent-color);display:flex;align-items:center;justify-content:center}
.ent-mini strong{display:block;color:var(--primary-color);font-size:15px}
.ent-mini span{font-size:13px;color:var(--text-color)}
.ent-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ent-tile{position:relative;display:flex;flex-direction:column;padding:30px;border:1px solid var(--divider-color);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01));color:inherit;transition:transform .35s,border-color .35s,box-shadow .35s;min-height:260px}
.ent-tile:hover{transform:translateY(-6px);border-color:var(--accent-color);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.ent-tile-lg{grid-column:span 2}
.ent-tile-feature{background:radial-gradient(circle at 85% 0%,rgba(241,79,68,.22),transparent 55%),linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}
.ent-tile h3{font-size:22px;margin:18px 0 10px;color:var(--primary-color)}
.ent-tile p{color:var(--text-color);line-height:1.65;margin:0;flex:1}
.ent-tile .ent-tags{margin-top:16px}
.ent-tile-go{margin-top:18px;font-size:14px;color:var(--accent-color);font-weight:600}
.ent-tile-go i{margin-left:6px;transition:transform .3s}
.ent-tile:hover .ent-tile-go i{transform:translateX(5px)}
.ent-feature-banner{padding:56px;border:1px solid var(--dark-divider-color);border-radius:28px;background:radial-gradient(circle at 100% 0%,rgba(241,79,68,.22),transparent 50%),linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}
.ent-feature-banner h2{font-size:clamp(26px,3.2vw,40px);line-height:1.2;margin:0 0 16px;color:var(--primary-color)}
.ent-feature-banner p{color:var(--text-color);line-height:1.7;max-width:560px;margin-bottom:26px}
.ent-feature-banner .hero-btn{display:flex;gap:14px;flex-wrap:wrap}
.ent-terminal{border:1px solid var(--dark-divider-color);border-radius:16px;background:#0b0b0d;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6)}
.ent-term-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--divider-color)}
.ent-term-bar i{width:10px;height:10px;border-radius:50%;background:#333}
.ent-term-bar i:first-child{background:#F14F44}.ent-term-bar i:nth-child(2){background:#F5A524}.ent-term-bar i:nth-child(3){background:#2EC4B6}
.ent-term-bar span{margin-left:10px;font-size:12px;color:var(--text-color)}
.ent-terminal pre{margin:0;padding:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;line-height:1.8;color:#cfd2e6;white-space:pre-wrap}
@media (max-width:991px){.ent-bento{grid-template-columns:1fr 1fr}.ent-tile-lg{grid-column:span 2}.ent-feature-banner{padding:34px 26px}.ent-home-hero{padding-top:140px}}
@media (max-width:575px){.ent-bento{grid-template-columns:1fr}.ent-tile-lg{grid-column:auto}}
.ent-hero .hero-btn{justify-content:flex-start}
.ent-hero-centered .hero-btn{justify-content:center}
.ent-compare{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--divider-color);border-radius:18px;overflow:hidden}
.ent-compare th,.ent-compare td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--divider-color);color:var(--text-color);font-size:15px;vertical-align:top}
.ent-compare thead th{background:rgba(255,255,255,.05);color:var(--primary-color);font-size:15px}
.ent-compare tbody th{color:var(--primary-color);font-weight:600;width:24%}
.ent-compare tr:last-child td,.ent-compare tr:last-child th{border-bottom:0}
.ent-flow{display:flex;flex-direction:column;gap:12px}
.ent-flow-node{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--dark-divider-color);border-radius:14px;background:rgba(255,255,255,.04);color:var(--primary-color);font-size:15px;position:relative}
.ent-flow-node i{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent-color) 18%,transparent);color:var(--accent-color);display:flex;align-items:center;justify-content:center}
.ent-flow-node small{display:block;color:var(--text-color);font-size:12px}
.ent-flow-node:not(:last-child)::after{content:"";position:absolute;left:35px;bottom:-13px;width:1px;height:13px;background:var(--accent-color)}
.ent-flow-human{border-style:dashed;border-color:var(--accent-color)}
@media (max-width:767px){.ent-compare th,.ent-compare td{padding:12px;font-size:13px}}
.ent-markets{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--divider-color);border-radius:22px;overflow:hidden}
.ent-market{padding:34px 28px;border-right:1px solid var(--divider-color);transition:background .3s}
.ent-market:last-child{border-right:0}
.ent-market:hover{background:color-mix(in srgb,var(--accent-color) 8%,transparent)}
.ent-market>i{font-size:26px;color:var(--accent-color)}
.ent-market h3{font-size:20px;margin:18px 0 10px;color:var(--primary-color)}
.ent-market p{margin:0;color:var(--text-color);line-height:1.65;font-size:15px}
@media (max-width:991px){.ent-markets{grid-template-columns:1fr 1fr}.ent-market{border-bottom:1px solid var(--divider-color)}}
@media (max-width:575px){.ent-markets{grid-template-columns:1fr}.ent-market{border-right:0}}
.ent-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ent-grid3 .ent-tile{min-height:240px}
@media (max-width:991px){.ent-grid3{grid-template-columns:1fr 1fr}}
@media (max-width:575px){.ent-grid3{grid-template-columns:1fr}}

/* ---- Forms ---- */
.ent-formcard{padding:40px;border:1px solid var(--dark-divider-color);border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}
.ent-form label{display:block;margin-bottom:8px;font-size:14px;color:var(--primary-color)}
.ent-form .form-control{background:rgba(255,255,255,.04);border:1px solid var(--dark-divider-color);border-radius:12px;color:var(--primary-color);padding:14px 16px;font-size:15px}
.ent-form .form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(241,79,68,.2);background:rgba(255,255,255,.06)}
.ent-form select.form-control option{background:#111;color:#fff}
.ent-form small{display:block;margin-top:8px;color:var(--text-color);font-size:13px}
.ent-form small a,.ent-consent a{color:var(--accent-color)}
.ent-consent{display:flex!important;gap:10px;align-items:flex-start;font-size:13px!important;color:var(--text-color)!important}
.ent-consent input{margin-top:4px}
.ent-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
#msgSubmit{display:inline-block;margin-left:14px;font-size:15px!important}
#msgSubmit.hidden{display:none}
.ent-map iframe{width:100%;height:340px;border:0;border-radius:22px;filter:grayscale(1) invert(.92) contrast(.9)}
@media (max-width:575px){.ent-formcard{padding:24px 18px}}

/* ---- About / Portfolio / FAQ ---- */
.ent-people{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.ent-person{display:flex;flex-direction:column;align-items:center;text-align:center;color:inherit;padding:20px 10px;border:1px solid var(--divider-color);border-radius:18px;transition:border-color .3s,transform .3s}
.ent-person:hover{border-color:var(--accent-color);transform:translateY(-4px)}
.ent-person img{width:96px;height:96px;object-fit:cover;border-radius:50%;margin-bottom:14px;border:2px solid var(--dark-divider-color)}
.ent-person strong{color:var(--primary-color);font-size:15px}
.ent-person span{color:var(--text-color);font-size:13px;margin-top:4px}
.ent-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.ent-filters button{padding:9px 20px;border:1px solid var(--dark-divider-color);border-radius:100px;background:transparent;color:var(--primary-color);font-size:14px;cursor:pointer;transition:all .25s}
.ent-filters button:hover,.ent-filters button.on{background:var(--accent-color);border-color:var(--accent-color);color:#fff}
.ent-feat-img{width:100%;border-radius:18px;border:1px solid var(--dark-divider-color);display:block}
.ent-worksgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.ent-work{display:block;border:1px solid var(--divider-color);border-radius:20px;overflow:hidden;color:inherit;background:rgba(255,255,255,.025);transition:transform .35s,border-color .35s,box-shadow .35s}
.ent-work:hover{transform:translateY(-6px);border-color:var(--accent-color);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.ent-work-img{aspect-ratio:16/10;overflow:hidden}
.ent-work-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ent-work:hover .ent-work-img img{transform:scale(1.06)}
.ent-work-body{padding:22px 24px 26px}
.ent-work-body span{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-color)}
.ent-work-body h3{font-size:20px;margin:8px 0 14px;color:var(--primary-color)}
.ent-work-body em{font-style:normal;font-size:14px;color:var(--text-color)}
.ent-faq-nav{display:flex;flex-direction:column;gap:6px}
.ent-faq-nav a{padding:12px 16px;border-left:2px solid var(--divider-color);color:var(--text-color);font-size:15px;transition:all .25s}
.ent-faq-nav a:hover{color:var(--primary-color);border-left-color:var(--accent-color);background:rgba(255,255,255,.03)}
.ent-faq-group{margin-bottom:50px;scroll-margin-top:120px}
.ent-faq-group h3{font-size:24px;color:var(--primary-color);margin-bottom:20px}
@media (max-width:991px){.ent-people{grid-template-columns:repeat(3,1fr)}.ent-worksgrid{grid-template-columns:1fr 1fr}.ent-faq-nav{flex-direction:row;flex-wrap:wrap;margin-bottom:30px}.ent-faq-nav a{border:1px solid var(--dark-divider-color);border-radius:100px;padding:8px 16px}}
@media (max-width:575px){.ent-people{grid-template-columns:1fr 1fr}.ent-worksgrid{grid-template-columns:1fr}}

/* ---- Solutions pages ---- */
.ent-release h4,.ent-later h4{display:flex;gap:10px;align-items:center}
.ent-check-muted li{opacity:.85}
.ent-check-muted li::before{content:"\f061";color:var(--text-color)}
.ent-flowrow{display:flex;align-items:stretch;justify-content:center;gap:10px;flex-wrap:wrap}
.ent-flowrow>div{flex:1 1 150px;max-width:210px;padding:22px 16px;border:1px solid var(--dark-divider-color);border-radius:16px;background:rgba(255,255,255,.04);text-align:center}
.ent-flowrow>div i{font-size:20px;color:var(--accent-color);margin-bottom:10px;display:block}
.ent-flowrow strong{display:block;color:var(--primary-color);margin-bottom:6px}
.ent-flowrow span{font-size:13px;color:var(--text-color);line-height:1.5}
.ent-flowrow>b{align-self:center;color:var(--accent-color);font-size:20px}
.ent-ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ent-rung{padding:24px 20px;border:1px solid var(--divider-color);border-top:3px solid var(--accent-color);border-radius:14px;background:rgba(255,255,255,.03)}
.ent-rung span{font-size:12px;letter-spacing:1.6px;color:var(--accent-color);font-weight:700}
.ent-rung h4{margin:8px 0;color:var(--primary-color);font-size:19px}
.ent-rung p{color:var(--text-color);font-size:14px;line-height:1.6;margin:0 0 12px}
.ent-rung em{font-style:normal;font-size:13px;color:var(--primary-color)}
@media (max-width:991px){.ent-ladder{grid-template-columns:1fr 1fr}.ent-flowrow>b{display:none}}
@media (max-width:575px){.ent-ladder{grid-template-columns:1fr}}

/* ---- Estimator ---- */
.ent-q{margin-bottom:26px}
.ent-q>label{display:block;margin-bottom:12px;color:var(--primary-color);font-size:15px;font-weight:600}
.ent-choice{display:flex;flex-wrap:wrap;gap:10px}
.ent-choice button{padding:10px 18px;border:1px solid var(--dark-divider-color);border-radius:100px;background:transparent;color:var(--text-color);font-size:14px;cursor:pointer;transition:all .2s;text-align:left}
.ent-choice button:hover{border-color:var(--accent-color);color:var(--primary-color)}
.ent-choice button.on{background:var(--accent-color);border-color:var(--accent-color);color:#fff}
.ent-result dl{display:grid;grid-template-columns:90px 1fr;gap:8px 14px;margin:18px 0}
.ent-result dt{color:var(--text-color);font-weight:400;font-size:14px}
.ent-result dd{margin:0;color:var(--primary-color);font-size:14px}
.ent-big{font-size:clamp(26px,3vw,36px);font-weight:700;color:var(--primary-color);line-height:1.15;margin-top:6px}
.ent-sub{font-size:13px;color:var(--text-color);margin-top:6px}
.ent-phases{display:grid;gap:8px;margin-top:6px}
.e-phase span{font-size:12px;color:var(--text-color)}
.e-phase{position:relative}
.e-phase i{display:block;height:6px;border-radius:6px;background:var(--accent-color);margin-top:4px;transition:width .6s}
.ent-fine{font-size:12px;color:var(--text-color);margin:18px 0 0;line-height:1.6}
#e-msg.ok{color:#2EC4B6}#e-msg.err{color:#F14F44}#e-msg{font-size:14px;margin-left:8px}
.ent-price th,.ent-price td{white-space:normal}
.ent-logos{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:40px}
.ent-logos span{padding:18px 30px;border:1px dashed var(--dark-divider-color);border-radius:12px;color:var(--text-color)}

/* ---- Consent banner ---- */
.mc-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:720px;margin:0 auto;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--dark-divider-color);border-radius:16px;background:rgba(14,14,16,.96);backdrop-filter:blur(10px);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.mc-consent p{margin:0;font-size:14px;color:var(--text-color);flex:1 1 320px}
.mc-consent a{color:var(--accent-color)}
.mc-consent button{padding:9px 20px;border-radius:100px;border:1px solid var(--dark-divider-color);background:transparent;color:var(--primary-color);font-size:14px;cursor:pointer;margin-left:8px}
.mc-consent button.y{background:var(--accent-color);border-color:var(--accent-color)}
@media (max-width:767px){.mc-consent{bottom:76px}}

/* ---- AI summary ---- */
.ent-ai{margin-top:22px;padding-top:20px;border-top:1px solid var(--divider-color)}
.ent-ai h4{font-size:16px;color:var(--primary-color);margin-bottom:10px}
.ent-ai textarea{background:rgba(255,255,255,.04);border:1px solid var(--dark-divider-color);border-radius:12px;color:var(--primary-color);font-size:14px;margin-bottom:12px}
.ent-ai .btn-default{padding:10px 20px;font-size:14px}
.ent-ai-out{margin-top:14px;white-space:pre-wrap;line-height:1.7;font-size:14px;color:var(--text-color)}
.ent-ai-out.on{padding:16px;border:1px solid var(--dark-divider-color);border-left:3px solid var(--accent-color);border-radius:12px;background:rgba(255,255,255,.03);color:var(--primary-color)}
.ent-ai-out.err{color:#F14F44}

/* ---- Offices ---- */
.ent-offices{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ent-office{display:flex;flex-direction:column;gap:6px;padding:22px 18px;border:1px solid var(--divider-color);border-radius:16px;background:rgba(255,255,255,.03)}
.ent-office i{color:var(--accent-color);font-size:18px;margin-bottom:6px}
.ent-office strong{color:var(--primary-color);font-size:16px}
.ent-office span{color:var(--text-color);font-size:13px}
@media (max-width:991px){.ent-offices{grid-template-columns:1fr 1fr}}
@media (max-width:575px){.ent-offices{grid-template-columns:1fr}}

/* ---- Clients ---- */
.ent-clients{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ent-client{display:flex;flex-direction:column;padding:24px;border:1px solid var(--divider-color);border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.01));transition:transform .3s,border-color .3s}
.ent-client:hover{transform:translateY(-4px);border-color:var(--accent-color)}
.ent-client-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.ent-client-top b{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(241,79,68,.14);color:var(--accent-color);font-size:15px;letter-spacing:.5px}
.ent-pill{font-size:11px;letter-spacing:.8px;text-transform:uppercase;padding:4px 10px;border-radius:100px;border:1px solid var(--dark-divider-color);color:var(--text-color)}
.ent-pill.on{border-color:#2EC4B6;color:#2EC4B6}
.ent-client h3{font-size:19px;margin:0 0 6px;color:var(--primary-color)}
.ent-client p{margin:0 0 18px;color:var(--text-color);font-size:14px;line-height:1.55;flex:1}
.ent-client-foot{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding-top:14px;border-top:1px solid var(--divider-color)}
.ent-client-foot em{font-style:normal;color:var(--primary-color)}
.ent-client-foot a{color:var(--accent-color)}
.ent-client-foot a i{font-size:11px;margin-left:4px}
@media (max-width:1100px){.ent-clients{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.ent-clients{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ent-clients{grid-template-columns:1fr}}

.ent-clientchips{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ent-clientchip{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--divider-color);border-radius:14px;background:rgba(255,255,255,.03);color:inherit;transition:border-color .3s,transform .3s}
.ent-clientchip:hover{border-color:var(--accent-color);transform:translateY(-3px)}
.ent-clientchip b{flex:0 0 40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(241,79,68,.14);color:var(--accent-color);font-size:14px}
.ent-clientchip span{display:flex;flex-direction:column;color:var(--primary-color);font-size:15px;line-height:1.3}
.ent-clientchip em{font-style:normal;font-size:12px;color:var(--text-color);margin-top:3px}
@media (max-width:991px){.ent-clientchips{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ent-clientchips{grid-template-columns:1fr}}
.ent-client-foot{flex-wrap:wrap;gap:4px 10px}.ent-client-foot a{word-break:break-all}

/* ---- Client logos ---- */
.ent-logo{display:flex;align-items:center;justify-content:center;width:132px;height:62px;padding:10px 14px;border-radius:12px;background:#f4f5f8}
.ent-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.ent-logo.mono{background:rgba(241,79,68,.14)}
.ent-logo.mono b{color:var(--accent-color);font-size:18px;letter-spacing:.5px}
.ent-logo-sm{flex:0 0 96px;width:96px;height:48px;padding:8px 10px}
.ent-clientchip b{all:unset}
.ent-client-top b{all:unset}
