:root {
	--lqd-container-width: 1250px;
	--lqd-container-width-md: 970px;
	--lqd-container-width-sm: 750px;

	--lqd-color-primary: #d26739;
	--lqd-color-gradient-start: #d26739;
	--lqd-color-gradient-stop: #d26739;
	--lqd-color-primary: #d26739;
	--lqd-body-text-color: #626974;
	--lqd-color-link: #f99f78;
	--lqd-color-link-hover: #181b31;
	--lqd-color-dark: #292929;
	--lqd-color-blue-900: #0a1e26;
	--lqd-color-gray-100: #f2f2f2;
	--lqd-color-gray-200: #e6e6e6;
	--lqd-color-gray-300: #b7b9c4;
	--lqd-color-gray-400: #7a7a7a;
	--lqd-color-gray-500: #666666;
	--lqd-color-gray-600: #3a3a3a;
	--lqd-color-gray-700: #202020;
	--lqd-color-gray-800: #151515;
	--lqd-color-gray-900: #191919;
	--lqd-color-green-700: #121b1d;
	--lqd-color-green-900: #0b1415;
	--lqd-color-slate-300: rgba(9, 94, 193, 0.11);
	--lqd-color-slate-400: #99a4a8;
	--lqd-color-red-100: rgba(193, 9, 9, 0.11);
	--lqd-color-red-300: #d26739;
	--lqd-color-red-500: #d26739;
	--lqd-color-yellow-500: #ffda01;

	--lqd-body-font-family: 'Chivo', sans-serif;
	--lqd-body-font-weight: 400;
	--lqd-body-line-height: 1.64em;
	--lqd-body-font-size: 17px;
	--lqd-body-color: #5f6973;

	--lqd-heading-font-family: var(--lqd-body-font-family);
	--lqd-heading-font-weight: 700;
	--lqd-heading-line-height: 1.2em;
	--lqd-heading-color: #000;
	--lqd-h1-font-size: 55px;
	--lqd-h1-line-height: 1em;
	--lqd-h2-font-size: 40px;
	--lqd-h2-line-height: 1.25em;
	--lqd-h3-font-size: 30px;
	--lqd-h3-line-height: 1.4em;
	--lqd-h4-font-size: 28px;
	--lqd-h5-font-size: 18px;
	--lqd-h5-line-height: 1.21em;
	--lqd-h6-font-size: 13px;
	--lqd-h6-text-transform: uppercase;
	--lqd-h6-letter-spacing: 0.1em;

	--lqd-cc-size-inner: 12px;
	--lqd-cc-active-bw: 1px;
	--lqd-cc-active-bg: #fff;
	--lqd-cc-active-bc: #fff;
	--lqd-cc-active-circle-color: #fff;
}

@media (max-width: 991px) {
	h2.text-init {
		font-size: var(--lqd-h2-font-size);
	}
}

.one-bullet-list li:before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-inline-end: 1em;
	border-radius: 50em;
	background: #000;
}

/*  Main Header  */
.main-header .main-nav {
	--lqd-menu-items-right-padding: 20px;
	--lqd-menu-items-left-padding: 20px;
}

.main-header .btn-solid {
	--btn-ps: 1.5em;
	--btn-pe: 1.5em;
}

.main-header .main-nav .link-sup {
	top: -2em;
	inset-inline-end: 1em;
	font-size: .625em;
	line-height: 1;
}

.main-header .lqd-stickybar-wrap .nav-trigger {
	transform: rotate(-90deg);
}

/* Left Sticky */
.main-header .lqd-stickybar-wrap {
	--padding-top: 22px;
}

.main-header .is-stuck .lqd-stickybar-wrap {
	padding-top: 0;
}

.main-header .lqd-stickybar-inline-start .lqd-head-col:not(:first-child) {
	flex-grow: 1;
}

.main-header .ld-module-sd>.nav-trigger {
	height: auto;
}

.main-header .lqd-active-row-dark .nav-trigger .bar:before,
.main-header .lqd-active-row-dark .nav-trigger .bar:after {
	background: #fff;
}

.main-header .lqd-active-row-dark .lqd-scrl-indc-line {
	background-color: #ffffff;
}

/* Left Side */
.main-header .ld-module-dropdown {
	width: 350px;
}

/*  Site Header  */
.main-header .main-nav {
	--lqd-menu-items-right-padding: 20px;
	--lqd-menu-items-left-padding: 20px;
}

.main-header .module-dropdown {
	width: 350px;
}

/*  Lity Modal  */
.lqd-modal[data-modal-type=fullscreen] {
	padding: 25px 2em;
}

.lqd-contact-form {
	--input-margin-bottom: 13px;
	--inputs-margin: 0 0 var(--input-margin-bottom) 0;
}

.lity-modal .ld-fancy-heading h2 span {
	font-family: 'DM Serif Text', serif;
	font-style: italic;
}

@media (max-width: 1199px) {
	.lity-modal .ld-fancy-heading h2 {
		font-size: 48px;
		line-height: 1em;
	}
}

@media (max-width: 767px) {
	.lity-modal .lqd-modal-content {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.lity-modal .lqd-modal-content .module-col {
		margin-bottom: 100px;
	}
}

@media (max-width: 767px) {
	.lity-modal .ld-fancy-heading h2 {
		font-size: 34px;
	}
}

/*  Contact Info  */
@media (max-width: 767px) {
	.contact-info .module-content {
		margin-bottom: 20px;
	}
}

/*  Lets Talk  */
@media (max-width: 991px) {
	.lets-talk h2 {
		font-size: 80px;
	}
}

@media (max-width: 767px) {
	.lets-talk h2 {
		font-size: 16vw;
		margin-bottom: 0.5em;
	}
}

/*  Page Footer  */
@media (max-width: 991px) {
	.page-footer .module-top {
		padding-top: 50px;
	}
}


/*  Banner  */
.banner:hover .row-bg-inner {
	transform: scale(1.075);
}

.banner h1 {
	font-size: 110px;
	line-height: 1.15em;
	color: #fff;
}

@media (max-width: 991px) {
	.banner {
		padding-top: 80px;
		padding-bottom: 50px;
	}

	.banner h1 {
		margin-bottom: 0.5em;
	}
}

@media (max-width: 1199px) {
	.banner h1 {
		font-size: 15vw;
	}
}

/*  About  */
@media (max-width: 991px) {
	.about .module-title {
		margin-bottom: 15px;
	}
}

@media (max-width: 767px) {
	.about {
		padding-bottom: 15px;
	}
}

/*  Icon Box  */
@media (max-width: 991px) {
	.icon-box .iconbox {
		margin-bottom: 35px;
	}
}

/*  Case Studies  */
@media (max-width: 1199px) {
	.case-studies .module-content {
		padding-left: 10%;
	}
}

@media (max-width: 991px) {
	.case-studies .module-line {
		margin-bottom: 15px;
	}

	.case-studies .module-content {
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.case-studies .module-img {
		margin-top: 35%;
	}
}

/*  Approach  */
.approach .ld-fh-txt-outline {
	-webkit-text-stroke-color: #d8d8d8;
}

@media (max-width: 991px) {
	.approach {
		padding-bottom: 40px;
	}
}

/*  Expertise  */
.expertise .module-content {
	-webkit-backdrop-filter: blur(7px) saturate(1) brightness(1.25) contrast(1) grayscale(0) hue-rotate(0deg) sepia(1) opacity(1);
	backdrop-filter: blur(7px) saturate(1) brightness(1.25) contrast(1) grayscale(0) hue-rotate(0deg) sepia(1) opacity(1);
}

.expertise .btn-hover-reveal {
	--icon-move: 0.5em;
	--icon-ms: -1em;
}

.expertise .btn-hover-reveal:hover .btn-icon i {
	opacity: 1;
	transform: translateX(1em);
}

.expertise .btn-hover-reveal:hover.btn-underlined .btn-icon,
.expertise .btn-hover-reveal:hover.btn-naked .btn-icon {
	transform: translateX(.5em);
}

@media (max-width: 991px) {
	.expertise {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.expertise .module-content {
		padding-right: 30px;
		padding-left: 30px;
	}
}

@media (max-width: 767px) {
	.expertise {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.expertise .module-content {
		padding-right: 20px;
		padding-left: 20px;
	}
}

/*  About Accordion  */
@media (max-width: 767px) {
	.help .module-line {
		margin-bottom: 30px;
	}
}

/*  Lets Talk  */
@media (max-width: 767px) {
	.lets-talk h2 {
		font-size: 16vw;
		margin-bottom: 0.5em;
	}
}

.project-card {
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}


.project-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  flex-shrink: 0;
}


.project-card-body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}


.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.1);
}

#flagship-projects .row > [class*="col-"] {
  display: flex;
}

/* Products Section */
#flagship-projects .product-card-modern{
	background:#fff;
	border:1px solid rgba(0,0,0,.08);
	border-radius:20px;
	overflow:hidden;
	height:100%;
	transition:all .35s ease;
	box-shadow:0 10px 30px rgba(0,0,0,.04);
}

#flagship-projects .product-card-modern:hover{
	transform:translateY(-8px);
	box-shadow:0 22px 55px rgba(0,0,0,.12);
}

#flagship-projects .product-image-wrap{
	position:relative;
	overflow:hidden;
}

#flagship-projects .product-image{
	width:100%;
	height:260px;
	object-fit:cover;
	display:block;
	transition:transform .5s ease;
}

#flagship-projects .product-card-modern:hover .product-image{
	transform:scale(1.05);
}

#flagship-projects .product-badge{
	position:absolute;
	top:18px;
	left:18px;
	background:#fff;
	color:#111;
	padding:7px 14px;
	border-radius:999px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	box-shadow:0 8px 20px rgba(0,0,0,.08);
}

#flagship-projects .product-content{
	padding:32px;
}

#flagship-projects .product-title{
	font-size:24px;
	font-weight:600;
	margin:0 0 12px;
	color:#111;
}

#flagship-projects .product-text{
	font-size:15px;
	line-height:1.8;
	color:rgba(0,0,0,.65);
	margin-bottom:24px;
}

#flagship-projects .product-footer{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding-top:18px;
	border-top:1px solid rgba(0,0,0,.08);
}

#flagship-projects .product-meta{
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(0,0,0,.45);
}

#flagship-projects .product-arrow{
	font-size:20px;
	color:#111;
	transition:transform .3s ease;
}

#flagship-projects .product-card-modern:hover .product-arrow{
	transform:translateX(4px);
}

/* Section heading */
#flagship-projects .section-intro{
	max-width:760px;
	margin:0 auto;
}

/* Mobile */
@media (max-width: 767px){
	#flagship-projects .product-image{
		height:220px;
	}

	#flagship-projects .product-content{
		padding:24px;
	}

	#flagship-projects .product-title{
		font-size:21px;
	}
	
}

#company-values{
	background:#f8fafc;
}

#company-values .value-card{
	height:100%;
	background:#fff;
	border:1px solid rgba(0,0,0,.08);
	border-radius:20px;
	padding:34px 28px;
	transition:all .35s ease;
	box-shadow:0 10px 30px rgba(0,0,0,.04);
}

#company-values .value-card:hover{
	transform:translateY(-8px);
	box-shadow:0 22px 55px rgba(0,0,0,.10);
}

#company-values .value-icon{
	width:64px;
	height:64px;
	border-radius:16px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#d26739;
	color:#fff;
	font-size:24px;
	margin-bottom:22px;
}

#company-values .value-title{
	font-size:22px;
	font-weight:600;
	color:#111;
	margin-bottom:14px;
	line-height:1.3;
}

#company-values .value-text{
	font-size:15px;
	line-height:1.8;
	color:rgba(0,0,0,.65);
	margin:0;
}

#company-values .section-intro{
	max-width:760px;
	margin:0 auto;
}

@media (max-width:767px){
	#company-values .value-card{
		padding:26px 22px;
	}
	#company-values .value-title{
		font-size:20px;
	}
}

.partner-logo-img {
	height: 40px;
	width: 120px;
    object-fit: contain;
	filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.3s ease;
    margin: 0 15px;
}

.partner-logo-img:hover {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.05);
}

.policy-content h2 {
	margin-top: 40px;
	font-size: 22px;
	font-weight: 600;
}

.policy-content p {
	margin-bottom: 15px;
	line-height: 1.7;
	color: #555;
}

.policy-content ul {
	margin-top: 10px;
	margin-bottom: 20px;
}

.flickity-carousel,
.carousel-cell {
  width: 100%;
  height: 100%;
}

.carousel-cell {
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-cell h1 {
  font-size: 48px;
  font-weight: 700;
}

.banner-carousel,
.carousel-cell {
	height: 100%;
}

.slide-bg {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transform: scale(1.05);
}

/* flickity fade support */
.flickity-enabled.is-fade .flickity-slider {
	transform: none !important;
}

   body {
      font-family: 'Chivo', sans-serif;
      background: #fff;
      color: #111;
      overflow-x: hidden;
    }

    .hero-gradient {
      background:
        radial-gradient(circle at top right, rgba(0, 102, 255, 0.08), transparent 30%),
        radial-gradient(circle at bottom left, rgba(0, 0, 0, 0.05), transparent 30%);
    }

    .section-spacing {
      padding-top: 100px;
      padding-bottom: 10px;
    }

    .product-card {
      transition: all 0.35s ease;
      border: 1px solid rgba(0,0,0,0.06);
    }

    .product-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 30px 60px rgba(0,0,0,0.08);
    }

    .dark-section {
      background: #0d0d0d;
      color: white;
    }

    .stat-number {
      font-size: 60px;
      font-weight: 800;
      line-height: 1;
    }

    .gradient-line {
      width: 120px;
      height: 4px;
      background: linear-gradient(to right, #111, transparent);
    }

    .cta-box {
      background:
        linear-gradient(
          135deg,
          #111111 0%,
          #1c1c1c 100%
        );
    }

    .top-blur {
      position: absolute;
      top: -200px;
      right: -200px;
      width: 500px;
      height: 500px;
      background: rgba(0, 102, 255, 0.08);
      filter: blur(120px);
      border-radius: 100%;
      pointer-events: none;
    }