@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
/* Box sizing rules */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
* {
  margin: 0;
  padding: 0;
  font: inherit;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: initial;
}

/*html {
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html::-webkit-scrollbar {
  display: none;
}*/

/*html,*/
body {
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: initial;

  /* Hide scrollbar for IE, Edge and Firefox */
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar {
  display: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: initial;
}

@media (min-width: 768px) {
  html.lenis {
    height: auto;
  }

  .lenis.lenis-smooth {
    scroll-behavior: auto;
  }

  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }

  .lenis.lenis-stopped {
    overflow: hidden;
  }

  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }
}

/* Set core body defaults */
body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture,
svg {
  max-width: 100%;
  display: block;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  font-size: 16px;
  font-family: var(--ff-primary);
  color: #636363;

}

@font-face {
  font-family: "Mark Pro regular";
  src: url("../fonts/Mark-Pro.ttf") format("truetype");
}

@font-face {
  font-family: "Mark Pro bold";
  src: url("../fonts/Mark-Pro-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Mark Pro heavy";
  src: url("../fonts/Mark-Pro-Heavy.ttf") format("truetype");
}

p {
  position: relative;
  font-family: var(--ff-primary);
  font-size: 15px !important;
  line-height: 1.5;
  text-align: justify;
  color: #333;
  font-weight: 300;
}

.container {
  max-width: 1200px !important;
}

:root {
  --clr-primary-500: #F15822;
  --clr-secondary-500: #332E84;
  --clr-neutral-900: #141313;
  --clr-neutral-800: #222222;
  --clr-neutral-700: #282828;
  --clr-neutral-400: #A4A4A4;
  --clr-neutral-200: #E7E8E9;
  --clr-neutral-150: #F6F5F5;
  --clr-neutral-100: hsl(0 0% 100%);
  --ff-primary: "Mark Pro regular";
  --ff-primary-bold: "Mark Pro bold";
  --ff-primary-heavy: "Mark Pro heavy";
  --ff-secondary: "Lato", sans-serif;
  --ff-body: var(--ff-secondary);
  --ff-heading: var(--ff-primary);
  --fw-regular: 400;
  --fw-semi-bold: 500;
  --fw-semi-bold-600: 600;
  --fw-bold: 700;
  --fs-200: 0.75rem;
  --fs-300: 0.8125rem;
  --fs-350: 0.85rem;
  --fs-400: 0.875rem;
  --fs-500: 0.9375rem;
  --fs-600: 1.1rem;
  --fs-650: 1.3rem;
  --fs-700: 1.875rem;
  --fs-800: 2.5rem;
  --fs-900: 3.5rem;
  --fs-body: var(--fs-400);
  --fs-primary-heading: var(--fs-700);
  --fs-secondary-heading: var(--fs-600);
  --fs-nav: var(--fs-500);
  --fs-button: var(--fs-300);
  --size-100: 0.25rem;
  --size-200: 0.5rem;
  --size-300: 0.75rem;
  --size-400: 1rem;
  --size-500: 1.5rem;
  --size-600: 2rem;
  --size-700: 3rem;
  --size-800: 4rem;
  --size-900: 5rem;
  --size-1000: 7rem;
}

.vertical-align-center {
  align-items: center;
}

.vertical-align-top {
  align-items: flex-start;
}

.justify-content-center {
  justify-content: center;
}

.justify-content-spacebetween {
  justify-content: space-between;
}

.justify-self-end {
  justify-self: end;
}

.justify-text {
  text-align: justify;
}

@media (min-width: 50em) {
  .justify-self-end-md {
    justify-self: end;
  }
}

:where(.flow :not(:first-child)) {
  margin-top: var(--flow-spacer, 3em);
}

.text-center {
  text-align: center;
}

.text-center p {
  margin-inline: auto;
}

@media (max-width: 50em) {
  .text-center-sm-only {
    text-align: center;
  }

  .text-center-sm-only p {
    margin-inline: auto;
  }
}

.text-primary-500 {
  color: var(--clr-primary-500);
}

.text-primary-400 {
  color: var(--clr-primary-400);
}

.text-primary-300 {
  color: var(--clr-primary-300);
}

.text-accent-400 {
  color: var(--clr-accent-400);
}

.text-accent-300 {
  color: var(--clr-accent-300);
}

.text-accent-100 {
  color: var(--clr-accent-100);
}

.text-neutral-100 {
  color: var(--clr-neutral-100) !important;
}

.text-neutral-600 {
  color: var(--clr-neutral-600);
}

.text-neutral-800 {
  color: var(--clr-neutral-800);
}

.text-neutral-900 {
  color: var(--clr-neutral-900) !important;
}

.text-green-500 {
  color: var(--clr-green-500);
}

.text-green-200 {
  color: var(--clr-green-200);
}

.bg-1 {
  background-color: #fef6f2;
}

.bg-2 {
  background-color: #fdece5;
}

.bg-neutral-150 {
  background-color: var(--clr-neutral-150);
}

.bg-neutral-200 {
  background-color: var(--clr-neutral-200);
}

.bg-neutral-800 {
  background-color: var(--clr-neutral-800);
}

.bg-neutral-900 {
  background-color: var(--clr-neutral-900);
}

.fw-bold {
  font-weight: var(--fw-bold);
}

.fw-semi-bold {
  font-weight: var(--fw-semi-bold);
}

.fw-semi-bold-600 {
  font-weight: var(--fw-semi-bold-600);
}

.fw-regular {
  font-weight: var(--fw-regular);
}

.fs-primary-heading {
  font-size: var(--fs-primary-heading);
  line-height: 1.5;
}

.fs-secondary-heading {
  font-size: var(--fs-secondary-heading);
  line-height: 1.5;
}

.fs-200 {
  font-size: var(--fs-200);
}

.fs-300 {
  font-size: var(--fs-300);
}

.fs-400 {
  font-size: var(--fs-400);
}

.fs-600 {
  font-size: var(--fs-600);
}

.fs-650 {
  font-size: var(--fs-650);
}

.fs-700 {
  font-size: var(--fs-700);
}

.fs-800 {
  font-size: var(--fs-800);
}

.h-100 {
  height: 100vh !important;
}

.text-uppercase {
  text-transform: uppercase;
}

@media (min-width: 50em) {
  .display-md-inline-flex {
    display: inline-flex;
  }
}

.padding-block-1000 {
  padding: 4rem 0;
}

.padding-block-900 {
  padding: 70px 0;
}

.padding-block-700 {
  padding: 2rem 0;
}

.padding-block-500 {
  padding: var(--size-500) 0;
}

.padding-block-300 {
  padding: var(--size-300) 0;
}

.padding-block-200 {
  padding: var(--size-200) 0;
}

.padding-500 {
  padding: var(--size-500);
}

.padding-300 {
  padding: var(--size-500);
}

.padding-side-300 {
  padding: 0 var(--size-500);
}

.padding-top-900 {
  padding-top: 130px;
}

.padding-top-400 {
  padding-top: var(--size-400);
}

.padding-top-0 {
  padding-top: 0 !important;
}

.margin-top-auto {
  margin-top: auto !important;
}

.margin-top-100 {
  margin-top: var(--size-100) !important;
}

.margin-top-200 {
  margin-top: var(--size-200) !important;
}

.margin-top-300 {
  margin-top: var(--size-300) !important;
}

.margin-top-400 {
  margin-top: var(--size-400) !important;
}

.margin-top-500 {
  margin-top: var(--size-500) !important;
}

.margin-top-900 {
  margin-top: var(--size-900) !important;
}

.margin-top-800 {
  margin-top: var(--size-800) !important;
}

.margin-top-700 {
  margin-top: var(--size-700);
}

.margin-top-600 {
  margin-top: var(--size-600);
}

.margin-top-500 {
  margin-top: var(--size-500);
}

.margin-top-300 {
  margin-top: var(--size-300);
}

.margin-top-0 {
  margin-top: 0 !important;
}

.margin-top-auto {
  margin-top: auto !important;
}

.margin-bottom-700 {
  margin-bottom: var(--size-700);
}

.margin-bottom-900 {
  margin-bottom: var(--size-900);
}

.heading1 {
  position: relative;
  font-family: var(--ff-primary-bold);
  font-size: 35px;
  color: var(--clr-secondary-500);
}

.heading2 {
  position: relative;
  font-family: var(--ff-primary-bold);
  font-size: 28px;
  color: var(--clr-secondary-500);
}

.swiper .navigation {
  position: absolute;
  /*width:100% ;
  
  right: 0;*/
  bottom: 0;
}

.swiper .navigation .wrapper {
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 0;
  width: 134px;
}

.swiper .navigation .wrapper .btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 67px;
  height: 20px;
  background-color: var(--clr-primary-500);
  border-radius: 0;
  left: 15%;
  bottom: 50px;
}

.swiper .navigation .wrapper .btn svg {
  stroke: var(--clr-neutral-100);
  width: 5px;
  height: 10px;
}

.swiper .navigation .wrapper .btn.white {
  background-color: var(--clr-neutral-100) !important;
}

.swiper .navigation .wrapper .btn.white svg {
  stroke: var(--clr-neutral-900) !important;
  width: 5px;
  height: 10px;
}

.imageNav {
  position: relative;
}

.imageNav .btn {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0;
}

.imageNav .btn a {
  position: relative;
  display: block;
  background-color: var(--clr-primary-500);
  border-radius: 0;
  left: 0;
  width: 67px;
  height: 67px;
  overflow: hidden;
}

.imageNav .btn a span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 67px;
  height: 67px;
  transition: all 0.3s ease-out;
}

.imageNav .btn a span.first {
  position: absolute;
  left: 0;
  bottom: 0;
}

.imageNav .btn a span.second {
  position: absolute;
  left: -100%;
  bottom: -100%;
}

.imageNav .btn a:hover span.first {
  left: 100%;
  bottom: 100%;
}

.imageNav .btn a:hover span.second {
  left: 0%;
  bottom: 0%;
}

.boxPoint {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  -moz-columns: 2;
  columns: 2;
  margin-bottom: 20px;
}

.boxPoint li {
  position: relative;
  padding-left: 32px;
  width: 100%;
  margin-bottom: 20px;
}

.boxPoint li::before {
  position: absolute;
  content: "";
  width: 22px;
  height: 22px;
  left: 0;
  background-image: url("../images/icons/png/check.png");
  background-size: cover;
}

.boxPoint li h2 {
  position: relative;
  font-family: var(--ff-primary-bold);
  font-size: 16px;
  color: var(--clr-neutral-900);
  padding-top: 3px;
}

.pattern1 {
  position: relative;
}

.pattern1::before {
  position: absolute;
  content: "";
  width: 132px;
  height: 46px;
  bottom: 5%;
  left: -2%;
  background-image: url("../images/pattern1.png");
  background-size: cover;
}

.pattern1::after {
  position: absolute;
  content: "";
  width: 132px;
  height: 46px;
  top: 5%;
  right: -2%;
  background-image: url("../images/pattern1.png");
  background-size: cover;
}

form {
  position: relative;
}

form input,
form textarea {
  position: relative;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--clr-neutral-200);
}

.btn1 {
  position: relative;
  display: flex;
  padding: 10px 13px;
  align-items: center;
  justify-content: center;
  background-color: var(--clr-primary-500);
  width: -moz-fit-content;
  width: fit-content;
  min-width: 143px;
  font-family: var(--ff-primary-bold);
  font-size: 14px;
  color: var(--clr-neutral-100);
  text-decoration: none;
}

.btn1.btnSecondary {
  background-color: var(--clr-secondary-500) !important;
}

.btn1 span {
  z-index: 2;
}

.btn1::before {
  position: absolute;
  content: "";
  width: 0%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--clr-neutral-900);
  opacity: 0.1;
  transition: all 0.3s ease-out;
}

.btn1:hover::before {
  width: 100%;
}

.read-more-btn-white {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  border: 2px solid #fff;
  border-radius: 30px;
  font-family: var(--ff-heading);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.read-more-btn-white .arrow {
  margin-left: 10px;
  transition: transform 0.3s ease;
}

.read-more-btn-white:hover {
  box-shadow: 0 0 8px #fff;
}

.read-more-btn-white:hover .arrow {
  transform: translateX(5px);
}

header {
  position: fixed;
  width: 100%;
  z-index: 99;
  transition: all 0.3s;
}

header .mainSection {
  width: 100%;
}

header .mainSection .wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header .mainSection .wrapper .logo {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 0;
  z-index: 2;
  flex-shrink: 0;
}

header .mainSection .wrapper .logo img {
  width: 150px;
}

header .mainSection .wrapper .nav {
  position: relative;
}

header .mainSection .wrapper .nav ul {
  position: relative;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: space-between;
  gap: 40px;
}

header .mainSection .wrapper .nav ul li {
  position: relative;
  width: 100%;
}

header .mainSection .wrapper .nav ul li a {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  font-size: 14px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-family: var(--ff-primary);
  color: var(--clr-secondary-500);
  text-transform: uppercase;
  white-space: nowrap;
  transition: all 0.3s;
  font-weight: 600;
}

header .mainSection .wrapper .nav ul li.active a,
header .mainSection .wrapper .nav ul li:hover a {
  color: var(--clr-primary-500) !important;
}

header .mainSection .wrapper .call {
  position: relative;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--clr-primary-500);
  flex-shrink: 0;
  z-index: 2;
}

header .mainSection .wrapper .call::before {
  position: absolute;
  content: "";
  width: 40vw;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--clr-primary-500);
  z-index: -1;
}

header.background {
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
}

.bannerSwiper {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #f2f3f5;
}

.bannerSwiper .swiper-slide {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 650px;
  display: flex;
  align-items: end !important;
  padding-bottom: 80px;
}

.bannerSwiper .swiper-slide::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 61.46%);
  z-index: 2;
}

.bannerSwiper .swiper-slide .box {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 2;
}

.bannerSwiper .swiper-slide .box h1 {
  position: relative;
  font-family: var(--ff-primary-bold);
  font-size: 33px;
  color: var(--clr-neutral-100);
  text-transform: uppercase;
  opacity: 0;
  margin-left: -300px;
  transition: all 2s 1s;
}

.bannerSwiper .swiper-slide .box .buttonWrapper {
  position: relative;
  display: flex;
  gap: 15px;
  opacity: 0;
  margin-left: -350px;
  transition: all 2s 1s;
}

.bannerSwiper .swiper-slide .slideImg {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-position: center center;
  object-position: center center;
  -o-object-fit: cover;
  object-fit: cover;
  right: 0;
  top: 0;
  transform: scale(1.5);
  transition: all 3s;
}

.bannerSwiper .swiper-slide.swiper-slide-active .box h1 {
  opacity: 1;
  margin-left: 0;
}

.bannerSwiper .swiper-slide.swiper-slide-active .box .buttonWrapper {
  opacity: 1;
  margin-left: 0;
}

.bannerSwiper .swiper-slide.swiper-slide-active .slideImg {
  transform: scale(1);
}

.banner-inside {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.banner-inside .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  z-index: 1;
}

.banner-inside::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(180deg, #FFFFFF -16.52%, rgba(255, 255, 255, 0) 85.34%);
  z-index: 2;
}

.banner-inside .container {
  z-index: 3;
}

.banner-inside h1 {
  position: relative;
  font-family: var(--ff-primary-bold);
  color: var(--clr-neutral-100);
  font-size: 40px;
  text-transform: uppercase;
}

.ourServices {
  position: relative;
  background-image: url("../images/bg/bg1.jpg");
  background-position: center center;
  background-size: cover;
}

.ourServices .box {
  position: relative;
  display: flex;
  flex-direction: column;
}

.ourServices .box img {
  box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, 0.25);
}

.ourServices .box h2 {
  position: relative;
  font-family: var(--ff-primary-bold);
  font-size: 18px;
  color: var(--clr-secondary-500);
  margin-top: 20px;
}

.counter {
  position: relative;
  background-image: url("../images/bg/bg2.jpg");
  background-position: center center;
  background-size: cover;
}

.counter .box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.counter .box h3 {
  position: relative;
  text-align: center;
  font-family: var(--ff-primary);
  font-size: 25px;
  color: var(--clr-neutral-100);
}

.counter .box .num {
  position: relative;
  text-align: center;
  font-family: var(--ff-primary);
  font-size: 18px;
  color: var(--clr-neutral-100);
}

.counter .box p {
  color: var(--clr-neutral-100);
}


.counter1 {
  position: relative;
  background-image: url("../images/bg/bg2.jpg");
  background-position: center center;
  background-size: cover;
}

.counter1 .box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.counter1 .box .num {
  position: relative;
  text-align: center;
  font-family: var(--ff-primary-bold);
  font-size: 50px;
  color: var(--clr-neutral-100);
}


.counter1 .box p {
  color: var(--clr-neutral-100);
}

.expertise {
  position: relative;
  background-image: url("../images/bg/bg3.jpg");
  background-position: center center;
  background-size: cover;
}

.ourProjects {
  position: relative;
}

.ourProjects p {
  color: #E4E4E4 !important;
}

.ourProjects::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 80%;
  left: 0;
  top: 0;
  background-color: var(--clr-secondary-500);
}

.chairmanMsg {
  position: relative;
}

.chairmanMsg .photo {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.chairmanMsg .photo .details {
  position: absolute;
  display: flex;
  flex-direction: column;
  z-index: 2;
  bottom: 50px;
  right: 0;
  gap: 10px;
}

.chairmanMsg .photo .details .name,
.chairmanMsg .photo .details .deg {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 180px;
  font-family: var(--ff-primary);
  height: 34px;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  color: var(--clr-neutral-100);
}

.chairmanMsg .photo .details .name {
  background-color: var(--clr-primary-500);
}

.chairmanMsg .photo .details .deg {
  background-color: var(--clr-secondary-500);
  margin-left: 20px;
}

.visionMission {
  position: relative;
  padding: 20px 0;
  overflow: hidden;
}

.visionMission .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  top: 0;
  z-index: 1;
}

.visionMission .container {
  position: relative;
  z-index: 2;
}

.aboutBg {
  position: relative;
  background-image: url("../images/bg/bg7.jpg");
  background-size: cover;
  background-position: center center;
}

.contactUs {
  position: relative;
}

.contactUs .formWrapper {
  position: relative;
  padding: 40px;
  background-color: var(--clr-neutral-150);
}

.contactUs .details {
  position: relative;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 350px;
}

.contactUs .details li {
  position: relative;
  display: flex;
  gap: 10px;
}

.contactUs .details li .icon {
  min-width: 24px;
}

.contactUs .details li p {
  font-size: 16px;
}

footer {
  position: relative;
  padding: 20px 0 5px 1px;
  background-image: url("../images/bg/footer.jpg");
  background-color: var(--clr-secondary-500);
  background-position: center center;
  background-size: cover;
}

footer .contact {
  position: relative;
  height: 100%;
}

footer .nav {
  position: relative;
}

footer .nav ul {
  position: relative;
  /*display: flex;*/
  width: -moz-fit-content;
  width: fit-content;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: space-between;
  gap: 40px;
}

footer .nav ul li {
  position: relative;
  width: 100%;
}

footer .nav ul li a {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  font-size: 13px;
  align-items: center;
  /*justify-content: center;*/
  text-decoration: none;
  font-family: var(--ff-primary);
  color: var(--clr-neutral-100);
  text-transform: uppercase;
  white-space: nowrap;
  transition: all 0.3s;
  margin-bottom: 18px;


}

footer .nav ul li:hover a {
  color: var(--clr-primary-500) !important;
}

footer .connect {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 10px;
}

footer .connect li {
  position: relative;
  display: flex;
  gap: 15px;
}

footer .connect li .icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  padding-top: 5px;
}

footer .connect li .text {
  margin-top: 0;
  color: #fff;
}

footer .social {
  position: relative;
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 10px;
  margin-top: 30px;
}

footer .link {
  position: relative;
}

footer .link h4 {
  position: relative;
  font-family: var(--ff-primary-bold);
  font-size: 20px;
  color: var(--clr-neutral-100);
}

footer .link ul {
  position: relative;
  padding: 0;
  margin: 0;
  list-style: none;
  margin-top: 15px;
}

footer .link ul li {
  position: relative;
  margin-bottom: 5px;
}

footer .link ul li a {
  position: relative;
  display: block;
  font-size: 16px;
  text-decoration: none;
  color: var(--clr-neutral-100);
}

footer .link ul li a:hover {
  color: var(--clr-primary-500);
}

footer .copyright {
  position: relative;
  margin-top: 10px;
  margin-bottom: 0px;
  padding: 10px 20px 0px 20px;
  text-align: center;
  font-size: 14px;
  border-top: 1px solid var(--clr-neutral-400);
  color: var(--clr-neutral-100);
}

/*# sourceMappingURL=style.css.map */







.expertiseSwiper .swiper-slide {
  background: #fff;
  overflow: hidden;

  /* box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    */
}

/*  .swiper-slide img {
    width: 100%;
    height: auto;
  }
*/
.expertiseSwiper .swiper-wrapper {
  padding-bottom: 60px;

}

/* Move pagination to the bottom */
.expertiseSwiper .swiper-pagination {
  bottom: 10px !important;
  text-align: center;
}

/* Default bullet style */
.expertiseSwiper .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.5);
  width: 10px;
  height: 10px;
  opacity: 1;
  margin: 0 6px !important;
}


.expertiseSwiper .swiper-pagination-bullet-active {
  background: var(--clr-primary-500) !important;
  width: 30px;
  height: 10px;
}

.expertiseSwiper .swiper-pagination-bullet {
  border-radius: 0;

  transition: 0.3s;

}

.hover-box {
  position: relative;
  width: auto;
  height: 380px;
  overflow: hidden;
  cursor: pointer;
  background-image: url(../images/bg.jpg);
  background-color: #fff;
  background-size: contain;




}

/* IMAGE CONTAINER */
.image-wrapper {
  position: absolute;
  inset: 0;
  transform: translateY(-28%);
  /* image pushed up */
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* IMAGE */
.image-wrapper img {
  width: 100%;
  height: 100%;
  /* extra height for reveal */
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* HOVER STATE */
.hover-box:hover .image-wrapper {
  transform: translateY(0);
}

.hover-box:hover .image-wrapper img {
  transform: scale(1.2);
}

/* DARK GRADIENT FOR TEXT READABILITY */
.hover-box:hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.6),
      rgba(0, 0, 0, 0.1));
  z-index: 1;
}

/* TEXT AT BOTTOM */
.hover-text {
  position: absolute;
  display: block;
  bottom: 10px;
  padding: 20px;
  width: 100%;
  left: 0;
  text-align: center;
  color: var(--clr-secondary-500);
  font-size: 18px;
  font-weight: 600;
  z-index: 2;
  transition: transform 0.5s ease;
}

.hover-box:hover .hover-text {
  transform: translateY(-6px);
  color: #fff;
}



.service-box {
  position: relative;
  overflow: hidden;



}

.service-box img {
  width: 100%;
  transition: 0.4s ease;

}

/* Dark overlay */
.service-box .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.1) 0%,
      /* light top */
      rgba(0, 0, 0, 0.4) 50%,
      /* medium */
      rgba(0, 0, 0, 0.8) 100%
      /* dark bottom */
    );
  padding: 30px;
  color: #fff;
  opacity: 1;
  transition: 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.service-box .text-ser {

  transition: 0.4s ease;
}

/* Show overlay on hover */
.service-box:hover .text-ser {
  transform: translateY(-20px);
  transition: 0.4s ease;
}

/* Number or Icon circle */
.circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 3px solid var(--clr-primary-500);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  margin-bottom: 15px;
  color: #fff;
}

.service-box:hover .circle {
  background: var(--clr-primary-500)
}

.service-box h3 {
  font-size: 26px;
  margin: 0 0 10px;
  font-weight: 600;
}

.service-box p {
  margin: 0;
  line-height: 1.4em;
  color: #fff;
  font-size: 14px !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  hyphens: auto !important;
  word-spacing: normal !important;
  letter-spacing: 0 !important;
  line-height: 1.6 !important;
}


.banner-inside {
  position: relative;
  height: 450px;
  overflow: hidden;
  color: #fff;
}

.banner-inside::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom,
      rgb(255 255 255 / 82%) 0%,
      rgba(0, 0, 0, 0.4) 50%,
      rgb(0 0 0 / 64%) 100%);
  z-index: 2;
}



.banner-inside .banner-content {
  position: relative;
  z-index: 10;
  padding-top: 160px;
  color: #fff;
}

.banner-inside .banner-content h3 {

  padding-bottom: 15px;
}

.banner-inside .banner-content a {
  color: #fff;
  text-decoration: none;
}

.banner-inside .banner-content a.active {
  color: var(--clr-primary-500);
}

/* Swiper wrapper behind content */
.innerbannerSwiper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Slide images */
.innerbannerSwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.5);
  animation: kenburns 8s ease-in-out infinite;
}

/* Zoom-in effect */
@keyframes kenburns {
  0% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

.contact-section {
  padding: 80px 0;
  color: #fff;
  background: #333;
  background: url(../images/banner/banner1.jpg);
  position: relative;
  background-attachment: fixed;
}

.contact-section:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(41, 37, 106, 0.3);
  z-index: 1;
}

.contact-form form {
  background: rgba(255, 255, 255, .1);
  padding: 50px 30px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 1;

}

.contact-title {
  position: relative;
  margin-bottom: 20px;

  z-index: 1;
  color: #fff;
}

.contact-p {
  text-align: center;
  z-index: 1;
  position: relative;
  margin-bottom: 50px;
  color: #fff;
}

.contact-input {
  background: transparent !important;
  border: none;
  border-bottom: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 0;
  padding-left: 0;
  color: #fff !important;
  font-size: 16px;
  padding-bottom: 8px;
}

.contact-input:focus {
  border-bottom: 1px solid #fff;
  box-shadow: none;
  outline: none;
}

.contact-input::placeholder {
  color: rgba(255, 255, 255, 0.85);
}

.news-events-section {
  padding: 25px 0;
  position: relative;
}

.news-title {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 40px;
}

.news-arrows {
  position: absolute;
  right: 70px;
  top: -10px;
}

.node-low .node-content {
  top: 110px;
}

.news-arrows {
  display: flex;
  gap: 20px;
  z-index: 10;
}

.custom-prev,
.custom-next {
  width: 70px;
  height: 25px;
  color: #fff !important;
  border-radius: 0%;
  background: var(--clr-primary-500);
}

.custom-prev:after,
.custom-next:after {
  font-size: 18px;
  color: #000;
}

.news-card {
  background: transparent;
  transition: all .5s;

  overflow: hidden;
}

.news-card:hover {
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;
  transition: all .5s;
}

.news-content {
  padding: 5px 20px;
}

.news-image {
  position: relative;
  margin-bottom: 15px;
  overflow: hidden;
  transition: all .5s;
}

.news-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: all .5s;
}

.news-card:hover .news-image img {
  transform: scale(1.2);
  transition: all .5s;
}


.date {
  font-size: 14px;
  margin-bottom: 5px;
  color: var(--clr-primary-500);
}

.news-heading a {
  text-decoration: none;
  color: var(--bs-heading-color);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.newsSwiper .swiper-slide {
  background: transparent !important;
}


.bannerSwiper .navigation {
  position: absolute;
  width: fit-content;
  bottom: 0;
  right: 60px !important;
}

.bannerSwiper .navigation .wrapper {
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 0;
  width: 134px;
}

.bannerSwiper .navigation .wrapper .btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 67px;
  height: 20px;
  background-color: var(--clr-primary-500);
  border-radius: 0;
  left: 15%;
  bottom: 50px;
}

.banner-inside h3 {
  font-weight: 400 !important;
  font-size: 20px !important;
}

.accordion-1 .accordion-item {
  background: rgba(255, 255, 255, .04) !important;
  border-radius: 0px !important;
  border: 0px !important;
  border-bottom: 1px solid #eee !important;
  backdrop-filter: blur(10px);
  font-family: var(--ff-primary);
}

.accordion-button {
  font-weight: 600;
  border-radius: 0px !important;
  background: rgba(255, 255, 255, .04) !important;
  color: var(--clr-secondary-500);
}

.clientSwiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.accordion-item strong {
  color: var(--clr-primary-500);
}

.rg-logo img {
  border: 0px solid #eee;

  width: 100%;
  padding: 0px 10px;
}


.col-md-20 {
  flex: 0 0 20%;
  max-width: 20%;
}



.certificate-section {
  padding: 50px 0;
  /* background: #f7f7f7; */
  border-top: 1px solid #eeeeee;
}



.certificate-images {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
  justify-content: center;
}

.certificate-images:before {
  position: absolute;
  content: '';
  background: #eee;
  width: 100%;
  height: 200px;
  bottom: 0;
  left: 0;
}

.certificate-images img {
  width: 40%;
  height: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  background: #fff;
  position: relative;
  z-index: 1;
}

.certificate-content {
  max-width: 480px;
}

.certificate-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 2px;
  color: var(--clr-primary-500);
  margin-bottom: 10px;
}



.certificate-content p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
}

/* Responsive */
@media (max-width: 992px) {

  .certificate-images {
    justify-content: center;
  }
}

.color-orange {
  color: var(--clr-primary-500);
}

/*.value-box {
  background:  rgba(255, 255, 255, 1);
  backdrop-filter: blur(10px);
  padding: 30px 20px;
  
  text-align: center !important;
  height: 100%;
  border: 0px solid #e0e0e0;
  transition: all 0.3s ease;

border: 1px solid  #eee;
}

.value-box i {
  font-size: 42px;
 color:var(--clr-primary-500);
  margin-bottom: 15px;
  display: inline-block;
  background:  rgba(255, 255, 255, .9);
  padding: 10px 10px 0px 10px;
 box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
   border-radius: 50px;
   border: 1px solid  var(--clr-primary-500);
}

.value-box h5 {
  font-weight: 600;
  margin-bottom: 10px;
  color: ;
}

.value-box p {
  font-size: 14px;
color: ;
  margin: 0;
  text-align: center !important;
}

.value-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  background: var(--clr-primary-500);
}*/
.value-bg {
  background-image: url(../images/bg/bg8.jpg);
  background-size: cover;
  background-attachment: fixed;
}


.value-3d-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(.4, .2, .2, 1);
}


/* COMMON FACE */
.value-3d-front,
.value-3d-back {
  position: relative;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.value-3d-front:before {
  background: #332e84;
  position: absolute;
  width: 50px;
  height: 10px;
  content: '';
  top: 0px;
  left: 0;
  z-index: 1;
}

.value-3d-front:after {
  background: #F15822;
  position: absolute;
  width: 50px;
  height: 10px;
  content: '';
  bottom: 0px;
  right: 0;
  z-index: 1;
}

.value-3d-front:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18),
    0 6px 10px rgba(0, 0, 0, 0.12);
}

/* FRONT */
.value-3d-front {
  background-image: url(../images/bg/bg8.jpg) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  text-align: center !important;
  transition: box-shadow 0.4s ease,
    transform 0.4s ease;
}

.value-3d-front i {
  font-size: 42px;
  color: var(--clr-primary-500);
  margin-bottom: 15px;
  background: rgba(255, 255, 255, .9);
  padding: 10px 15px 0px 15px;
  border-radius: 50%;
  border: 1px solid var(--clr-primary-500);
}

.value-3d-front h5 {
  font-weight: 600;
  margin-bottom: 10px;
}

.value-3d-front p {

  margin: 0;
  text-align: center !important;
}

/* BACK */
.value-3d-back {
  background: var(--clr-primary-500);
  color: #fff;
  transform: rotateY(180deg);
  text-align: center !important;
}

.value-3d-back h5 {
  font-weight: 600;
  margin-bottom: 10px;

}

.value-3d-back p {

  text-align: center !important;
  color: #fff;
}



.abfact-fixed {
  position: relative;
}

.abfact-left {
  position: sticky;
  top: 0;
  height: 100vh;
}

.abfact-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.abfact-img.active {
  opacity: 1;
}

.abfact-right {


  padding: 100px 100px;
  overflow: hidden;
  background: url(../images/bg1.jpg);
  background-repeat: no-repeat;
  background-size: 50% auto;
  background-position: center right;
  background-attachment: fixed;

}

.abfact-content {
  margin-bottom: 50px;
  opacity: .5;
}

.abfact-content.active {
  opacity: 1 !important;
}

.abfact-content h2 {
  font-size: 36px;
  margin-bottom: 10px;
}

@media (max-width: 991px) {
  .abfact-left {
    position: relative;
    height: auto;
  }

  .abfact-img {
    position: relative;
    height: 300px;
    opacity: 1;
    margin-bottom: 20px;
  }
}

.service-list {
  list-style: none;
  padding: 0;
  margin: 0px;
}

.service-list li {

  padding: 10px 0;

}

.service-list li:last-child {
  border-bottom: none;
}

.service-list .icon {
  min-width: 45px;
  height: 45px;
  /*background: #F15822;*/
  /* border-radius: 50%;*/
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .4s;
}

.service-list .icon img {
  width: 37px;
  /*filter: invert(1);*/
}

.service-list .content h5 {
  font-size: 17px;
  margin-bottom: 5px;
  font-weight: 600;
  color: #333;
}

.service-list .content p {
  margin: 0;

}

.service-list1 {
  list-style: none;
  padding: 0;
  margin: 0;

}

.service-list1 li {
  display: block;
  float: left;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 10px 0;
  margin: 10px 20px 10px 0px;

  transition: background 0.3s ease;
}

.service-list1 li:last-child {
  border-bottom: none;
}

.service-list1 .icon {
  position: absolute;
  min-width: 40px;
  height: 40px;
  left: 0;
  background: #F15822;
  /*border-radius: 50%;*/
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-list1 .icon img {
  width: 30px;
  /* filter: invert(1);*/
}


.service-list1 .content h5 {
  display: flex;
  align-items: center;
  padding-left: 50px;
  position: relative;
  font-size: 17px;
  margin-bottom: 5px;
  font-weight: 600;
  color: #333;
}

.service-list1 .content p {
  margin: 0;

}

.service-box1 {
  position: relative;
  background: transparent;
  padding: 10px 10px 10px 50px;

  transition: all 0.35s ease;
  margin-bottom: 17px;

}

.service-box1 .icon {

  width: 45px;
  height: 45px;
  /*background: #F15822;*/
  /* border-radius: 50%;*/
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  transition: background 0.3s ease;
}

.service-box1 .icon img {
  width: 37px;
  /* filter: invert(1);*/
}


.service-box1 h5 {


  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.service-box1 p {
  font-size: 14px;
  color: #555;
  margin: 0;
}

/* underline */
.service-box1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--clr-primary-500);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

/* hover effect */
.service-box1:hover::after {
  transform: scaleX(1);
}

.under-tx {
  color: var(--clr-primary-500);
  font-size: 20px;
}

.img-tm {
  background: url(../images/bg-3.png);
  background-position: bottom left;


}

.img-tm img {
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.12);
}

.turnkey-bg {
  background-color: #f1f0fc;
  background-image: url(../images/bg-3.png);
  background-position: top left;
  background-attachment: fixed;

}



@media (min-width: 992px) {
  .sticky-img {
    position: sticky;
    top: 200px;
    z-index: 10;
  }
}




/* MAIN CIRCLE WRAPPER */
.circle-wrapper {
  position: relative;
  width: 650px;
  height: 650px;
  margin: auto;
}

/* DOTTED ORBIT */
.circle-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  border: 3px dotted rgba(0, 0, 0, 0.6);
  transform: translate(-50%, -50%);
}

/* CENTER */
.center-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background-image: url(../images/e-1.jpg);
  background-color: var(--clr-primary-500);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  font-size: 28px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
  z-index: 5;
}

/* RADIAL POSITIONING */
.circle-item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(var(--angle)) translate(250px) rotate(calc(-1 * var(--angle)));
}

/* ITEM STYLE */
.item-inner {
  position: relative;
  width: 170px;
  height: 170px;
  background: #fff;
  border-radius: 50%;
  text-align: center;
  padding: 35px 15px 20px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
  transition: 0.3s ease;
}

.item-inner:hover {
  transform: translateY(-8px);
}

.item-inner i {
  font-size: 34px;
  color: var(--clr-secondary-500);
  margin-bottom: 10px;
}

.item-inner h6 {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 15px;
}


/* ======================= */
/* RESPONSIVE */
/* ======================= */

@media (max-width: 1200px) {
  .circle-wrapper {
    width: 550px;
    height: 550px;
  }
}

@media (max-width: 992px) {

  .circle-wrapper {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    justify-items: center;
  }

  .circle-wrapper::before {
    display: none;
  }

  .center-circle {
    position: static;
    transform: none;
    margin-bottom: 30px;
    grid-column: span 2;
  }

  .circle-item {
    position: static;
    transform: none;
  }

  .circle-item::before {
    display: none;
  }

  .item-inner {
    width: 180px;
    height: 180px;
  }
}

@media (max-width: 576px) {
  .circle-wrapper {
    grid-template-columns: 1fr;
  }
}


/* ===== RIGHT BACKGROUND WRAPPER ===== */

.in-services-wrapper {
  position: relative;
  padding: 40px;

  overflow: hidden;


  /* Default Background */
  background-image: url('../images/service/01.jpg');
  background-size: cover;
  background-position: center;
  transition: 0.5s ease;
}

/* Dark Overlay */
.in-services-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}

/* Keep content above overlay */
.in-services-wrapper .row {
  position: relative;
  z-index: 2;
}

/* =====In SERVICE BOX ===== */

.in-service-box {
  padding: 30px;

  border: 0 rgba(255, 255, 255, 0.6);
  background: transparent;
  color: #fff;
  height: 100%;
  transition: 0.3s ease;
  cursor: pointer;
}

.in-service-box h5 {
  font-weight: 600;
  margin-bottom: 15px;
}

.in-service-box p {
  font-size: 14px;
  margin: 0;
  color: #fff;
  text-align: left;
}

.border-extra-light {
  border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Hover effect on box */
.in-service-box:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
}

.in-services-wrapper .col-md-6 {
  padding: 0;
  margin: 0;
}

/* ===== Background Change on Hover ===== */

.in-services-wrapper:has(.box1:hover) {
  background-image: url('../images/service/06.jpg');
}

.in-services-wrapper:has(.box2:hover) {
  background-image: url('../images/service/02.jpg');
}

.in-services-wrapper:has(.box3:hover) {
  background-image: url('../images/service/04.jpg');
}

.in-services-wrapper:has(.box4:hover) {
  background-image: url('../images/service/05.jpg');
}

@media(max-width:991px) {
  .in-services-wrapper {
    min-height: auto;
  }
}

/*------------------------
service-box-turn-new style
--------------------------
-------------------------*/

.service-box-turn {
  position: relative;
  width: 100%;
  height: 150px;

  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  cursor: pointer;
  background: #eee;
}

.service-box-turn .turn-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: block;
}

.service-box-turn .turn-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.7), rgba(51, 46, 132, 0.7));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  transition: all 0.5s ease;
}

.service-box-turn h5 {
  color: #fff !important;
  font-family: var(--ff-primary-bold);
  font-size: 19px;
  padding: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
  line-height: 1.3;
  z-index: 5;

}

/* Hover States */
.service-box-turn:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(51, 46, 132, 0.2);
}

.service-box-turn:hover .turn-img {
  transform: scale(1.15);
}

.service-box-turn:hover .turn-overlay {
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.8), rgba(51, 46, 132, 0.9));
}

/* Special styling for All Projects Button */
.service-box-turn.all-projects-btn {
  background: var(--clr-secondary-500);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 15px;
  align-items: center;
  text-decoration: none;
}

.service-box-turn.all-projects-btn h5 {
  font-size: 18px;
  letter-spacing: 2px;
}

.service-box-turn.all-projects-btn .icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.4s ease;
}

.service-box-turn.all-projects-btn .icon img {
  width: 100%;
  filter: brightness(0) invert(1);
}

.service-box-turn.all-projects-btn:hover {
  background: var(--clr-primary-500);
}

.service-box-turn.all-projects-btn:hover .icon {
  transform: translateX(10px);
}

.service-box-turn.all-projects-btn::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  pointer-events: none;
}

.psm-content {
  border-radius: 20px;

  padding: 20px;
  height: 100%;
  background: #Fff;

}

.psm-border-primary {
  border: 1px solid var(--clr-primary-500);

}

.psm-border-secondary {
  border: 1px solid var(--clr-secondary-500);
}

.psm-content hr {

  opacity: 1;
}

.psm-border-primary hr {
  border-color: var(--clr-primary-500);

}

.psm-border-secondary hr {
  border-color: var(--clr-secondary-500);
}

.psm-content h5 {
  font-size: 22px;
  font-weight: 600;
  color: var(--clr-secondary-500);
}

.psm-col img {
  border-radius: 20px;
}

.pcs-container {
  padding-left: 10% !important;
  padding-right: 10% !important;
}

.pcs-img {
  transform: scale(1.4);
  transform-origin: center;
}

.pcs-content h5 {
  font-weight: 600;
  color: #333;
  font-size: 1.5rem;
  margin-bottom: 5px;
}

.pcs-content p {
  text-align: left;
  font-size: 1.15rem;
  margin-bottom: 0;
}

@media (min-width: 1200px) {
  .row-cols-xl-7>* {
    flex: 0 0 auto;
    width: 14.2857%;
  }
}

.fixed-bg {
  height: 250px;
  /* adjust as needed */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;

}

.color-orange {
  color: var(--clr-primary-500);

}

/*---------------------------
TIME LINE ------------------------
------------------------------*/

.timeline-sec {
  position: relative;
  padding-bottom: 50px;
}

.timeline-wrapper {
  position: relative;
}

/* Timeline Scroller */
.timeline-viewport {
  background: #fff;
  width: 100%;
  height: auto !important;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 190px 0px 250px 0px;

  /* Hide scrollbar by default (desktop fits without scroll) */
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Scrollbar styling for Chrome, Safari and Opera */
.timeline-viewport::-webkit-scrollbar {
  display: none;
}

/*.timeline-viewport::-webkit-scrollbar {
            display: none;
        }*/

.timeline-track {
  padding-left: 20px;
  padding-right: 100px;
  /* Compact padding for desktop fit */
  display: flex;
  align-items: center;
  width: auto;
  height: auto;
  position: relative;
}

/* Axis Elements */
.axis-start {
  width: 60px;
  height: 2px;
  background: #eee;
  flex-shrink: 0;
  transform: translateY(40px);
  margin-right: -40px;
  z-index: 1;
}

.axis-end {
  width: 100px;
  height: 2px;
  background: var(--clr-primary-500);
  flex-shrink: 0;
  transform: translateY(40px);
  margin-left: 0;
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.axis-end::after {
  content: "";
  position: absolute;
  right: -5px;
  width: 0;
  height: 0;
  border-left: 8px solid var(--clr-primary-500);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.axis-end .growth-text {
  position: absolute;
  top: -22px;
  left: 50px;
  right: auto;
  transform: none;
  font-size: 12px;
  font-weight: 700;
  color: var(--clr-primary-500);
  white-space: nowrap;
  text-align: left;
}

.axis-connector {
  width: 100px;
  height: 80px;
  position: relative;
  flex-shrink: 0;
  z-index: 1;
  margin: 0 -30px;
}

/* S-Curve Step Logic */
.axis-connector::before,
.axis-connector::after {
  content: '';
  position: absolute;
  width: 50.5%;
  height: 50%;
  border-color: #eee;
  border-style: solid;
  border-width: 0;
}

/* Step Up (Low to High) */
.step-up::before {
  bottom: 0;
  left: 0;
  border-bottom-width: 2px;
  border-right-width: 2px;
  border-bottom-right-radius: 20px;
}

.step-up::after {
  top: 0;
  right: 0;
  border-top-width: 2px;
  border-left-width: 2px;
  border-top-left-radius: 20px;
}

/* Step Down (High to Low) */
.step-down::before {
  top: 0;
  left: 0;
  border-top-width: 2px;
  border-right-width: 2px;
  border-top-right-radius: 20px;
}

.step-down::after {
  bottom: 0;
  right: 0;
  border-bottom-width: 2px;
  border-left-width: 2px;
  border-bottom-left-radius: 20px;
}

/* Node Component */
.timeline-node {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 70px;
}

.node-low {
  transform: translateY(40px);
}

.node-high {
  transform: translateY(-40px);
}

.year-indicator {
  width: 55px;
  height: 55px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  line-height: 0.9;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
  border: 2px solid #e0e0e0;
  transition: transform 0.3s ease;
}

.timeline-node:hover .year-indicator {
  transform: scale(1.05);
}

.bg-blue {
  background: var(--clr-secondary-500);
}

.bg-red {
  background: var(--clr-primary-500);
}

/* Vertical Connectors */
.node-stem {
  position: absolute;
  width: 1px;
  background: #333;
  left: calc(50% + 0px);
  z-index: 0;
}

.node-high .node-stem {
  bottom: 60px;
  height: 100px;
}

.node-low .node-stem {
  top: 60px;
  height: 104px;
}

/* Content Positioning */
.node-content {
  position: absolute;
  width: 140px;
  left: 40px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}

.node-high .node-content {
  top: -123px;
}

.node-low .node-content {
  top: 110px;
}

.node-content .cat-label {
  color: #333;
  font-weight: 700;
  font-size: 13.5px !important;
  margin: 0;
  text-align: left !important;
  text-align-last: left !important;
  text-justify: none !important;
  word-spacing: normal !important;
  white-space: normal;
  line-height: 1.3;
}

.node-content .info-text {
  color: var(--clr-neutral-700);
  font-size: 12px !important;
  line-height: 1.45;
  margin: 0;
  text-align: left !important;
  text-align-last: left !important;
  text-justify: none !important;
  word-spacing: normal !important;
}

/* Vertical line for mobile */
@media (max-width: 1199px) {
  .timeline-track::before {
    content: '';
    position: absolute;
    left: 25px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #eee;
    z-index: 1;
  }

 /* .node-stem {
    display: none;
  }*/

  .timeline-node {
    width: 90px;
  }

  .axis-connector {
    width: 120px;
  }

  .axis-end {
    width: 120px;
  }

  .node-content {
    width: 170px;
  }

  .node-content .cat-label {
    font-size: 12px !important;
  }

  .node-content .info-text {
    font-size: 9.5px !important;
  }
}

/* Compact spacing for standard desktops (fits without scroll) */
@media (min-width: 1200px) and (max-width: 1599px) {
  .axis-connector {
    width: 100px;
  }

  .axis-end {
    width: 100px;
  }

  .node-content {
    width: 160px;
  }

  .timeline-track {
    padding-right: 150px;
  }
}

/* Optimal spacing for large desktops */
@media (min-width: 1600px) {
  .axis-connector {
    width: 130px;
  }

  .axis-end {
    width: 130px;
  }

  .node-content {
    width: 180px;
  }

  .node-content .cat-label {
    font-size: 14px !important;
  }

  .node-content .info-text {
    font-size: 10.5px !important;
  }

  .timeline-track {
    padding-right: 200px;
  }
}

/* Content Indicator Dot */
.node-content::before {
  content: '';
  position: absolute;
  left: -16px;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ccc;
  z-index: 10;
}

@media (max-width: 1199px) {
  .node-content::before {
    /*left: -55px;*/
    top: 50%;
    transform: translateY(-50%);
  }
}

.node-high .node-content::before {
  background: var(--clr-primary-500);
  top: 50px;
}

.node-low .node-content::before {
  background: var(--clr-secondary-500);
  top: 9px;
}

/* Slider Navigation Buttons */
.slider-nav {
  padding: 0px 0;
  position: absolute;
  bottom: -10px;
  left: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 1000;
  transform: translateY();

}

.nav-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #333;
  border: none;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #fff;
  cursor: pointer;
  pointer-events: auto;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  opacity: 1;
  position: relative;
}

.nav-btn:after {
  position: absolute;
  width: 100%;
  height: 1px;
  background: #eee;
  left: 0;
}

.nav-btn:hover {
  background: #333;
  color: #fff;
  transform: scale(1.1);
  opacity: 1;
}

.nav-btn:active {
  transform: scale(0.95);
}

.nav-btn i {
  transition: transform 0.3s ease;
}


.prev-btn:hover i {
  transform: translateX(-3px);
}

.next-btn:hover i {
  transform: translateX(3px);
}

/* Helper spacing */
.end-buffer {
  flex: 0 0 50px;
  /* Minimal buffer space at the end of timeline */
}

.values-section {
  padding: 80px 0;

}

.section-title {
  text-align: center;
  font-size: 36px;
  margin-bottom: 50px;
  color: #1d2b4f;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

/* Card */
.value-card {
  background: #fff;
  border-radius: 0px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  transition: 0.4s ease;
}

.value-card:hover {
  transform: translateY(-10px);
}

/* Diagonal Cut */
.card-image {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.8), rgba(51, 46, 132, 0.8));
  /* Darker Theme gradient overlay */

  opacity: 0.9;
  /* Semi-visible by default for better text readability */
  transition: 0.4s ease;
  z-index: 1;
}

.value-card:hover .card-image::after {
  opacity: 1;
}

.card-image img {
  width: 100%;
  height: 150px;
  object-fit: cover;

  transition: transform 0.6s ease;
}

.value-card:hover .card-image img {
  transform: scale(1.1);
}

.card-image h4 {
  position: absolute;

  /* Slightly above true center to account for diagonal cut */

  font-size: 24px;
  font-family: var(--ff-primary-bold);
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  z-index: 2;
  text-align: center;
  width: 100%;
  padding: 0 10px;
  margin: 0;
  transition: 0.4s ease;

}



/* Content (Removed padding since h4 moved) */
.card-content {
  display: none;
}


/* Responsive */
@media (max-width: 1200px) {
  .values-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .values-grid {
    grid-template-columns: 1fr;
  }
}



/* PROJECT PAGE  */
.project-page .sidebar-col {
  position: sticky;
  top: 120px;
  max-height: calc(100vh - 140px);
  overflow-y: auto;
  align-self: flex-start;
  display: flex !important;
  flex-direction: column;
  padding: 40px;
  border-right: 1px solid var(--clr-neutral-200);
  z-index: 20;
  background: #fff;
}

/* Custom Scrollbar for Sidebar */
.project-page .sidebar-col::-webkit-scrollbar {
  width: 4px;
}

.project-page .sidebar-col::-webkit-scrollbar-track {
  background: transparent;
}

.project-page .sidebar-col::-webkit-scrollbar-thumb {
  background: var(--clr-neutral-200);
  border-radius: 10px;
}

.project-page .sidebar-col::-webkit-scrollbar-thumb:hover {
  background: var(--clr-primary-500);
}

.project-page .mobile-filter-container {
  display: none;
}

.project-page .filter-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  height: 40%;

}

.project-page .filter-menu li {
  font-size: 13px;
  color: #000;
  font-weight: 600;
  margin-bottom: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: var(--ff-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  padding-left: 0;
  opacity: 0.7;

}

.project-page .filter-menu li .cat-count {
  font-weight: 400;
  color: var(--clr-primary-500);
  margin-left: 8px;
}

.project-page .filter-menu li::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 2px;
  background-color: var(--clr-primary-500);
  transition: all 0.3s ease;
}

.project-page .filter-menu li:hover,
.project-page .filter-menu li.active {
  color: var(--clr-primary-500);
  opacity: 1;
  font-family: var(--ff-primary-bold);
  padding-left: 10px;
}

.project-page .filter-menu li.active::before,
.project-page .filter-menu li:hover::before {
  width: 15px;
  left: -15px;
}

.project-page .counter-box {
  position: absolute;
  bottom: 40px;
  left: 40px;
  font-size: 14px;
  font-family: var(--ff-primary-bold);
  color: var(--clr-secondary-500);
  background: var(--clr-neutral-150);
  padding: 10px 20px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 5px;
  letter-spacing: 1px;
}

.project-page .counter-box #current {
  color: var(--clr-primary-500);
  font-size: 18px;
}

.project-page .counter-box #total {
  opacity: 0.5;
}

.project-page .slider-col {
  height: auto;
  min-height: 100vh;
  position: relative;
  display: block;
  padding: 80px 40px;
}

/* Grid Customization */
.project-page .project-grid-wrapper {
  width: 100%;
}

.project-page .project-card-item {
  margin-bottom: 30px;
  transition: all 0.4s ease;
}

.project-page .project-card-item:hover {
  transform: translateY(-5px);
}

/* Image Container */
.project-page .image-container {
  width: 100%;
  height: 500px;
  position: relative;
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.project-page .slide-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.project-page .image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
  z-index: 1;
  pointer-events: none;
}

/* Overlays */
.project-page .service-tags {
  position: absolute;
  top: 30px;
  left: 30px;
  z-index: 2;
}

.project-page .tag {

  background: var(--clr-secondary-500);
  border: 0px solid #fff;
  padding: 8px 18px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  display: inline-block;
}

.project-page .project-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px;
  color: #fff;
  z-index: 2;
  transition: all 0.3s ease;
}

.project-page .project-meta {
  font-size: 14px;
  margin-bottom: 30px;
  display: flex;
  gap: 15px;
  opacity: 0.8;
}

.project-page .project-title {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  margin: 0;
  letter-spacing: 0px;
}

.project-page .project-card-item>a {
  display: block;
  width: 100%;
  position: relative;
  text-decoration: none;
}

/* External Meta */
.project-page .external-meta {
  position: absolute;
  bottom: 0;
  right: -150px;
  width: 150px;
  text-align: left;
  padding-left: 20px;
  color: #000;
  display: flex;
  gap: 40px;
  align-items: flex-end;
}

.project-page .meta-item {
  font-size: 16px;
  font-weight: 400;
}

.project-page .no-data-msg {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70vh;
  width: 100%;
  font-size: 24px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: center;
}

/* Navigation */
.project-page .nav-arrows {
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 50;
}

.project-page .nav-btn {
  width: 50px;
  height: 50px;
  border: 1px solid #ddd;
  display: flex;
  background: transparent;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #333;
  border-radius: 0px !important;
  transition: all 0.3s;

}

.project-page .nav-btn:hover {
  border-color: var(--clr-primary-500);
  background: var(--clr-primary-500);
  color: #fff;
}

/* Responsive Overrides */
@media (max-width: 991px) {

  /* Bootstrap lg breakpoint is 992px */
  .project-page .sidebar-col {
    display: none !important;
  }

  .project-page .slider-col {
    height: auto;
    padding: 0 20px;
  }

  .project-page .filter-menu {
    display: none;
    /* Hide list on mobile, show dropdown instead */
  }

  .project-page .mobile-filter-container {
    position: relative;
    width: 100%;
    padding: 20px 0;
    background: transparent;
    display: block;
    border: none;
  }

  .project-page .mobile-filter-select {
    width: 100%;
    max-width: 350px;
    padding: 14px 20px;
    border: 1.5px solid #000;
    border-radius: 8px;
    font-size: 15px;
    font-family: var(--ff-primary);
    color: #000;
    text-transform: none;
    letter-spacing: 0.5px;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 15px;
    background-color: #fff;
    transition: all 0.3s ease;
  }

  .project-page .mobile-filter-select:focus {
    border-color: var(--clr-primary-500);
    outline: none;
  }

  .project-page .filter-menu li {
    margin-bottom: 0;
    font-size: 18px;
  }

  .project-page .project-card-item {
    margin-bottom: 40px;
  }

  .project-page .image-container {
    height: 300px !important;
  }

  .project-page .project-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    background: transparent;
    color: #fff;
  }

  .project-page .project-title {
    color: #fff;
    font-size: 20px;
    margin: 0;
  }

  .project-page .project-meta {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 10px;
  }



  .project-page .nav-btn {
    width: 50px;
    height: 50px;
    border: 1px solid #ddd;
    background: transparent;
    color: #ddd;
    border-radius: 0;
    /* Revert to square */
  }

  .project-page .nav-btn svg {
    stroke: #999;
  }

  .project-page .counter-box {
    position: fixed;
    bottom: 45px;
    right: 20px;
    left: auto;
    font-size: 16px;
    z-index: 50;
  }
}

/* ---------------------------
   POLICIES & CERTIFICATIONS PAGE 
   --------------------------- */

.policy-hero h1 {
  font-size: clamp(2rem, 5vw, 4rem);
  letter-spacing: 2px;
}

.policy-sidebar .nav-link {
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

.policy-sidebar .nav-link:hover:not(.active) {
  background: rgba(51, 46, 132, 0.05);
  transform: translateX(5px);
}

.policy-sidebar .nav-link.active {
  background: #fff !important;
  border-color: #dee2e6;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.policy-sidebar .nav-link.active span {
  color: var(--clr-secondary-500) !important;
}

.policy-sidebar .nav-link.active i {
  color: var(--clr-secondary-500) !important;
}

.ls-1 {
  letter-spacing: 1px;
}

.policy-main-sec {
  background-color: #ffffff;
  position: relative;
}

.policy-grid-sec {
  background-color: #fff;
  padding-left: 60px;
  padding-right: 60px;
}

.policy-impact-card {
  position: relative;
  width: 234px;
  height: 273px;
  margin: 0 auto;
  overflow: hidden;
  cursor: pointer;
  display: block;
  text-decoration: none !important;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.policy-impact-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.policy-impact-card .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transition: all 0.4s ease;
}

.policy-impact-card .title {
  color: #fff;
  font-family: var(--ff-primary-bold);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.4;
  z-index: 2;
  transition: all 0.4s ease;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
  width: 100%;
  padding: 15px 20px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.policy-impact-card .title span {
  flex: 1;
  text-align: left;
  padding-right: 10px;
}

.policy-impact-card .policy-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.policy-impact-card .policy-actions i {
  font-size: 16px;
  color: #fff;
  display: flex;
  align-items: center;
}

.policy-impact-card .policy-actions i.arrow {
  font-size: 14px;
  opacity: 0.8;
  transition: transform 0.3s ease;
}

.policy-impact-card:hover .policy-actions i.arrow {
  transform: translateX(5px);
  opacity: 1;
}

.policy-impact-card .frame {
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 55px;
  left: 10px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 1;
  transform: scale(0.95);
}

.policy-impact-card:hover img {
  transform: scale(1.1);
}

.policy-impact-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25), 0 6px 15px rgba(0, 0, 0, 0.15);
}

.policy-impact-card:hover .overlay {
  background: rgba(0, 0, 0, 0.3);
}

.policy-impact-card:hover .frame {
  opacity: 1;
  transform: scale(1);
}

.policy-impact-card:hover .title {
  background: rgba(241, 88, 34, 0.9);
}

@media (max-width: 991px) {
  .policy-impact-card {
    width: 195px;
    height: 234px;
  }

  .policy-impact-card .title {
    font-size: 11px;
  }
}

.policy-card-modern:hover::before {
  height: 100%;
}

.icon-box-modern {
  width: 60px;
  height: 60px;
  background: rgba(51, 46, 132, 0.05);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
  transition: all 0.3s ease;
}

.policy-card-modern:hover .icon-box-modern {
  background: var(--clr-secondary-500);
  color: #fff !important;
}

.icon-box-modern i {
  font-size: 28px;
  color: var(--clr-secondary-500);
  transition: color 0.3s ease;
}

.policy-card-modern:hover .icon-box-modern i {
  color: #fff;
}

.policy-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color: #999;
}

.policy-btn-group {
  display: flex;
  gap: 12px;
  margin-top: 30px;
}

.policy-btn-group .btn {
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cert-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.cert-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
}

.policy-cta-sec h2 {
  line-height: 1.2;
}

@media (max-width: 991px) {
  .policy-sidebar {
    margin-bottom: 3rem;
  }
}

.innerbannerVideo {

  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

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

/* PROJECT DETAILS PAGE */
.project-details-sec .project-description p {
  font-size: 16px !important;
  color: #555;
  margin-bottom: 20px;
  line-height: 1.8;
  text-align: left !important;
}

.project-meta-card {
  border: 1px solid #eee;
  background-color: #f9f9f9 !important;
  position: sticky;
  top: 100px;
}

.project-meta-card .meta-item label {
  font-size: 11px;
  color: var(--clr-primary-500);
  margin-bottom: 4px;
}

.project-meta-card .meta-value {
  font-family: var(--ff-primary-bold);
  font-size: 16px;
  color: var(--clr-secondary-500);
}

.projectGallerySwiper .swiper-slide img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

.next-prev-projects .btn-link {
  transition: color 0.3s;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.next-prev-projects .btn-link:hover {
  color: var(--clr-primary-500) !important;
}

.projectGallerySwiper .swiper-pagination-bullet-active {
  background: var(--clr-primary-500);
}

/* PROFESSIONAL PROJECT DETAILS */
.project-details-sec .content-body p {
  font-size: 16px !important;
  line-height: 1.8;
  color: #555;
  margin-bottom: 25px;

}

.detail-card {
  background: #fff;
  border: 1px solid #f0f0f0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
}

.detail-card .card-title {
  font-family: var(--ff-primary-bold);
  font-size: 20px;
  color: #333;
  letter-spacing: 0.5px;
}

.spec-item .label {
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--clr-primary-500);
}

.spec-item .value {
  color: var(--clr-secondary-500);
  font-size: 16px;
}

/* STRUCTURED PROFESSIONAL GALLERY */
.professional-img-box {
  position: relative;
  overflow: hidden;
  height: 220px;
  border-radius: 6px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  background: #f8f8f8;
}

.professional-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hover-zoom-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.4s ease;
  color: #fff;
  font-size: 28px;
  z-index: 2;
}

.professional-img-box:hover img {
  transform: scale(1.1);
}

.professional-img-box:hover .hover-zoom-icon {
  opacity: 1;
}

.hover-zoom-icon i {
  transform: translateY(20px);
  transition: all 0.4s ease;
}

.professional-img-box:hover .hover-zoom-icon i {
  transform: translateY(0);
}

/* PROFESSIONAL PAGINATION */
.gallery-pagination {
  margin-top: 50px;
}

.pagination-professional {
  display: flex !important;
  gap: 8px;
  border: none !important;
  padding: 0;
  list-style: none;
}

.pagination-professional .page-item .page-link {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px !important;
  border: 1px solid #eee;
  color: #333;
  font-weight: 600;
  transition: all 0.3s;
  text-decoration: none;
}

.pagination-professional .page-item.active .page-link {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: #fff;
}

.pagination-professional .page-link:hover {
  background-color: #f5f5f5;
  color: var(--clr-primary-500);
}

@media (max-width: 991px) {
  .professional-img-box {
    height: 180px;
  }
}

:root {
  --clr-primary-500-rgb: 241, 88, 34;
}

/* FORCE HEADER BACKGROUND FOR PROJECT PAGES */
header#topHead.background {
  background-color: #ffffff !important;
  backdrop-filter: blur(25px) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
  border-bottom: 1px solid #eeeeee;
}

header#topHead.background .nav ul li a {
  color: var(--clr-secondary-500) !important;
}



/* OPTION 1: HORIZONTAL PREMIUM BAR */
.project-info-bar {
  background: #ffffff;
  border-bottom: 1px solid #f5f5f5;
  padding: 60px 0;
  margin-bottom: 80px;
}

.info-grid {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
}

.info-item {
  flex: 1;
  text-align: center;
  position: relative;
}

.info-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 40px;
  background: #dddddd;
}

.info-item .label {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--clr-primary-500);
  letter-spacing: 3px;
  font-family: var(--ff-primary-heavy);
  margin-bottom: 15px;
}

.info-item .value {
  display: block;
  font-size: 18px;
  color: var(--clr-secondary-500);
  font-family: var(--ff-primary-bold);
  line-height: 1.4;
}

@media (max-width: 991px) {
  .info-grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 0;
  }

  .info-item {
    flex: 0 0 50%;
  }

  .info-item:nth-child(even)::after {
    display: none;
  }
}

@media (max-width: 576px) {
  .info-item {
    flex: 0 0 100%;
  }

  .info-item::after {
    display: none !important;
  }
}

/* ELITE MASTER CARD DESIGN */
.project-elite-card {
  display: flex;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 40px;
  /* Base rounding */
  border-top-left-radius: 80px;
  /* Deep bevel from image */
  overflow: hidden;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05);
  margin-bottom: 60px;
  min-height: 480px;
}

.pec-image-side {
  flex: 0 0 45%;
  position: relative;
  overflow: hidden;
}

.pec-image-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.project-elite-card:hover .pec-image-side img {
  transform: scale(1.05);
}

.pec-badges {
  position: absolute;
  bottom: 25px;
  left: 25px;
  display: flex;
  gap: 12px;
  z-index: 5;
}

.pec-badge {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 12px;
  font-family: var(--ff-primary-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pec-content-side {
  flex: 1;
  padding: 50px;
  display: flex;
  flex-direction: column;
}

.pec-title {
  font-family: var(--ff-primary-bold);
  font-size: 36px;
  color: var(--clr-secondary-500);
  margin-bottom: 15px;
  line-height: 1.1;
}

.pec-description {
  color: #666;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 30px;
  max-width: 90%;
}

.pec-divider {
  height: 1px;
  background: #f0f0f0;
  margin-bottom: 35px;
  width: 100%;
}

/* ELITE MASTER CARD - BUSINESS HUB STYLE */
.project-elite-card {
  display: flex;
  background: #ffffff !important;
  border: 1px solid #f0f0f0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
  margin-bottom: 60px;
  position: relative;
  transition: transform 0.3s ease;
  background-clip: padding-box;
}

.pec-image-side {
  flex: 0 0 50%;
  position: relative;
  overflow: hidden;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%, 0 10%);
  /* The Bevel from the image */
  margin: 15px;
  border-radius: 15px;
}

.pec-image-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.2, 1, 0.3, 1);
}

.project-elite-card:hover .pec-image-side img {
  transform: scale(1.08);
}

.pec-badges {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: flex;
  gap: 8px;
  z-index: 15;
}

.pec-badge {
  background: rgba(51, 46, 132, 0.85);
  /* Brand Navy */
  backdrop-filter: blur(10px);
  color: #fff;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 11px;
  font-family: var(--ff-primary-bold);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.pec-content-side {
  flex: 1;
  padding: 50px 40px;
  display: flex;
  flex-direction: column;
  z-index: 5;
}

.pec-title {
  font-family: var(--ff-primary-heavy);
  font-size: 42px;
  color: var(--clr-secondary-500);
  margin-bottom: 20px;
  letter-spacing: -1px;
}

.pec-description {
  color: #777;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
}

.pec-divider {
  height: 1px;
  background: #eee;
  margin-bottom: 30px;
}

.pec-specs-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pec-spec-item {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 18px;
}

.pec-icon {
  width: 32px;
  height: 32px;
  background: var(--clr-primary-500);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  box-shadow: 0 4px 10px rgba(241, 88, 34, 0.2);
}

.pec-spec-text {
  font-size: 15px;
  color: #555;
}

.pec-spec-text span {
  font-family: var(--ff-primary-bold);
  color: #333;
}

.pec-link {
  margin-top: auto;
  color: var(--clr-primary-500);
  font-family: var(--ff-primary-bold);
  text-decoration: none;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap 0.3s;
}

.pec-link:hover {
  gap: 15px;
  color: var(--clr-secondary-500);
}

@media (max-width: 1199px) {
  .pec-title {
    font-size: 32px;
  }
}

@media (max-width: 991px) {
  .project-elite-card {
    flex-direction: column;
  }

  .pec-image-side {
    flex: 0 0 300px;
    margin: 0;
    clip-path: none;
    border-radius: 0;
  }
}

/* SIDEBAR SPEC ICONS */
.spec-icon-circle {
  width: 40px;
  height: 40px;
  background-color: var(--clr-secondary-500);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  box-shadow: 0 4px 12px #332e8475;
}

.spec-item .label {
  letter-spacing: 1px;
}

.projectb-h {
  font-size: 30px !important;
}

/* Logo Ticker Slider */
.logo-ticker-container {
  overflow: hidden;
  padding: 40px 0;
}

.logo-swiper {
  padding: 15px 0;
}

.logo-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.logo-swiper .swiper-slide {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 40px;
}

.logo-swiper .swiper-slide img {
  max-width: 150px;
  max-height: 80px;

  transition: all 0.3s ease;
}

.logo-swiper .swiper-slide img:hover {
  filter: grayscale(0);
  opacity: 1;
}

@media (max-width: 768px) {
  .logo-swiper .swiper-slide {
    padding: 0 20px;
  }

  .logo-swiper .swiper-slide img {
    max-width: 100px;
  }
}

/* Services Page Hover Effects */
.pcs-item-wrap {
  cursor: pointer;
  padding: 20px;
  border-radius: 15px;
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: transparent;
  position: relative;
}

.pcs-item-wrap:hover {

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
  transform: translateY(-5px);
}

.pcs-img {
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  border-radius: 10px;
}

.pcs-item-wrap:hover .pcs-img {
  transform: scale(1.5);
  filter: drop-shadow(15px 15px 25px rgba(0, 0, 0, 0.15));
}

.pms-img-box {
  overflow: hidden;
  border-radius: 15px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.pms-img-box img {
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.pms-item-wrap:hover .pms-img-box img {
  transform: scale(1.12) translateY(-10px);
}

.certificate-card {
  display: block;
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  border: 1px solid #f0f0f0;
  text-decoration: none !important;
}

.certificate-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(51, 46, 132, 0.15);

}

.cert-img-box {
  position: relative;
  aspect-ratio: 1 / 1.414;
  overflow: hidden;
  background: #fdfdfd;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
}

.cert-img-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.cert-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);


  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.4s ease;
  z-index: 2;
}

.cert-zoom-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--clr-primary-500);
  padding: 20px;
  border-radius: 50%;
  font-size: 20px;
  transform: scale(0.5);
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.certificate-card:hover .cert-overlay {
  opacity: 1;
}

.certificate-card:hover .cert-zoom-icon {
  transform: scale(1);
}

.certificate-card:hover .cert-img-box img {
  transform: scale(1.08);
}

.text-ht {
  color: var(--clr-primary-500);
  background: #efb49c38;
  font-size: 16px;
  font-weight: 600;
  width: fit-content;
  padding: 7px 20px;
  border-radius: 4px;
  border-left: 5px solid var(--clr-primary-500);



}

.patternsmall {
  position: relative;
}

.patternsmall::before {
  position: absolute;
  content: "";
  width: 60px;
  height: 21px;
  bottom: 5%;
  left: -2%;
  background-image: url("../images/pattern2.png");
  background-size: cover;
  z-index: 222;
}

.patternsmall::after {
  position: absolute;
  content: "";
  width: 60px;
  height: 21px;
  top: 5%;
  right: -2%;
  background-image: url("../images/pattern2.png");
  background-size: cover;
}


.social-media{
    list-style: none;
    padding: 0;
    display: flex;
    gap: 10px;
    margin-top: 17px;
}
.social-media li {
  list-style: none;
}
.social-media li a{
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    
    transition: 0.3s;
}

.social-media li a:hover{
  
    color:var(--clr-primary-500);
}
/* Slide images */
.icv-sp.innerbannerSwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  animation: kenburnsZoomIn 8s ease-in-out infinite ;
}

/* Zoom-in effect */
@keyframes kenburnsZoomIn {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.2);
  }
}