/* === header.css === */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: transparent;
  transition: all 0.4s ease;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.header.scrolled {
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 3px solid #095763;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.header .container {
  max-width: 1320px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 82px;
  position: relative;
}

/*=========================================
 Logo
=========================================*/

.logo {
  z-index: 10000;
}

.logo img {
  height: 45px;
  display: block;
  transition: 0.35s;
}

.header.scrolled .logo img {
  transform: scale(0.96);
}

/*=========================================
 Navigation
=========================================*/

.navbar {
  position: static;
  flex: 1;
  display: flex;
  justify-content: center;
}

.navbar > ul {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 8px;
}

.navbar > ul > li {
  position: relative;
}

.navbar > ul > li > a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 30px 18px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: 0.35s;
  position: relative;
}

.header.scrolled .navbar > ul > li > a {
  color: #222;
}

/* underline animation */

.navbar > ul > li > a::after {
  content: "";
  position: absolute;
  left: 18px;
  bottom: 22px;
  width: 0;
  height: 2px;
  background: #095763;
  transition: 0.35s;
}

.navbar > ul > li > a:hover::after,
.navbar > ul > li > a.active::after {
  width: calc(100% - 36px);
}

.navbar > ul > li > a:hover {
  color: #095763;
}

.header:not(.scrolled) .navbar > ul > li > a:hover {
  color: #fff;
}

/*=========================================
 Arrow
=========================================*/

.has-mega > a i {
  font-size: 18px;
  transition: 0.35s;
}

.has-mega:hover > a i {
  transform: rotate(180deg);
}

/*=========================================
 Mobile Button
=========================================*/

.menu-btn {
  display: none;
  width: 45px;
  height: 45px;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.35s;
  z-index: 10000;
}

.menu-btn i {
  font-size: 30px;
  color: #fff;
}

.header.scrolled .menu-btn i {
  color: #222;
}

.menu-btn:hover {
  background: rgba(255, 255, 255, 0.12);
}

/*=========================================
 Smooth Transition
=========================================*/

.header,
.navbar,
.navbar ul,
.navbar li,
.navbar a {
  transition: 0.35s ease;
}

/*==================================================
        MEGA MENU
==================================================*/

.has-mega {
  position: static;
}

.mega-menu {
  position: absolute;
  top: 82px;
  left: 50%;
  right: 50%;
  transform: translateX(-50%) translateY(20px);
  width: 1024px;
  max-width: 1024px;
  display: flex;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.35s;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  z-index: 999;
}

/* Hover */

.has-mega:hover .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/*======================================
Left Side
======================================*/

.mega-left {
  /* width: 34%; */
  background: #fff;
  border-right: 1px solid #ececec;
  padding: 35px;
  display: flex;
  flex-direction: column;
}

.mega-left h4 {
  font-size: 13px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

/*======================================
Service Item
======================================*/

.mega-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  text-decoration: none;
  color: #222;
  padding: 18px;
  margin-bottom: 8px;
  border-radius: 16px;
  transition: 0.35s;
  position: relative;
}

.mega-item:last-child {
  margin-bottom: 18px;
}

.mega-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 0;
  background: #095763;
  border-radius: 20px;
  transition: 0.35s;
  transform: translateY(-50%);
}

.mega-item:hover,
.mega-item.active {
  background: #f6fbfb;
}

.mega-item:hover::before,
.mega-item.active::before {
  height: 70%;
}

.mega-item h5 {
  margin: 0;
  font-size: 17px;
  color: #222;
  font-weight: 600;
}

.mega-item p {
  margin: 6px 0 0;
  font-size: 14px;
  color: #777;
  line-height: 1.6;
}

/*======================================
Button
======================================*/

.mega-btn {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  background: #095763;
  color: #fff;
  text-decoration: none;
  border-radius: 16px;
  font-weight: 600;
  transition: 0.35s;
}

.mega-btn:hover {
  background: #0b6f7d;
  color: #fff;
  transform: translateY(-3px);
}

.mega-btn i {
  font-size: 18px;
}

/*======================================
Right Side
======================================*/

.mega-right {
  /* width: 66%; */
  position: relative;
  overflow: hidden;
  min-height: 400px;
}

.mega-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: 1s ease;
}

.has-mega:hover .mega-right img {
  transform: scale(1.05);
}

/* Dark Overlay */

.mega-right::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.15));
  z-index: 1;
}

/*======================================
Content
======================================*/

.mega-content {
  position: absolute;
  left: 45px;
  bottom: 45px;
  z-index: 2;
  max-width: 420px;
  color: #fff;
}

.mega-content span {
  display: inline-block;
  margin-bottom: 12px;
  padding: 6px 14px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(10px);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.mega-content h3 {
  font-size: 36px;
  margin-bottom: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.mega-content p {
  font-size: 15px;
  line-height: 1.8;
  opacity: 0.92;
  margin-bottom: 25px;
}

.mega-content a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s;
}

.mega-content a:hover {
  gap: 14px;
}

.mega-content a i {
  font-size: 18px;
}

/*======================================
Small Animation
======================================*/

.mega-left,
.mega-right {
  animation: fadeMega 0.35s ease;
}

@keyframes fadeMega {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*==================================================
        RESPONSIVE HEADER & MEGA MENU
==================================================*/

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

    .mega-menu {
        width: 95%;
    }

    .mega-content h3 {
        font-size: 30px;
    }

}

@media (max-width:991px) {

    .header .container {
        height: 70px;
    }

    .logo img {
        height: 38px;
    }

    .menu-btn {
        display: flex;
    }

    .navbar {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        background: #ffffff;
        transition: .45s ease;
        box-shadow: 0 15px 40px rgba(0, 0, 0, .08);
        justify-content: flex-start;
    }

    .navbar.active {
        max-height: 90vh;
        overflow-y: auto;
    }

    .navbar>ul {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 15px 0;
    }

    .navbar>ul>li {
        width: 100%;
        border-bottom: 1px solid #f1f1f1;
    }

    .navbar>ul>li:last-child {
        border-bottom: none;
    }

    .navbar>ul>li>a {
        width: 100%;
        color: #222 !important;
        padding: 18px 25px;
        justify-content: space-between;
    }

    .navbar>ul>li>a::after {
        display: none;
    }

    .navbar>ul>li>a:hover {
        background: #f8f8f8;
        color: #095763 !important;
    }

    .has-mega {
        position: relative;
    }

    .mega-menu {

        position: static;
        width: 100%;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        display: none;
        flex-direction: column;

        border-radius: 0;
        box-shadow: none;
        border-top: 1px solid #f3f3f3;

    }

    .has-mega.open>.mega-menu {
        display: flex;
    }

    .mega-left {
        width: 100%;
        padding: 20px;
        border-right: none;
    }

    .mega-left h4 {
        margin-bottom: 15px;
    }

    .mega-item {

        padding: 15px;
        margin-bottom: 8px;

    }

    .mega-item h5 {
        font-size: 16px;
    }

    .mega-item p {
        font-size: 13px;
    }

    .mega-btn {
        margin-top: 10px;
    }

    .mega-right {

        width: 100%;
        min-height: 260px;

    }

    .mega-right img {

        height: 260px;

    }

    .mega-content {

        left: 25px;
        right: 25px;
        bottom: 25px;
        max-width: 100%;

    }

    .mega-content h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .mega-content p {

        font-size: 14px;
        line-height: 1.6;

    }

}

@media (max-width:768px) {

    .mega-right {

        min-height: 220px;

    }

    .mega-right img {

        height: 220px;

    }

    .mega-content {

        left: 20px;
        bottom: 20px;

    }

    .mega-content span {

        font-size: 11px;

    }

    .mega-content h3 {

        font-size: 21px;

    }

    .mega-content p {

        display: none;

    }

}

@media (max-width:576px) {

    .header .container {
        height: 65px;
    }

    .logo img {
        height: 34px;
    }

    .menu-btn i {
        font-size: 28px;
    }

    .navbar>ul>li>a {
        padding: 16px 18px;
        font-size: 15px;
    }

    .mega-left {

        padding: 15px;

    }

    .mega-item {

        padding: 14px;

    }

    .mega-item h5 {

        font-size: 15px;

    }

    .mega-item p {

        font-size: 12px;

    }

    .mega-btn {

        padding: 15px;

    }

    .mega-right {

        min-height: 180px;

    }

    .mega-right img {

        height: 180px;

    }

    .mega-content {

        left: 15px;
        right: 15px;
        bottom: 15px;

    }

    .mega-content h3 {

        font-size: 18px;

    }

    .mega-content a {

        font-size: 14px;

    }

} */

@media (max-width: 1024px) {
  .service {
    left: 100%;
  }

  .company {
    left: -90%;
  }
}

@media (max-width: 991px) {
  .menu-btn {
    display: flex;
  }

  

  .navbar {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    transition: 0.4s;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  }

  .navbar.active {
    max-height: 100vh;
    overflow-y: auto;
    background: #fff;
  }

  .navbar > ul {
    display: block;
    width: 100%;
    padding: 0;
  }

  .navbar > ul > li {
    width: 100%;
    border-bottom: 1px solid #eee;
  }

  .navbar > ul > li > a {
    color: #222 !important;
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
  }

  .navbar > ul > li > a::after {
    display: none;
  }

  /* ---------------------------
        MOBILE MEGA MENU
    ----------------------------*/

  .mega-menu {
    position: static;
    width: 100%;
    max-width: 100%;
    transform: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    background: #f9f9f9;
    box-shadow: none;
    border: none;
  }

  .has-mega.open > .mega-menu {
    display: block;
  }

  /* Hide image section completely */

  .mega-right {
    display: none !important;
  }

  /* Left side becomes full width */

  .mega-left {
    width: 100%;
    padding: 0;
    border: none;
    background: #f9f9f9;
  }

  .mega-left h4 {
    display: none;
  }

  /* Make links look like normal menu */

  .mega-item {
    display: block;
    padding: 14px 25px;
    margin: 0;
    border-radius: 0;
    background: transparent !important;
    border-bottom: 1px solid #ececec;
  }

  .mega-item:last-child {
    border-bottom: none;
  }

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

  .mega-item h5 {
    font-size: 15px;
    font-weight: 500;
    color: #222;
    margin: 0;
  }

  .mega-item p {
    display: none;
  }

  .mega-btn {
    display: none;
  }
}

/*=========================================
    Smooth Scrollbar
=========================================*/

.navbar::-webkit-scrollbar {
  width: 6px;
}

.navbar::-webkit-scrollbar-thumb {
  background: #095763;
  border-radius: 50px;
}

.navbar::-webkit-scrollbar-track {
  background: #f3f3f3;
}

/* === home.css === */
.sub-title {
  display: block;
  font-size: 16px;
  color: #777;
  margin-bottom: 8px;
}

h2 {
  font-size: 34px;
  font-weight: 600;
  color: #222;
  line-height: 1.1;
}

.heading-text {
  /* max-width: 520px; */
  color: #8b8b8b;
  line-height: 1.8;
  font-size: 15px;
}

.section-subtitle {
  font-size: 16px;
  color: #8d8d8d;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 18px;
}

.section-title {
  line-height: 1.15;
  font-weight: 600;
  color: #151515;
  margin: 0;
}

.section-text {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
}

.hero-banner {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.heroSwiper,
.heroSwiper .swiper-wrapper,
.heroSwiper .swiper-slide {
  width: 100%;
  height: 100%;
}

.video-slide,
.image-slide {
  width: 100%;
  height: 100%;
}

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

.image-slide {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
}

.about-img {
  border-radius: 28px;
}

.home-about img {
  border-radius: 28px;
  height: 510px;
}

/*-------------------
Feature Card
--------------------*/

.feature-card {
  background: #f4f4f4;
  padding: 30px;
  border-radius: 28px;
  /* text-align: center; */
  transition: 0.4s;
  height: 100%;
}

.feature-card:hover {
  transform: translateY(-8px);
  background: #fff;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.icon {
  width: 66px;
  height: 50px;
  border-radius: 20%;
  margin: 0 0 20px;
  font-size: 26px;
  color: #fff;
  background: rgb(9 87 99 / 11%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow:
    0 12px 30px rgba(9, 87, 99, 0.158),
    inset 0 1px 1px rgba(255, 255, 255, 0.25);
  transition: 0.4s ease;
}

.icon svg {
  width: 60px;
  height: 60px;
}

.icon:hover {
  transform: translateY(-6px);
  background: rgba(9, 87, 99, 0.35);
}

.feature-card h4 {
  font-size: 24px;
  margin-bottom: 12px;
}

.feature-card p {
  color: #8d8d8d;
  line-height: 1.7;
  font-size: 14px;
}

.stat-box {
  padding: 10px 15px;
}

.stat-box small {
  display: block;
  color: #888;
  font-weight: 600;
  margin-bottom: 12px;
}

.stat-box h3 {
  font-size: 32px;
  margin-bottom: 10px;
  color: #222;
}

.stat-box p {
  color: #8d8d8d;
  font-size: 14px;
  line-height: 1.7;
}

.border-top {
  border-color: #e8e8e8 !important;
}

.brand-section img {
  height: 150px;
}

.brand-section img:hover {
  transform: scale(1.1);
}

@media (max-width: 991px) {
  h2 {
    font-size: 32px;
    margin-bottom: 20px;
  }

  .heading-text {
    margin-top: 20px;
  }

  .feature-card {
    padding: 25px;
  }

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

@media (max-width: 576px) {
  .purpose-section {
    padding: 60px 0;
  }

  h2 {
    font-size: 28px;
  }

  .feature-card h4 {
    font-size: 20px;
  }

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

  .stat-box h3 {
    font-size: 26px;
  }

  .heading-text {
    font-size: 14px;
  }

  .home-about img {
    border-radius: 20px;
    height: 360px;
  }
}

/* Testimonials */
.testimonial-section {
  background: #f7f7f7;
  overflow: hidden;
  position: relative;
}

.testimonial-bg-icon {
  position: absolute;
  left: -120px;
  top: 50%;
  transform: translateY(-50%);
  width: 600px;
  height: 600px;
  z-index: 0;
  opacity: 0.04;
  pointer-events: none;
}

.testimonial-bg-icon svg {
  width: 100%;
  height: 100%;
}

.testimonial-bg-icon svg path {
  fill: #095763;
}

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

.theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 30px;
  background: #095763;
  color: #fff;
  border-radius: 50px;
  text-decoration: none;
}

.theme-btn:hover {
  color: #fff;
}

.testimonial-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  height: 430px;
  cursor: pointer;
}

.testimonial-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.6s ease;
}

.testimonial-card:hover img {
  transform: scale(1.08);
}

.modal-body {
  padding: 0;
}

.btn-close {
  background: #222;
  opacity: 1;
  color: #fff;
  font-weight: 400;
  padding: 10px 15px 15px;
  z-index: 1;
  border-radius: 0 !important;
  margin: 0 !important;
}

.btn-close:hover {
  color: #fff;
}

.card-content {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  z-index: 2;
}

.card-content h5 {
  color: #fff;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.play-btn {
  position: absolute;
  right: 70px;
  bottom: 230px;
  border-color: #095763;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #095763;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 18px;

  z-index: 5;
  transition: 0.35s;
}

.play-btn:hover {
  transform: scale(1.12);
  color: #fff;
  background: #222;
}

/* Pulse Ring */
.play-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid #09576350;
  animation: pulse 2s infinite;
}

.play-btn::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(200, 255, 255, 0.45);
  animation: pulse 2s infinite 0.7s;
}

.testimonial-card:hover .play-btn {
  transform: translate(-50%, -50%) scale(1.15);
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}

.testimonial-section .swiper {
  padding-bottom: 70px;
}

.testimonial-section .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: #bbb;
  opacity: 1;
}

.testimonial-section .swiper-pagination-bullet-active {
  background: #095763;
  width: 40px;
  border-radius: 30px;
}

@media (max-width: 991px) {
  .testimonial-card {
    height: 420px;
  }
}

@media (max-width: 768px) {
  .testimonial-card {
    height: 360px;
  }

  .play-btn {
    width: 70px;
    height: 70px;
    font-size: 20px;
  }
}

/* Process */
.image-wrapper {
  position: relative;
  max-width: 520px;
  margin: auto;
}

.main-image {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
}

.main-image img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

.info-card {
  position: absolute;
  width: 350px;
  background: rgb(248 252 252);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 25px;
  box-shadow: 50px 50px 50px rgba(0, 0, 0, 0.08);
  animation: floatCard 5s ease-in-out infinite;
  transition: 0.4s;
}

.top-card {
  top: 25px;
  right: -34%;
}

.bottom-card {
  bottom: 35px;
  right: -45px;
}

.top-card {
  animation-delay: 0s;
}

.bottom-card {
  animation-delay: 2.5s;
}

@keyframes floatCard {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-12px);
  }

  100% {
    transform: translateY(0);
  }
}

.info-card h2 {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #222;
}

.info-card span {
  font-size: 14px;
  color: #666;
  font-weight: 600;
}

.info-card p {
  margin-top: 10px;
  font-size: 12px;
  color: #777;
  line-height: 1.8;
}

@media (max-width: 1440px) {
  .top-card {
    right: -22%;
  }
}

@media (max-width: 1024px) {
  .top-card {
    right: -7%;
  }

  .bottom-card {
    right: -32px;
  }
}

@media (max-width: 991px) {
  .process-title {
    font-size: 34px;
  }

  .image-wrapper {
    margin-top: 60px;
  }

  .top-card {
    right: 0;
  }

  .bottom-card {
    right: 25px;
  }
}

@media (max-width: 576px) {
  .process-title {
    font-size: 30px;
  }

  .main-image img {
    height: 420px;
  }

  .info-card {
    width: 330px;
    padding: 20px;
  }

  .info-card h2 {
    font-size: 32px;
  }

  .top-card {
    top: 15px;
    right: 2%;
  }

  .bottom-card {
    bottom: 20px;
    right: 10px;
  }

  .stat-box {
    text-align: start;
  }

  .counter-item {
    text-align: start;
  }
}

.home-blog-section {
  position: relative;
  overflow: hidden;
  background: #f7f7f7;
  /* background: linear-gradient(to bottom, #f1f1f1 0%, #f7f7f7 100%); */
  isolation: isolate;
}

.home-blog-section .container {
  position: relative;
  z-index: 2;
}

.blog-bg-icon {
  position: absolute;
  right: -140px;
  width: 620px;
  height: 620px;
  opacity: 0.035;
  transform: rotate(15deg);
  z-index: 0;
  pointer-events: none;
}

.blog-bg-icon svg {
  width: 100%;
  height: 100%;
}

.blog-bg-icon svg path {
  fill: #095763;
}

@media (max-width: 991px) {
  .blog-bg-icon {
    width: 420px;
    height: 420px;
    left: -150px;
    opacity: 0.025;
  }
}

@media (max-width: 767px) {
  .blog-bg-icon {
    width: 280px;
    height: 280px;
    left: -100px;
    top: 60px;
    transform: none;
    opacity: 0.02;
  }
}

/* Customer */
.customer-marquee {
  width: 100%;
  overflow: hidden;
}

.marquee {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.marquee-track {
  display: flex;
  align-items: center;
  gap: 10px;
  width: max-content;
}

.marquee-track img {
  width: 180px;
  /* height: 200px; */
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  flex-shrink: 0;
  transition: 0.3s;
}

.marquee-track img:hover {
  transform: scale(1.05);
}

.marquee-left .marquee-track {
  animation: marqueeLeft 25s linear infinite;
}

.marquee-right .marquee-track {
  animation: marqueeRight 25s linear infinite;
}

@keyframes marqueeLeft {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes marqueeRight {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

/* Pause on hover */
.marquee:hover .marquee-track {
  animation-play-state: paused;
}

@media (max-width: 768px) {
  .marquee-track {
    gap: 20px;
  }
}

/*blog section */

.blog-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  transition: 0.4s;
  height: 100%;
}

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

.blog-image {
  overflow: hidden;
}

.blog-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: 0.5s;
}

.blog-card:hover img {
  transform: scale(1.08);
}

.blog-content {
  padding: 25px;
}

.blog-date {
  color: #888;
  font-size: 14px;
  display: block;
  margin-bottom: 15px;
}

.blog-date i {
  margin-right: 6px;
}

.blog-content h4 {
  font-size: 18px;
  line-height: 1.5;
  min-height: 100px;
}

.blog-content h4 a {
  text-decoration: none;
  color: #111;
  transition: 0.3s;
}

.blog-content h4 a:hover {
  color: #095763;
}

.blogSlider {
  padding-bottom: 70px;
  /* overflow: visible; */
}

/* .blogSlider .swiper-button-prev,
.blogSlider .swiper-button-next {
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    color: #000;
    top: 40%;
} */

.blog-navigation {
  gap: 15px;
}

.blog-navigation .swiper-button-prev,
.blog-navigation .swiper-button-next {
  position: static;
  width: 55px;
  height: 55px;
  margin: 0;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  color: #111;
  transition: 0.35s ease;
}

.blog-navigation .swiper-button-prev::after,
.blog-navigation .swiper-button-next::after {
  font-size: 20px;
  font-weight: 700;
}

.blog-navigation .swiper-button-prev:hover,
.blog-navigation .swiper-button-next:hover {
  background: #095763;
  color: #fff;
}

/* .blogSlider .swiper-button-prev {
    left: 45%;
}

.blogSlider .swiper-button-next {
    right: 45%;
} */

.blogSlider .swiper-button-prev::after,
.blogSlider .swiper-button-next::after {
  font-size: 20px;
  font-weight: bold;
}

.blogSlider .swiper-button-prev:hover,
.blogSlider .swiper-button-next:hover {
  background: #095763;
  color: #fff;
}

.blog-title {
  margin-bottom: 0;
}

.blog-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* Show only 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5;
  max-height: calc(1.5em * 2);
  color: #222;
  text-decoration: none;
  transition: color 0.3s;
}

.blog-title a:hover {
  color: #095763;
}

@media (max-width: 991px) {
  .blog-content h4 {
    font-size: 20px;
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .blog-image {
    height: 220px;
  }

  .blog-content {
    padding: 20px;
  }

  .blog-content h4 {
    font-size: 18px;
  }

  .blog-navigation {
    justify-content: center;
    margin-top: 25px;
  }

  .blog-navigation .swiper-button-prev,
  .blog-navigation .swiper-button-next {
    width: 48px;
    height: 48px;
  }
}

/* Features */
.features-section {
  padding: 100px 0;
  background: #fff;
}

.custom-accordion {
  border-top: 1px solid #d9d9d9;
}

.custom-accordion .accordion-item {
  border: none;
  border-bottom: 1px solid #d9d9d9;
  border-radius: 0;
  background: none;
}

.custom-accordion .accordion-button {
  background: transparent;
  box-shadow: none;
  padding: 20px 45px 20px 0;
  /* font-size: 24px; */
  font-weight: 500;
  color: #222;
  line-height: 1.5;
  position: relative;
}

.custom-accordion .accordion-button:focus {
  box-shadow: none;
}

.custom-accordion .accordion-button:not(.collapsed) {
  color: #111;
  background: none;
}

.custom-accordion .accordion-body {
  padding: 0 70px 30px 0;
  color: #777;
  font-size: 14px;
}

.custom-accordion .accordion-button::after {
  display: none;
}

.custom-accordion .accordion-button::before {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #555;
  transition: 0.3s;
}

.custom-accordion .accordion-button:not(.collapsed)::before {
  content: "−";
}

.custom-accordion .accordion-item:hover .accordion-button {
  color: #095763;
}

.custom-accordion .accordion-item:hover .accordion-button::before {
  border-color: #095763;
  color: #095763;
}

@media (max-width: 991px) {
  .custom-accordion .accordion-button {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .custom-accordion .accordion-button {
    font-size: 17px;
    padding: 20px 45px 20px 0;
  }

  .custom-accordion .accordion-body {
    padding: 0 0 20px;
  }
}

/* Services Section */
.energy-section {
  position: relative;
  overflow: hidden;
  background: #f7f7f7;
  isolation: isolate;
}

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

.energy-section .row {
  align-items: stretch;
}

.energy-bg-svg {
  position: absolute;
  top: 65%;
  right: -80px;
  transform: translateY(-50%);

  width: 650px;
  height: 650px;

  opacity: 0.035;

  z-index: 0;
  pointer-events: none;
}

.energy-bg-svg svg {
  width: 100%;
  height: 100%;
}

.energy-bg-svg svg path {
  fill: #095763;
}

.featured-card {
  position: relative;
  height: 100%;
  max-height: 500px;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.08);
}

.featured-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}

.featured-card:hover img {
  transform: scale(1.08);
}

.featured-card .overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.55));
}

.featured-card .content {
  position: absolute;
  inset: 0;
  padding: 35px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  z-index: 2;
}

.featured-card h2 {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.energy-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 24px;
  padding: 35px;
  height: 100%;
  max-height: 500px;
  transition: 0.35s;
  display: flex;
  flex-direction: column;
}

.energy-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}

.energy-card .icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}

.energy-card h4 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #111;
  margin-bottom: 25px;
}

.energy-card p {
  color: #666;
  font-size: 15px;
  line-height: 1.9;
  margin: 0;
}

.energySwiper {
  height: 100%;
}

.energySwiper .swiper-slide {
  height: auto;
}

.services-list ul {
  list-style-type: none;
  padding-left: 0px;
}

.services-list ul li i {
  color: #a5a5a5;
  margin-right: 10px;
}

.energy-btn {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #ececec;
}

.energy-btn a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #095763;
  text-decoration: none;
  transition: 0.3s;
}

.energy-btn a:hover {
  color: #063e46;
}

@media (max-width: 991px) {
  .featured-card {
    min-height: 450px;
    margin-bottom: 30px;
  }

  .featured-card h2 {
    font-size: 30px;
  }

  .energy-card {
    padding: 28px;
  }

  .energy-card h4 {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .energy-section {
    padding: 70px 0;
  }

  .featured-card {
    min-height: 360px;
  }

  .featured-card h2 {
    font-size: 26px;
  }

  .energy-card {
    margin-bottom: 20px;
  }

  .energy-card h4 {
    font-size: 22px;
  }

  .energy-card p {
    font-size: 14px;
  }
}

.icon-wrap {
  display: flex;
  align-items: center;
  justify-content: start;
}

.icon-wrap svg {
  height: 55px;
}

/* Projects */
.project-gallery {
  overflow: hidden;
}

.gallery-wrapper {
  display: grid;
  grid-template-columns: 340px 320px 420px 320px 340px;
  gap: 22px;
  justify-content: center;
  align-items: center;
  max-width: 1500px;
  margin: auto;
}

@media (max-width: 1440px) {
  .gallery-wrapper {
    grid-template-columns: 250px 250px 300px 250px 250px;
  }
}

.gallery-column {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.gallery-wrapper a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.gallery-item {
  position: relative;
  overflow: visible;
  border-radius: 22px;
  cursor: pointer;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.6s ease;
  display: block;
  border-radius: 22px;
  border: 1px solid #d9d9d9;
}

.gallery-item:hover img {
  transform: scale(1.04);
}

.capacity-text {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  margin: 0;
  padding: 0;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  color: #095763;
  text-shadow:
    0 2px 0 rgba(255, 255, 255, 0.9),
    0 8px 20px rgba(9, 87, 99, 0.18);

  transition: 0.35s ease;
  background: #e9e9e9b5;
  padding: 8px 18px;
}

.gallery-item:hover .capacity-text {
  transform: translate(-50%, -50%) scale(1.08);
  letter-spacing: 2px;
  text-shadow:
    0 3px 0 rgba(255, 255, 255, 1),
    0 12px 30px rgba(9, 87, 99, 0.35);
}

@media (max-width: 768px) {
  .capacity-text {
    font-size: 1.4rem;
  }

  .capacity-text::after {
    width: 60%;
    height: 4px;
  }
}

/* Overlay */
.gallery-item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 22px;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.45) 35%,
    rgba(0, 0, 0, 0.12) 65%,
    rgba(0, 0, 0, 0) 100%
  );
  transition: 0.4s ease;
  z-index: 1;
}

.gallery-item:hover::before {
  background: none;
}

/* Project Name */
.gallery-item h6 {
  position: absolute;
  left: 24px;
  bottom: 20px;
  margin: 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
  z-index: 2;
  transition: 0.4s ease;
  transform: translateY(10px);
}

.gallery-item:hover h6 {
  transform: translateY(0);
}

/* Heights */
.large {
  height: 275px;
}

.small {
  height: 180px;
}

.center-image {
  height: 455px;
}

.gallery-center {
  display: flex;
  justify-content: center;
}

/* Partial Images */
.partial-left,
.partial-right {
  height: 330px;
}

@media (max-width: 1390px) {
  .gallery-wrapper {
    grid-template-columns: 250px 200px 360px 200px 250px;
  }

  /* .partial-left,
    .partial-right {
        display: none;
    } */

  .center-image {
    height: 420px;
  }

  .large {
    height: 250px;
  }

  .small {
    height: 165px;
  }
}

@media (max-width: 1280px) {
  .gallery-wrapper {
    grid-template-columns: 280px 400px 280px;
  }

  .partial-left,
  .partial-right {
    display: none;
  }
}

@media (max-width: 768px) {
  .gallery-wrapper {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 15px;
  }

  .gallery-column {
    display: contents;
  }

  .center-image,
  .large,
  .small {
    width: 100%;
    height: 280px;
  }

  .gallery-item h6 {
    left: 18px;
    bottom: 18px;
    font-size: 1rem;
  }
}

.gallery-item img {
  transition: opacity 0.5s ease;
}

/* === about-us.css === */
.about-banner {
  background: url("../images/banner-img/about us.webp") center center/cover
    no-repeat;
  height: 600px;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.title {
  position: relative;
}

.milestone-section {
  position: relative;
  overflow: hidden;
  background: #f8f8f8;
  height: 120vh;
}

.milestone-section::before {
  content: "";
  position: absolute;
  top: 625px;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/aboutus/video-bg-2.png");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

.timeline {
  position: relative;
  padding: 0px 0px 180px 0px;
}

/* Center Line */
.timeline::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 40px;
  right: 40px;
  height: 2px;
  background: #cfd5dd;
  transform: translateY(-50%);
}

.timeline-wrapper {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.timeline-item {
  width: 180px;
  position: relative;
  text-align: center;
}

/* Icon */

.timeline-icon {
  width: 22px;
  height: 22px;
  background: #a3a3a3;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin: auto;
  position: relative;
  z-index: 5;
  transition: 0.4s;
  border: 6px solid #fff;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.timeline-item:hover .timeline-icon {
  transform: scale(1.12);
  background: #222;
}

/* Vertical Line */

.timeline-item::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 2px;
  background: #d8dce2;
  transform: translateX(-50%);
}

.timeline-item.top::before {
  top: 50%;
  height: 120px;
}

.timeline-item.bottom::before {
  bottom: 50%;
  height: 120px;
}

/* Content */

.timeline-content {
  position: absolute;
  width: 250px;
  left: 50%;
  transform: translateX(-50%);
}

.timeline-item.top .timeline-content {
  bottom: 45px;
}

.timeline-item.bottom .timeline-content {
  top: 45px;
}

.year {
  font-size: 22px;
  font-weight: 700;
  color: #1b2b42;
  margin-bottom: 10px;
}

.title {
  font-weight: 700;
  font-size: 15px;
  color: #222;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.desc {
  font-size: 13px;
  color: #666;
  line-height: 1.7;
}

@media (max-width: 991px) {
  .timeline {
    min-width: 1300px;
  }
}

/*  */
.hori-image img {
  height: 238px;
  width: 100%;
  overflow: hidden;
  border-radius: 22px;
  object-fit: cover;
}

.verti-image img {
  height: 500px;
  width: 100%;
  overflow: hidden;
  border-radius: 22px;
  object-fit: cover;
}

/* company values */

.value-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  height: 100%;
  border: 1px solid rgba(0, 0, 0, 0.06);
  position: relative;
}

.value-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 24px 24px 0 0;
  z-index: 2;
  transition: height 0.4s ease;
}

.value-card[data-theme="v-card"]::before {
  background: #222;
}

.value-card:hover::before {
  height: 5px;
}

.value-card:hover {
  /* transform: translateY(-10px); */
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12);
  border-color: transparent;
}

.value-card-img {
  position: relative;
  overflow: hidden;
}

.value-card-img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

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

.value-card-img::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to top, #fff, transparent);
  pointer-events: none;
}

.value-card-num {
  position: absolute;
  top: 18px;
  left: 20px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  z-index: 2;
  letter-spacing: 0.5px;
}

.value-card[data-theme="v-card"] .value-card-num {
  background: #222;
}

.value-card-body {
  padding: 24px 28px 32px;
}

.value-card-body h5 {
  font-size: 20px;
  font-weight: 700;
  color: #222;
  margin-bottom: 12px;
}

.value-card-line {
  width: 40px;
  height: 3px;
  border-radius: 3px;
  margin-bottom: 16px;
  transition: width 0.4s ease;
  background: #095763;
}

.value-card:hover .value-card-line {
  width: 60px;
}

.value-card[data-theme="v-card"] .value-card-line {
  background: #222;
}

.value-card-body p {
  font-size: 14px;
  line-height: 1.8;
  color: #777;
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .value-card-img img {
    height: 220px;
  }
}

@media (max-width: 767px) {
  .value-card-img img {
    height: 200px;
  }

  .value-card-body {
    padding: 20px 22px 28px;
  }
}

.company__about-tab .about-tabs {
  justify-content: space-around;
  border: 0;
  background: #303030;
  width: 100%;
}

.company__about-tab .about-tabs .abst-item {
  width: 33.33%;
  background-color: #303030;
  display: flex;
  justify-content: space-evenly;
}

.company__about-tab .about-tabs .abst-item-link {
  border: 0;
  background: inherit;
  font-size: 14px;
  color: #fff;
  text-transform: uppercase;
  font-weight: 500;
  padding: 25px 10px;
  width: 100%;
}

.company__about-tab .about-tabs .abst-item-link.active {
  background: #095763;
  position: relative;
}

.company__about-tab .about-tabs .abst-item-link.active::before {
  position: absolute;
  content: "";
  left: 50%;
  right: 0;
  bottom: -7px;
  width: 15px;
  height: 8px;
  background: #095763;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

.company__sm-about span {
  width: 120px;
  height: 120px;
  line-height: 120px;
  box-shadow: 0px 16px 32px 0px rgba(0, 0, 0, 0.06);
  background: #fff;
  display: inline-block;
  border-radius: 50%;
  font-size: 20px;
  font-weight: 600;
  color: #222;
  margin: 70px 0px;
  text-transform: capitalize;
}

.animate {
  position: relative;
}

.animate::before {
  content: "";
  display: inline-block;
  width: 125px;
  height: 125px;
  padding: 30px;
  border-radius: 50%;
  position: absolute;
  border: 1px solid #e9e9e9;
  top: -2px;
  left: -2px;
  right: 0px;
  bottom: 0px;
  z-index: 0;
  animation-name: popupBtn;
  animation-duration: 1.6s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.animate::after {
  content: "";
  display: inline-block;
  width: 120;
  height: 120;
  padding: 30px;
  border-radius: 50%;
  position: absolute;
  border: 1px solid #e9e9e9;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0px;
  z-index: 0;
  animation-name: popupBtn;
  animation-duration: 1.8s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes popupBtn {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }

  50% {
    transform: scale(1.6);
    opacity: 0.3;
  }

  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

.sdf__item {
  padding: 40px;
  border: 1px solid #e9e9e9;
  border-radius: 6px;
  position: relative;
  background: #fff;
  transition: 0.3s;
  text-align: center;
}

.sdf__icon {
  margin-right: 20px;
}

.sdf__icon svg {
  width: 60px;
  height: 60px;
}

.sdf__text h6 {
  font-size: 20px;
  line-height: 30px;
  margin-top: 15px;
}

.sdf__text p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 22px;
}

.director-section {
  background: #f7f7f7;
}

/* .director-wrapper{
            background:#fff;
            border-radius:30px;
            padding:35px;
            box-shadow:0 15px 45px rgba(0,0,0,.08);
        } */

.director-image {
  width: 100%;
  height: 560px;
  border-radius: 22px;
  overflow: hidden;
}

.director-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: 0.5s;
}

.review {
  margin-top: 18px;
  color: #666;
  line-height: 1.8;
  font-size: 17px;
}

.divider {
  width: 70px;
  height: 3px;
  background: #222;
  margin: 30px 0;
}

.person-name {
  font-size: 75px;
  font-weight: 700;
}

.person-role {
  color: #888;
  font-size: 17px;
}

.thumb-list {
  display: flex;
  gap: 10px;
  margin-top: 45px;
}

.thumb {
  width: 125px;
  height: 165px;
  overflow: hidden;
  cursor: pointer;
  transition: 0.35s;
  position: relative;
  object-fit: cover;
  border: 1px solid transparent;
}

.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s;
}

.thumb:hover img {
  transform: scale(1.08);
}

.thumb.active {
  transform: translateY(-8px) scale(1.2);
  border-bottom: 3px solid #222;
}

.content-box {
  animation: fade 0.45s;
}

@keyframes fade {
  from {
    opacity: 0;
    transform: translateY(15px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.team-social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 28px 0;
}

.team-social a {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  color: #095763;
  font-size: 18px;
  text-decoration: none;
  border: 1px solid rgba(9, 87, 99, 0.15);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  transition: 0.35s ease;
}

.team-social a:hover {
  transform: translateY(-6px);
  background: #095763;
  color: #fff;
  border-color: #095763;
  box-shadow: 0 15px 30px rgba(9, 87, 99, 0.35);
}

.team-social a:nth-child(1):hover {
  background: #1877f2;
  border-color: #1877f2;
}

.team-social a:nth-child(2):hover {
  background: #000;
  border-color: #000;
}

.team-social a:nth-child(3):hover {
  background: linear-gradient(45deg, #f9ce34, #ee2a7b, #6228d7);
  border: none;
}

.team-social a:nth-child(4):hover {
  background: #ff0000;
  border-color: #ff0000;
}

@media (max-width: 1024px) {
  .person-name {
    font-size: 32px;
  }
}

@media (max-width: 991px) {
  .director-image {
    height: 420px;
    margin-bottom: 30px;
  }

  .thumb-list {
    justify-content: center;
    flex-wrap: wrap;
  }

  .person-name {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  .team-social {
    justify-content: center;
  }

  .team-social a {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }
}

/* === projects.css === */
.projects-section {
  background: url("../images/banner-img/Project.webp");
  background-size: cover;
  height: 600px;
  background-position: bottom;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.project-image-section {
  position: relative;
  overflow: hidden;
}

.submenu {
  /* background: #fff; */
  margin-top: -1px;
  border-radius: 0 0 25px 25px;
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 18px;
  /* box-shadow: 0 10px 30px rgba(0, 0, 0, .12); */
  flex-wrap: wrap;
  margin-top: 20px;
}

.submenu a {
  text-decoration: none;
  color: #555;
  border-radius: 20px;
  transition: 0.3s;
  font-size: 15px;
}

.submenu a.active {
  background: #222;
  color: #fff;
}

@media (max-width: 768px) {
  .submenu {
    gap: 10px;
    padding: 15px;
  }

  .submenu a {
    font-size: 13px;
  }
}

.portfolio-item {
  height: 100%;
}

.portfolio-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
}

.portfolio-image {
  position: relative;
  height: 222px;
}

.portfolio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portfolio-caption-top {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 10;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 14px 18px;
  border-radius: 14px;
  color: #fff;
  min-width: 150px;
  height: 222px;
}

.portfolio-caption-top p {
  margin: 0;
}

.portfolio-caption-top p a {
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}

.portfolio-caption-top h6 {
  margin: 6px 0;
  font-size: 16px;
  color: #fff;
}

.portfolio-caption-top h4 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

.portfolio-wrapper:hover .portfolio-image img {
  transform: scale(1.12);
}

.portfolio-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75),
    rgba(0, 0, 0, 0.15),
    transparent
  );
  z-index: 1;
  transition: 0.4s;
}

.portfolio-wrapper:hover .portfolio-image::before {
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.82),
    rgba(0, 0, 0, 0.2),
    transparent
  );
}

.portfolio-caption {
  position: absolute;
  left: 25px;
  bottom: 22px;
  z-index: 5;
}

.portfolio-caption p {
  margin: 0 0 8px;
  display: inline-block;
  padding: 6px 14px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.portfolio-caption h6 {
  margin: 0;
}

.portfolio-caption h6 a {
  color: #fff;
  text-decoration: none;
  font-size: 24px;
  font-weight: 700;
  transition: 0.3s;
}

.portfolio-caption-top {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.35));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 25px;
  color: #fff;
  opacity: 0;
  transition: 0.4s;
}

.portfolio-wrapper:hover .portfolio-caption-top {
  opacity: 1;
}

.portfolio-caption-top p {
  margin: 0;
}

.portfolio-caption-top p a {
  display: inline-block;
  padding: 7px 16px;
  border-radius: 30px;
  background: #ffffff;
  color: #222;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}

.portfolio-caption-top h6 {
  margin: 12px 0 6px;
}

.portfolio-caption-top h6 a {
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-weight: 600;
}

.portfolio-caption-top h4 {
  margin: 0;
  color: #fff;
  font-size: 34px;
  font-weight: 700;
}

.portfolio-wrapper a {
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-weight: 600;
}

@media (max-width: 991px) {
  .portfolio-image {
    height: 240px;
  }

  .portfolio-caption h6 a {
    font-size: 20px;
  }

  .portfolio-caption-top h4 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .portfolio-image {
    height: 220px;
  }

  .portfolio-caption {
    left: 18px;
    bottom: 18px;
  }

  .portfolio-caption h6 a {
    font-size: 18px;
  }

  .portfolio-caption-top {
    top: 15px;
    right: 15px;
  }

  .portfolio-caption-top h4 {
    font-size: 24px;
  }

  .portfolio-caption-top p a {
    font-size: 12px;
  }
}

/* Load More */
.portfolio-item.hidden-item {
  display: none;
}

/* Tabs ui */
.main-tabs {
  position: relative;
  display: flex;
  gap: 30px;
  border-bottom: 2px solid #ecebeb;
  padding-bottom: 0;
  margin-bottom: 30px;
}

.main-tabs .nav-item {
  position: relative;
}

.main-tabs .nav-link {
  background: transparent !important;
  border: 0;
  border-radius: 0;
  color: #777;
  font-size: 18px;
  font-weight: 500;
  padding: 12px 0;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: 0.3s;
}

.main-tabs .nav-link i {
  font-size: 18px;
}

.main-tabs .nav-link.active {
  color: #095763 !important;
}

.main-tabs .nav-link:hover {
  color: #095763;
}

.tab-underline {
  position: absolute;
  bottom: -2px;
  left: 0;
  height: 3px;
  width: 0;
  background: #095763;
  transition: all 0.35s ease;
}

/* =========================================================
   PROJECT DETAIL
========================================================= */
.project-detail-title {
  margin: 0 0 24px;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
  color: #202a35;
}

.project-overview {
  margin-top: 0;
}

.project-overview-title {
  margin: 0 0 22px;

  font-size: 36px;
  line-height: 1.2;

  font-weight: 700;
  color: #202a35;
}

/* =========================================================
   TABLE
========================================================= */

.project-table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.project-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: #17202a;
}

.project-table th,
.project-table td {
  padding: 12px 9px;

  border: 1px solid #d9dee3;

  text-align: left;
  vertical-align: middle;
}

.project-table thead th {
  font-weight: 500;
  background: #222;
  color: #fff;
}

.project-table tbody th {
  width: 50%;
  font-weight: 600;
}

.project-table tbody td {
  width: 50%;
}

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

@media (max-width: 991px) {
  .project-detail-title,
  .project-overview-title {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .project-detail-title,
  .project-overview-title {
    font-size: 28px;
  }

  .project-table {
    min-width: 650px;
  }
}

.projectGallerySwiper {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
}

.project-gallery-slide {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.project-gallery-slide img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 1s ease;
}

/* Slight zoom on active slide */

.projectGallerySwiper .swiper-slide-active img {
  transform: scale(1.03);
}

/* Gallery Lightbox */

.project-gallery-slide {
  cursor: zoom-in;
}

.project-lightbox {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(4px);
  z-index: 9999;
}

.project-lightbox.open {
  display: flex;
}

.project-lightbox img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  animation: projectLightboxZoom 0.3s ease;
}

@keyframes projectLightboxZoom {
  from {
    transform: scale(0.92);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.project-lightbox-close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #095763;
  font-size: 1.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s ease;
}

.project-lightbox-close:hover {
  background: #fff;
  transform: rotate(90deg);
}

/* =========================================
   NAVIGATION BUTTONS
========================================= */

.project-gallery-prev,
.project-gallery-next {
  width: 52px !important;
  height: 52px !important;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.95);

  backdrop-filter: blur(10px);

  color: #095763 !important;

  transition: all 0.35s ease;

  z-index: 10;
}

/* Remove Swiper default arrows */

.project-gallery-prev::after,
.project-gallery-next::after {
  display: none;
}

/* Icons */

.project-gallery-prev i,
.project-gallery-next i {
  font-size: 20px;

  display: flex;

  align-items: center;
  justify-content: center;
}

/* Hover */

.project-gallery-prev:hover,
.project-gallery-next:hover {
  background: #095763;

  color: #fff !important;

  transform: scale(1.08);
}

/* =========================================
   PAGINATION
========================================= */

.project-gallery-pagination {
  bottom: 20px !important;

  z-index: 10;
}

.project-gallery-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  background: #fff;

  opacity: 0.6;

  transition: all 0.35s ease;
}

.project-gallery-pagination .swiper-pagination-bullet-active {
  width: 28px;

  border-radius: 20px;

  opacity: 1;
}

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

@media (max-width: 991px) {
  .projectGallerySwiper {
    height: 500px;

    border-radius: 20px;
  }
}

@media (max-width: 767px) {
  .project-gallery {
    margin-top: 30px;
  }

  .projectGallerySwiper {
    height: 400px;

    border-radius: 16px;
  }

  .project-gallery-prev,
  .project-gallery-next {
    width: 42px !important;
    height: 42px !important;
  }

  .project-gallery-prev i,
  .project-gallery-next i {
    font-size: 17px;
  }
}

@media (max-width: 575px) {
  .projectGallerySwiper {
    height: 300px;
  }

  .project-gallery-prev {
    left: 12px !important;
  }

  .project-gallery-next {
    right: 12px !important;
  }
}

.project-bg-section {
  width: 100%;
  opacity: 0.1;
}

.project-bg-section .mx-auto {
  width: 100%;
  /* max-width: 1400px; */
  margin: -20% auto 0 auto;
  text-align: center;
}

.project-bg-section img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 12px;
}

/* Mobile */
@media (max-width: 768px) {
  .project-bg-section {
    padding: 30px 15px;
  }

  .project-bg-section .mx-auto {
    max-width: 100%;
  }

  .project-bg-section img {
    border-radius: 8px;
  }
}

/* === what-we-do.css === */
.what-we-do-banner {
  position: relative;
  background-image: url("../images/banner-img/what we do.webp");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  height: 600px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

/* Different Orbit Sizes */

.orbit {
  border: 1px solid rgba(12, 87, 99, 0.08);
  border-radius: 50%;
}

.planet {
  width: 10px;
  height: 10px;
  background: #0c5763;
  box-shadow:
    0 0 10px rgba(12, 87, 99, 0.45),
    0 0 25px rgba(12, 87, 99, 0.25);
  opacity: 0.7;
}

.orbit1 {
  width: 350px;
  height: 350px;
  animation: rotate 8s linear infinite;
}

.orbit2 {
  width: 450px;
  height: 450px;
  animation: rotate 12s linear infinite reverse;
}

.orbit3 {
  width: 550px;
  height: 550px;
  animation: rotate 18s linear infinite;
}

.orbit4 {
  width: 650px;
  height: 650px;
  animation: rotate 25s linear infinite reverse;
}

/* Moving Circle */

.planet {
  position: absolute;
  width: 14px;
  height: 14px;
  background: #e9e9e9;
  border-radius: 50%;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow:
    0 0 8px #e9e9e9,
    0 0 18px #e9e9e9,
    0 0 28px #e9e9e9;
}

/* Rotation */

@keyframes rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* service */
.service-layout {
  position: relative;
  width: 100%;
  height: 720px;
  margin: auto;
}

.service-layout .orbit-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* Center the orbit */
.service-layout .orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Cards above orbit */
.service-card {
  position: absolute;
  z-index: 5;
}

.service-card {
  position: absolute;
  width: 435px;
  transition: 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 2;
}

.service-card .services-item {
  border-radius: 26px;
  overflow: hidden;
  background: #fff;
  padding: 35px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
  transition: 0.55s;
  border: 1px solid rgba(12, 87, 99, 0.08);
  position: relative;
}

.service-card .services-item-content {
  position: relative;
  z-index: 5;
}

.service-card svg {
  width: 65px;
  height: 65px;
  transition: 0.6s;
}

.ser-title a {
  color: #222;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 0px;
}

.service-card p {
  color: #777;
  font-size: 14px;
  margin-top: -15px;
  transform: translateY(20px);
}

.service-card-one {
  top: 0;
  left: 0;
}

.service-card-two {
  top: 0;
  right: 0;
}

.service-card-three {
  top: 206px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

.service-card-four {
  bottom: 0;
  left: 0;
}

.service-card-five {
  bottom: 0;
  right: 0;
}

@media (max-width: 991px) {
  .service-layout {
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  .service-card {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none !important;
    width: 100%;
  }

  .service-card-three {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .service-layout {
    grid-template-columns: 1fr;
  }

  .service-card-three {
    grid-column: auto;
  }
}

.image-wrapper {
  position: relative;
  height: 480px;
  margin: 0px;
}

.image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.img-back {
  width: 450px;
  height: 360px;
  position: absolute;
  left: 0;
  bottom: 20px;
  overflow: hidden;
}

.img-front {
  width: 500px;
  height: 320px;
  position: absolute;
  left: 100px;
  top: -55px;
  overflow: hidden;
}

/* Content */

.section-text {
  color: #888;
  font-size: 15px;
  line-height: 1.9;
  margin-bottom: 35px;
}

/* Responsive */

@media (max-width: 1024px) {
  .img-front {
    width: 380px;
    height: 250px;
    left: 70px;
    top: 45px;
  }

  .img-back {
    width: 380px;
    height: 250px;
  }

  .extra-col {
    display: none;
  }
}

@media (max-width: 991px) {
  .about-section {
    padding: 80px 0;
  }

  .image-wrapper {
    height: 420px;
    margin-bottom: 60px;
  }

  .img-back {
    width: 280px;
    height: 300px;
  }

  .img-front {
    width: 320px;
    height: 250px;
    left: 70px;
    top: 45px;
  }
}

@media (max-width: 767px) {
  .image-wrapper {
    height: 320px;
  }

  .img-back {
    width: 220px;
    height: 220px;
  }

  .img-front {
    width: 250px;
    height: 200px;
    left: 45px;
    top: 40px;
  }

  .section-text {
    max-width: 100%;
  }
}

/* process */
.steps-section::before {
  content: "";
  position: absolute;
  width: 650px;
  height: 650px;
  background: radial-gradient(circle, #dbeafe 0%, transparent 70%);
  left: -180px;
  top: -180px;
  z-index: 0;
}

.steps-section::after {
  content: "";
  position: absolute;
  width: 550px;
  height: 550px;
  background: radial-gradient(circle, #ffffff 0%, transparent 70%);
  right: -150px;
  bottom: -200px;
  z-index: 0;
}

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

.tracker-section {
  background: #f7f7f7;
}

.tracker-img img {
  height: 425px;
}

.tracker-feature-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.tracker-feature {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #f8fbfb;
  border-radius: 18px;
  padding: 20px;
  transition: 0.35s;
}

.tracker-feature:hover {
  background: #222;
  transform: translateY(-5px);
}

.tracker-feature:hover h6,
.tracker-feature:hover p {
  color: #fff;
}

.feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #fff;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
  transition: 0.35s;
}

.tracker-feature h6 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #111;
  transition: 0.35s;
}

.tracker-feature p {
  margin: 0;
  color: #666;
  font-size: 12px;
  line-height: 1.7;
  transition: 0.35s;
}

@media (max-width: 767px) {
  .tracker-content-card {
    padding: 25px;
  }

  .tracker-feature-list {
    grid-template-columns: 1fr;
  }
}

.structure-section {
  background: #f7f7f7;
}

.modern-section {
  position: relative;
  overflow: hidden;
}

.investment-card {
  position: relative;
  background: #fff;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid #22222214;
  transition: 0.45s;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05);
  height: 100%;
}

.investment-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 35px 70px rgba(0, 0, 0, 0.12);
}

.card-image {
  position: relative;
  height: 270px;
  overflow: hidden;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1s;
}

.investment-card:hover img {
  transform: scale(1.08);
}

.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.05));
  transition: 0.45s;
}

.investment-card:hover .overlay {
  background: linear-gradient(to top, #222222ad, rgba(0, 0, 0, 0.12));
}

.card-content {
  position: relative;
  padding: 32px;
}

.card-icon {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -66px;
  position: relative;
  z-index: 5;
  color: #fff;
  background: #222;
  font-size: 30px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
  transition: 0.45s;
}

.investment-card:hover .card-icon {
  transform: rotate(8deg) scale(1.08);
}

.tag {
  display: inline-block;
  margin-top: 22px;
  margin-bottom: 14px;
  padding: 8px 18px;
  border-radius: 50px;
  background: #eef8f7;
  color: #095763;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
}

.card-content h3 {
  font-size: 30px;
  font-weight: 700;
  color: #222;
  margin-bottom: 18px;
}

.card-content p {
  color: #6c737f;
  line-height: 1.8;
  margin-bottom: 24px;
  font-size: 15px;
}

.card-content ul {
  margin: 0;
  padding: 0;
}

.card-content ul li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 15px;
  font-weight: 500;
  color: #2d2d2d;
  transition: 0.35s;
}

.card-content ul li:last-child {
  margin-bottom: 0;
}

.card-content ul li i {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf8f5;
  color: #095763;
  font-size: 15px;
  transition: 0.35s;
}

.investment-card:hover ul li {
  transform: translateX(6px);
}

.investment-card:hover ul li i {
  background: #222;
  color: #fff;
}

.investment-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 5px;
  background: linear-gradient(90deg, #222, #888);
  transition: 0.45s;
  z-index: 5;
}

.investment-card:hover::before {
  width: 100%;
}

.investment-card::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -60%;
  width: 80px;
  height: 220%;
  background: rgba(255, 255, 255, 0.18);
  transform: rotate(25deg);
  transition: 0.8s;
  pointer-events: none;
}

.investment-card:hover::after {
  left: 130%;
}

.investment-card:hover {
  border-color: #2222222e;
}

.card-image {
  box-shadow: inset 0 -40px 80px rgba(0, 0, 0, 0.18);
}

@keyframes floatIcon {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-6px);
  }

  100% {
    transform: translateY(0px);
  }
}

.card-icon {
  animation: floatIcon 4s ease-in-out infinite;
}

@keyframes blob {
  0% {
    transform: translate(0, 0) scale(1);
  }

  50% {
    transform: translate(40px, -30px) scale(1.15);
  }

  100% {
    transform: translate(0, 0) scale(1);
  }
}

.investment-card:hover h3 {
  color: #222;
  transition: 0.35s;
}

.investment-card:hover .tag {
  background: #222;
  color: #fff;
  transition: 0.35s;
}

@media (max-width: 1200px) {
  .section-title h2 {
    font-size: 40px;
  }

  .card-content {
    padding: 28px;
  }

  .card-content h3 {
    font-size: 28px;
  }
}

@media (max-width: 992px) {
  .section-title h2 {
    font-size: 34px;
  }

  .card-image {
    height: 240px;
  }
}

@media (max-width: 768px) {
  .investment-card {
    border-radius: 22px;
  }

  .card-image {
    height: 220px;
  }

  .card-content {
    padding: 24px;
  }

  .card-content h3 {
    font-size: 24px;
  }

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

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

  .card-content p {
    font-size: 14px;
  }
}

@media (max-width: 576px) {
  .card-image {
    height: 200px;
  }

  .card-icon {
    width: 60px;
    height: 60px;
    font-size: 26px;
  }

  .card-content {
    padding: 22px;
  }

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

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

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-thumb {
  background: #222;
  border-radius: 20px;
}

::-webkit-scrollbar-track {
  background: #f2f2f2;
}

.ripple {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  transform: translate(-50%, -50%) scale(0);
  animation: ripple 0.6s linear;
  pointer-events: none;
}

@keyframes ripple {
  to {
    transform: translate(-50%, -50%) scale(18);
    opacity: 0;
  }
}

.standards-section {
  position: relative;
  overflow: hidden;
}

/* Timeline */

.timeline-wrapper {
  width: 100%;
  position: relative;
  height: 350px;
}

.line-svg {
  position: absolute;
  width: 100%;
  height: 260px;
  top: -50px;
  left: 0;
  z-index: 1;
}

.line-svg path {
  stroke-dasharray: 8 8;
  animation: line-run 1s linear infinite;
}

@keyframes line-run {
  to {
    stroke-dashoffset: -16;
  }
}

.we-do-timeline-item {
  position: relative;
  text-align: center;
  width: 170px;
  z-index: 2;
}

.we-do-timeline-item h6 {
  margin-top: 15px;
  font-weight: 700;
  color: #4a4a4a;
}

.we-do-timeline-item p {
  font-size: 13px;
  color: #777;
  line-height: 1.6;
}

.circle-img {
  width: 195px;
  height: 195px;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
  border: 7px solid #fff;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
}

.circle-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Position */
.item1 {
  left: 10px;
  bottom: 5%;
}

.item2 {
  left: 2%;
  top: 10%;
}

.item3 {
  left: 2%;
  top: -20%;
}

.item4 {
  right: -2%;
  top: -40%;
}

.item5 {
  right: 2%;
  top: -20%;
}

.item6 {
  right: 10px;
  bottom: 5%;
}

.item7 {
  left: 2%;
  top: 10%;
}

.item8 {
  left: 2%;
  top: 25%;
}

/* leaves */

.leaf-decoration {
  position: absolute;
  width: 446px;
  bottom: 30%;
  right: -42%;
  z-index: 3;
  pointer-events: none;
  animation: leaf-float 9s ease-in-out infinite;
}

@keyframes leaf-float {
  0% {
    transform: translateX(-50%) translateY(0) rotate(0deg);
  }

  50% {
    transform: translateX(-50%) translateY(-20px) rotate(5deg);
  }

  100% {
    transform: translateX(-50%) translateY(0) rotate(0deg);
  }
}

/* Responsive */

@media (max-width: 991px) {
  .timeline-wrapper {
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .we-do-timeline-item {
    position: relative;
    width: 100%;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
  }

  .line-svg {
    display: none;
  }

  .leaf-decoration {
    display: none;
  }

  .main-title {
    font-size: 36px;
  }
}

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

  .main-title {
    font-size: 30px;
  }
}

/* Get a Quote */
.quote-section {
  padding: 60px 0;
}

.quote-card {
  background: linear-gradient(135deg, #111 0%, #555 100%);
  border-radius: 16px;
  padding: 55px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  box-shadow: 0 25px 60px rgba(9, 87, 99, 0.35);
  position: relative;
  overflow: hidden;
}

.quote-card::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  right: -80px;
  top: -80px;
}

.quote-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  left: 15%;
  bottom: -90px;
}

.quote-content {
  position: relative;
  z-index: 1;
}

.quote-sub-title {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 12px;
}

.quote-title {
  font-size: 38px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.3;
}

.quote-text {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  max-width: 560px;
}

.quote-action {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .quote-card {
    flex-direction: column;
    text-align: center;
    padding: 40px 25px;
  }

  .quote-text {
    margin: 0 auto;
  }
}

@media (max-width: 576px) {
  .quote-title {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .service-layout .orbit-container {
    display: none;
  }
}

/* === o&m.css === */
.om-section {
  background: url("../images/banner-img/O&M service.webp");
  background-size: cover;
  height: 600px;
  background-position: center;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.subtitle {
  display: inline-block;
  color: #0b7a75;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.section-title h2 span {
  color: #0b7a75;
}

.section-title p {
  max-width: 850px;
  margin: auto;
  color: #666;
  line-height: 1.9;
}

.section-heading {
  margin: 60px 0 35px;
}

.section-heading h3 {
  font-size: 34px;
  font-weight: 700;
}

.icon {
  width: 70px;
  height: 70px;
  margin: auto auto 25px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.icon i {
  color: #fff;
  font-size: 30px;
}

.omservice-card {
  position: relative;
  background: #fff;
  border-radius: 20px;
  padding: 35px;
  transition: 0.35s;
  height: 190px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.omservice-card:hover {
  transform: translateY(-8px);
}

.service-icon {
  position: absolute;
  top: 25px;
  left: 25px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(9, 87, 99, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.35s;
}

.omservice-card h5 {
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 18px;
  margin-left: 20%;
}

.service-icon::before {
  content: "";
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 1px dashed rgba(9, 87, 99, 0.2);
  animation: rotateRing 12s linear infinite;
}

.service-icon i {
  font-size: 28px;
  color: #095763;
  margin: 0;
  z-index: 2;
}

.omservice-card:hover .service-icon {
  background: #095763;
}

.omservice-card:hover .service-icon i {
  color: #fff;
}

.omservice-card p {
  color: #666;
  line-height: 1.8;
  font-size: 15px;
  margin: 0;
  position: absolute;
  bottom: 25px;
}

@keyframes rotateRing {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.advantage-card {
  background: #fff;
  padding: 25px;
  box-shadow: 15px 30px 30px rgba(0, 0, 0, 0.1);
}

.advantage-image img {
  width: 100%;
  height: 424px;
  object-fit: cover;
  border-radius: 12px;
}

.advantage-card h5 {
  margin-bottom: 15px;
  font-weight: 600;
}

.advantage-card p {
  color: #666;
  line-height: 1.8;
  font-size: 14px;
  margin-bottom: 0px;
}

.bottom-text {
  background: #222222;
  color: #fff;
  padding: 45px;
  border-radius: 25px;
}

.bottom-text p {
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
}

.left-side p {
  font-size: 16px;
  color: #777;
  line-height: 1.8;
  margin-bottom: 0px;
}

@media (max-width: 1024px) {
  .advantage-image img {
    height: 304px;
  }
}

@media (max-width: 767px) {
  .advantage-image img {
    height: 260px;
  }
}

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

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

@media (max-width: 767px) {
  .process-wrap {
    grid-template-columns: 1fr;
  }

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

  .bottom-image {
    display: none;
  }
}

.maintenance-section {
  height: 100%;
  background: #f7f7f7;
}

.care-card {
  background: #fff;
  border-radius: 22px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
  transition: 0.4s;
  margin-bottom: 20px;
}

.care-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.12);
}

.care-card.dark {
  background: #222;
  color: #fff;
  cursor: pointer;
}

.content {
  max-width: 60%;
}

.content h2 {
  font-size: 20px;
  margin-bottom: 12px;
  font-weight: 600;
}

.content p {
  font-size: 14px;
  line-height: 1.7;
  color: #777;
}

.dark p,
.dark h2 {
  color: #d6d6d6;
}

.care-card img {
  width: 170px;
  height: 110px;
  border-radius: 22px;
  object-fit: cover;
  transition: 0.5s;
}

.care-card:hover img {
  transform: scale(1.05);
}

.bottom-image {
  margin-top: auto;
  position: absolute;
  bottom: 30px;
  display: flex;
  gap: 20px;
}

.bottom-image img {
  height: 150px;
  width: 200px;
  border-radius: 22px;
}

.om-hero {
  position: relative;
  overflow: hidden;
}

.performance-card {
  position: relative;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.15);
  margin-bottom: 40px;
}

.performance-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.floating-card {
  position: absolute;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(18px);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15);
}

.card1 {
  right: 5px;
  top: -45px;
}

.card1 h4 {
  font-size: 20px;
  color: #095763;
  margin: 0;
}

.card1 p {
  margin: 8px 0 0;
  color: #555;
  font-size: 12px;
}

.card2 {
  right: 30px;
  bottom: -35px;
  display: flex;
  gap: 16px;
  align-items: center;
}

.card3 {
  left: 30px;
  bottom: -35px;
  display: flex;
  gap: 16px;
  align-items: center;
}

.card2 i,
.card3 i {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  background: #095763;
  color: #fff;
  border-radius: 50%;
  font-size: 24px;
}

.card2 h5,
.card3 h5 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.card2 span,
.card3 span {
  font-size: 14px;
  color: #666;
}

@media (max-width: 992px) {
  .performance-card {
    height: 500px;
  }

  .hero-btns {
    flex-direction: column;
  }

  .primary-btn,
  .secondary-btn {
    width: 100%;
  }
}

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

.solution-image img {
  width: 600px;
  border-radius: 24px;
  overflow: hidden;
}

.solution-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.capacity-card {
  position: absolute;
  z-index: 2;
  left: 30px;
  bottom: 40px;
  background: rgba(255, 255, 255, 0.96);
  padding: 17px 22px;
  min-width: 190px;
  border-radius: 6px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
}

.capacity-card strong {
  display: block;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 700;
  color: #111;
}

.capacity-card span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.5;
  color: #777;
}

.solutions-content {
  padding-right: 10px;
}

.solution-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 45px;
  row-gap: 38px;
}

.solution-item {
  position: relative;
}

.solution-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  border-radius: 10px;
  color: #095763;
  background: #0957632c;
  font-size: 17px;
  transition: all 0.3s ease;
}

.solution-item:hover .solution-icon {
  background: #095763;
  color: #fff;
  transform: translateY(-3px);
}

.solution-item h3 {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 7px;
  color: #171717;
}

.solution-item p {
  font-size: 15px;
  line-height: 1.7;
  color: #888;
  max-width: 245px;
}

@media (max-width: 991px) {
  .solutions-section {
    padding: 70px 0;
  }

  .solution-image {
    height: 500px;
  }

  .solutions-content {
    padding-right: 0;
  }
}

@media (max-width: 767px) {
  .solutions-section {
    padding: 55px 0;
  }

  .solution-image {
    height: 420px;
    border-radius: 20px;
  }

  .capacity-card {
    left: 20px;
    bottom: 20px;
    padding: 14px 18px;
    min-width: 170px;
  }

  .capacity-card strong {
    font-size: 21px;
  }

  .capacity-card span {
    font-size: 10px;
  }

  .solution-grid {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

@media (max-width: 480px) {
  .solution-image {
    height: 360px;
  }

  .solutions-content h2 {
    font-size: 30px;
  }

  .solution-icon {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
}

.cta-section {
  position: relative;
  /* overflow: hidden; */
  isolation: isolate;
  height: 400px;
}

.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/o&m/o&m-cta.webp");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  opacity: 0.2;
  z-index: -1;
}

/* =========================================
   O&M APPROACH
========================================= */

.om-approach-section {
  position: relative;
  background: #fff;
  overflow: hidden;
}

/* =========================================
   PROCESS
========================================= */

.om-process {
  position: relative;
  max-width: 1100px;
  margin: auto;
}

/* =========================================
   CENTRAL LINE
========================================= */

.om-process-line {
  position: absolute;

  top: 0;
  bottom: 40px;
  left: 50%;

  width: 1px;

  transform: translateX(-50%);

  background: linear-gradient(
    to bottom,
    transparent 0%,
    #d9e4e5 5%,
    #d9e4e5 95%,
    transparent 100%
  );

  overflow: hidden;
}

/* moving progress */

.om-line-progress {
  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 0;

  background: #095763;

  transition: height 0.15s linear;
}

/* glowing moving pulse */

.om-line-glow {
  position: absolute;

  left: 50%;
  top: 0;

  width: 7px;
  height: 90px;

  transform: translateX(-50%);

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(9, 87, 99, 0.8),
    transparent
  );

  filter: blur(3px);

  animation: omLinePulse 2.8s linear infinite;
}

@keyframes omLinePulse {
  0% {
    top: -100px;
  }

  100% {
    top: 100%;
  }
}

/* =========================================
   STEP
========================================= */

.om-step {
  position: relative;

  display: grid;
  grid-template-columns: 1fr 90px 1fr;

  min-height: 250px;

  /* opacity: 0; */
  transform: translateY(60px);

  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.om-step.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================
   CONTENT
========================================= */

.om-step-content {
  position: relative;

  width: 390px;
  padding: 10px 0 45px;
}

.om-step-right .om-step-content {
  grid-column: 3;
  text-align: left;
  justify-self: start;
  padding-left: 35px;
}

.om-step-left .om-step-content {
  grid-column: 1;
  text-align: right;
  justify-self: end;
  padding-right: 35px;
}

/* =========================================
   LABEL
========================================= */

.om-step-label {
  display: block;

  margin-bottom: 12px;

  color: #095763;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 1.8px;
}

/* =========================================
   TITLE
========================================= */

.om-step-content h3 {
  margin: 0 0 12px;

  color: #111;

  font-size: 30px;
  line-height: 1.15;
  font-weight: 600;

  transition:
    color 0.35s ease,
    transform 0.35s ease;
}

.om-step:hover .om-step-content h3 {
  color: #095763;
  transform: translateX(5px);
}

.om-step-left:hover .om-step-content h3 {
  transform: translateX(-5px);
}

/* =========================================
   DESCRIPTION
========================================= */

.om-step-content p {
  margin: 0;

  color: #707070;

  font-size: 14px;
  line-height: 1.8;
}

/* =========================================
   NODE
========================================= */

.om-step-node {
  position: relative;

  grid-column: 2;
  grid-row: 1;

  width: 66px;
  height: 66px;

  align-self: flex-start;
  justify-self: center;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-top: 0;

  border-radius: 50%;

  background: #fff;

  border: 1px solid #d5e1e2;

  z-index: 5;

  transition:
    border-color 0.4s ease,
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

/* outer ring */

.om-node-ring {
  position: absolute;

  inset: -8px;

  border: 1px solid rgba(9, 87, 99, 0.12);

  border-radius: 50%;

  transform: scale(0.85);
  opacity: 0;

  transition:
    transform 0.5s ease,
    opacity 0.5s ease;
}

/* center dot */

.om-node-dot {
  position: absolute;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: #095763;

  opacity: 0.3;

  transition:
    transform 0.4s ease,
    opacity 0.4s ease;
}

.om-step-node i {
  position: relative;
  z-index: 2;

  color: #095763;

  font-size: 23px;

  opacity: 0.9;

  transition:
    transform 0.4s ease,
    color 0.4s ease;
}

/* active/hover */

.om-step:hover .om-step-node,
.om-step.visible .om-step-node {
  border-color: #095763;

  box-shadow:
    0 0 0 8px rgba(9, 87, 99, 0.04),
    0 12px 35px rgba(9, 87, 99, 0.12);

  transform: scale(1.05);
}

.om-step:hover .om-node-ring,
.om-step.visible .om-node-ring {
  opacity: 1;
  transform: scale(1);
}

.om-step:hover .om-step-node i {
  transform: scale(0.75);
  color: #095763;
}

.om-step-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.om-step-left .om-step-meta {
  justify-content: flex-end;
}

.om-step-meta span {
  display: inline-block;
  padding: 6px 11px;
  border-bottom: 1px solid #dce6e7;
  color: #888;
  font-size: 11px;
  line-height: 1;
  transition:
    color 0.3s ease,
    border-color 0.3s ease;
}

.om-step:hover .om-step-meta span {
  color: #095763;
  border-color: #095763;
}

.om-step::before {
  content: attr(data-step);
  position: absolute;
  top: -4px;
  color: #eef3f3;
  font-size: 90px;
  line-height: 1;
  font-weight: 700;
  z-index: -1;
  transition:
    color 0.5s ease,
    transform 0.5s ease;
}

.om-step-right::before {
  left: calc(50% + 80px);
}

.om-step-left::before {
  right: calc(50% + 80px);
}

.om-step:hover::before {
  color: #e5eeee;
  transform: scale(1.08);
}

.om-process-end {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -5px;
}

.om-process-end span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #095763;
  box-shadow:
    0 0 0 7px rgba(9, 87, 99, 0.08),
    0 0 25px rgba(9, 87, 99, 0.25);
}

.om-process-end strong {
  margin-top: 15px;
  color: #095763;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
}

.om-step:nth-child(2) {
  transition-delay: 0.05s;
}

.om-step:nth-child(3) {
  transition-delay: 0.1s;
}

.om-step:nth-child(4) {
  transition-delay: 0.15s;
}

.om-step:nth-child(5) {
  transition-delay: 0.2s;
}

.om-step:nth-child(6) {
  transition-delay: 0.25s;
}

.om-step:nth-child(7) {
  transition-delay: 0.3s;
}

@media (max-width: 991px) {
  .om-approach-heading {
    margin-bottom: 70px;
  }

  .om-step {
    grid-template-columns: 75px 1fr;
    min-height: 230px;
  }

  .om-process-line {
    left: 37px;
  }

  .om-step-node {
    grid-column: 1;
    grid-row: 1;
  }

  .om-step-content,
  .om-step-right .om-step-content,
  .om-step-left .om-step-content {
    grid-column: 2;

    width: auto;

    text-align: left;

    justify-self: stretch;

    padding: 0 0 40px 25px;
  }

  .om-step-left .om-step-meta {
    justify-content: flex-start;
  }

  .om-step-right::before,
  .om-step-left::before {
    left: 75px;
    right: auto;
    top: -15px;
  }

  .om-step:hover .om-step-content h3,
  .om-step-left:hover .om-step-content h3 {
    transform: translateX(5px);
  }
}

@media (max-width: 575px) {
  .om-approach-heading {
    margin-bottom: 55px;
  }

  .om-approach-heading h2 {
    font-size: 34px;
  }

  .om-approach-heading p {
    font-size: 14px;
  }

  .om-process-line {
    left: 27px;
  }

  .om-step {
    grid-template-columns: 55px 1fr;
    min-height: 235px;
  }

  .om-step-node {
    width: 54px;
    height: 54px;
  }

  .om-step-node i {
    font-size: 19px;
  }

  .om-step-content,
  .om-step-right .om-step-content,
  .om-step-left .om-step-content {
    padding-left: 20px;
  }

  .om-step-content h3 {
    font-size: 25px;
  }

  .om-step-content p {
    font-size: 13px;
  }

  .om-step::before {
    display: none;
  }

  .om-step-meta span {
    font-size: 10px;
  }
}

/* === bess.css === */
.bess-banner {
  position: relative;
  background-image: url("../images/banner-img/BESS.webp");
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  height: 600px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

.industry-item {
  border-left: 3px solid #ddd;
  padding: 20px 25px;
  cursor: pointer;
  transition: 0.35s;
  margin-bottom: 15px;
}

.industry-item.active {
  border-color: #095763;
  background: #09576310;
}

.industry-item h5 {
  font-weight: 600;
  margin-bottom: 10px;
}

.industry-item p {
  color: #666;
  margin: 0;
}

.industrialSwiper {
  border-radius: 20px;
  overflow: hidden;
}

.industrialSwiper img {
  width: 100%;
  height: 550px;
  object-fit: cover;
}

.category-slider {
  display: none;
}

.category-slider.active {
  display: block;
}

/* Hide Swiper default arrows */
.category-slider .swiper-button-next::after,
.category-slider .swiper-button-prev::after {
  display: none;
}

/* Navigation Buttons */
.category-slider .swiper-button-next,
.category-slider .swiper-button-prev {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #095763;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.35s ease;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* Icons */
.category-slider .swiper-button-next i::before,
.category-slider .swiper-button-prev i::before {
  font-weight: 300;
  font-size: 28px;
  color: #fff;
  transition: 0.35s;
}

/* Hover */
.category-slider .swiper-button-next:hover,
.category-slider .swiper-button-prev:hover {
  background: #095763;
  transform: translateY(-3px);
}

.category-slider .swiper-button-next:hover::before,
.category-slider .swiper-button-prev:hover::before {
  color: #fff;
}

/* Disabled */
.category-slider .swiper-button-disabled {
  opacity: 0.35 !important;
  cursor: not-allowed;
}

/* Position */
.category-slider .swiper-button-next {
  right: 85px;
}

/* Mobile */
@media (max-width: 991px) {
  .category-slider .swiper-button-prev {
    left: 10px;
  }

  .category-slider .swiper-button-next {
    right: 10px;
  }

  .category-slider .swiper-button-next,
  .category-slider .swiper-button-prev {
    width: 48px;
    height: 48px;
  }

  .category-slider .swiper-button-next::before,
  .category-slider .swiper-button-prev::before {
    font-size: 22px;
  }
}

.emergency-section {
  background: #f7f7f7;
  overflow: hidden;
}

/* IMAGE COLLAGE */

.image-collage {
  position: relative;
  width: 100%;
  height: 450px;
}

.img-card {
  position: absolute;
  overflow: hidden;

  border-radius: 22px;

  background: #fff;

  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
}

.img-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

.card-1 {
  width: 100%;
  height: 210px;
  top: 0;
  left: 0;
}

.card-2 {
  width: 100%;
  height: 210px;
  top: 20px;
}

.section-tag {
  display: inline-block;
  color: #222;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.section-desc {
  color: #666;
  margin-bottom: 35px;
}

.custom-btn {
  display: inline-block;
  background: #222;
  color: #fff;
  padding: 15px 38px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.35s;
}

.custom-btn:hover {
  background: #095763;
  color: #fff;
}

@media (max-width: 991px) {
  .image-collage {
    height: 380px;
    margin-bottom: 50px;
  }
}

@media (max-width: 576px) {
  .image-collage {
    transform: scale(0.9);
    transform-origin: center;
  }
}

.benefit-item {
  display: flex;
  gap: 25px;
  position: relative;
  padding: 0 0 35px 45px;
}

.benefit-item:last-child {
  padding-bottom: 0;
}

.benefit-item::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0;
  width: 2px;
  height: 100%;
  background: #d8d8d8;
}

.benefit-item:last-child::before {
  height: 30px;
}

.bess-benefit-icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  background: #222;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  border: 5px solid #fff;
  box-shadow: 0 8px 25px rgba(9, 87, 99, 0.25);
}

.benefit-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}

.benefit-text {
  color: #666;
  line-height: 1.8;
}

/* ecosystem */
.eco-video {
  width: 100%;
  overflow: hidden;
  border-radius: 28px;
}

.eco-video video {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
}

/* Timeline */
.timeline-wrapper {
  margin: auto;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.timeline-line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #222;
  transform: translateY(-50%);
}

.timeline-item {
  position: relative;
  width: 31%;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}

.timeline-item.bottom {
  transform: translateY(90px);
}

.circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #222;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  position: relative;
}

.circle::after {
  content: "";
  position: absolute;
  width: 3px;
  background: #222;
}

.top .circle::after {
  top: 100%;
  height: 90px;
}

.center .circle::after {
  bottom: 100%;
  height: 90px;
}

.bottom .circle::after {
  top: 100%;
  height: 90px;
}

.card {
  margin-top: 90px;
  width: 100%;
  background: #fff;
  padding: 30px;
  border-radius: 18px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  transition: 0.35s;
}

.card.active {
  background: #f1f1f1;
}

.card h3 {
  color: #222;
  font-size: 24px;
  margin-bottom: 15px;
  line-height: 1.3;
}

.card p {
  color: #666;
  font-size: 15px;
  line-height: 1.8;
}

.timeline-item:hover .card {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.timeline-item:hover .circle {
  transform: scale(1.08);
}

@media (max-width: 991px) {
  .timeline-wrapper {
    flex-direction: column;
    gap: 80px;
  }

  .timeline-line {
    width: 3px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }

  .timeline-item {
    width: 100%;
    transform: none !important;
  }

  .circle::after {
    display: none;
  }

  .card,
  .center .card {
    margin: 25px 0 0;
  }
}

/* About */
.about-image img {
  height: 450px;
  width: 100%;
  object-fit: cover;
  border-radius: 28px;
}

.card-box h4 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}

.card-box p {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
}

.rz-energy-flow__item {
  position: relative;
  z-index: 1;
}

.rz-energy-flow__icon-box {
  width: 88px;
  height: 88px;
  border: 3px solid rgba(255, 255, 255, 0.4);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 30px;
  color: #222;
  background: #e4e4e4;
  transition: 0.3s ease;
}

.rz-energy-flow__icon-box svg {
  width: 35px;
  height: 35px;
}

.rz-energy-flow__label {
  font-size: 12px;
  letter-spacing: 1px;
  color: #666;
  margin-bottom: 6px;
  text-align: center;
}

.rz-energy-flow__text {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}

.rz-energy-flow__line {
  position: absolute;
  top: 87%;
  left: 12%;
  width: 76%;
  border-top: 2px dashed rgba(219, 219, 219, 0.38);
  z-index: 0;
}

/* === mgt.css === */
.banner-mgt {
  position: relative;
  background-image: url("../images/banner-img/management.webp");
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  height: 600px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

/* structure */

.structure-left img {
  height: 500px;
  width: 100%;
  object-fit: cover;
  border-radius: 24px;
}

.structure-img img {
  height: 250px;
  width: 100%;
  object-fit: cover;
  border-radius: 24px;
}

.project-management-section {
  overflow: hidden;
}

.pm-slide {
  display: flex;
  align-items: center;
  gap: 70px;
}

.pm-content {
  max-width: 560px;
}

.pm-content .count {
  font-size: 70px;
  font-weight: 700;
  color: #095763;
  opacity: 0.12;
  line-height: 1;
  display: block;
  margin-bottom: 10px;
}

.pm-content h2 {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 25px;
}

.pm-content p {
  font-size: 14px;
  line-height: 1.9;
  color: #666;
  margin-bottom: 0px;
}

.pm-image {
  position: relative;
}

.pm-image img {
  width: 100%;
  height: 400px;
  /* object-fit: cover; */
  border-radius: 28px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.12);
}

.projectManagementSlider .swiper-button-next,
.projectManagementSlider .swiper-button-prev {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff;
  color: #095763;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.projectManagementSlider .swiper-button-next::after,
.projectManagementSlider .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 700;
}

.projectManagementSlider .swiper-pagination {
  bottom: 10px !important;
}

.projectManagementSlider .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #095763;
  opacity: 0.25;
}

.projectManagementSlider .swiper-pagination-bullet-active {
  width: 42px;
  border-radius: 20px;
  opacity: 1;
}

@media (max-width: 991px) {
  .pm-slide {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .pm-image {
    order: -1;
  }

  .pm-image img {
    height: 380px;
  }

  .pm-content h2 {
    font-size: 32px;
  }

  .pm-content .count {
    font-size: 55px;
  }
}

.pm-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e8e8e8;
  transition: 0.35s;
  height: 100%;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.06);
}

.pm-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: 0.5s;
}

.pm-content {
  padding: 28px;
  position: relative;
  background: #fff;
}

.pm-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #f3f5f6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.pm-icon i {
  font-size: 22px;
  color: #095763;
}

.pm-content h4 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 14px;
  color: #222;
}

.pm-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
}

.pm-card:hover img {
  transform: scale(1.08);
}

.pm-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  transition: 0.35s;
  border-radius: 12px;
}

.pm-card:hover .pm-icon {
  background: #095763;
}

.pm-card:hover .pm-icon i {
  color: #fff;
}

@media (max-width: 991px) {
  .pm-card img {
    height: 200px;
  }
}

@media (max-width: 576px) {
  .pm-content {
    padding: 22px;
  }

  .pm-content h4 {
    font-size: 20px;
  }
}

.mgt-list {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: 62px;
}

.mgt-list li {
  background: #fff;
  border-radius: 20px;
  padding: 25px;
  width: 100%;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
  margin-bottom: 10px;
}

.list-img img {
  height: 400px;
  width: 700px;
  border-radius: 28px;
}

.planning-image {
  position: relative;
}

.planning-image img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  border-radius: 28px;
}

.section-tag {
  display: inline-block;
  color: #095763;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px;
  margin-bottom: 15px;
}

.section-title span {
  color: #095763;
}

.highlight-box {
  background: #f7f9fa;
  border-left: 5px solid #095763;
  padding: 30px;
  border-radius: 18px;
  margin-bottom: 30px;
}

.highlight-box h4 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #111;
}

.highlight-box h4 span {
  color: #095763;
}

.highlight-box p {
  color: #666;
  line-height: 1.8;
  margin: 0;
}

.quote-box {
  position: relative;
  padding-left: 70px;
}

.quote-box i {
  position: absolute;
  left: 0;
  top: -10px;
  font-size: 55px;
  color: #095763;
  opacity: 0.25;
}

.quote-box h3 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  color: #222;
}

@media (max-width: 1440px) {
  .list-img img {
    height: 380px;
    width: 640px;
    border-radius: 28px;
  }
}

@media (max-width: 1024px) {
  .list-img img {
    height: 100%;
    width: 100%;
  }

  .mgt-list li {
    font-size: 14px;
  }

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

@media (max-width: 991px) {
  .planning-image img {
    height: auto;
  }

  .quote-box h3 {
    font-size: 24px;
  }
}

.multi-section-mgt,
.mgt-support {
  background: #f7f7f7;
}

/* === finance.css === */
.finance-banner {
  background: url("../images/banner-img/finance.webp");
  background-size: cover;
  height: 600px;
  position: relative;
  z-index: 1;
  isolation: isolate;
  background-position: bottom;
}

/* design */
.img-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.12);
}

.img-one img {
  height: 200px;
  width: 100%;
  object-fit: cover;
}

.img-two img {
  height: 250px;
  width: 100%;
  object-fit: cover;
}

.img-three img {
  height: 320px;
  width: 100%;
  object-fit: cover;
}

/* finance */
.matter-section,
.needs-section {
  background: #f7f7f7;
}

.section-tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border-radius: 50px;
  background: rgba(9, 87, 99, 0.08);
  color: #095763;
  font-weight: 600;
  font-size: 14px;
}

.finance-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: #095763;
  color: #fff;
  text-decoration: none;
  border-radius: 50px;
  transition: 0.35s;
}

.finance-btn:hover {
  background: #063c44;
  color: #fff;
}

.financeSwiper {
  padding: 15px 25px 60px;
}

.financeSwiper .swiper-slide {
  height: auto;
}

.finance-card {
  background: #fff;
  border-radius: 20px;
  padding: 35px;
  height: 100%;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
  transition: 0.4s;
  border: 1px solid rgba(9, 87, 99, 0.08);
  position: relative;
  overflow: hidden;
}

.finance-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 0;
  background: #095763;
  transition: 0.4s;
}

.finance-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

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

.finance-card .finance-icon {
  width: 70px;
  height: 70px;
  border-radius: 18px;
  background: rgba(9, 87, 99, 0.08);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.finance-card .finance-icon i {
  font-size: 32px;
  color: #095763;
}

.finance-card h4 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 15px;
}

.finance-card p {
  margin: 0;
  color: #666;
  font-size: 15px;
}

/* support */
.compare-card {
  border-radius: 22px;
  padding: 38px 35px;
  height: 100%;
  position: relative;
  transition: 0.35s;
}

.compare-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.light-card {
  background: #f3f3f3;
  color: #666;
  border: 1px solid #ececec;
}

.dark-card {
  background: #222;
  color: #dcdcdc;
  overflow: hidden;
}

/* Gradient Glow */
.dark-card::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  background: radial-gradient(
    circle,
    #ff6a00 0%,
    rgba(255, 106, 0, 0.35) 25%,
    transparent 70%
  );
  top: -120px;
  right: -70px;
  filter: blur(18px);
}

.dark-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  background: radial-gradient(
    circle,
    #00aaff 0%,
    rgba(0, 170, 255, 0.3) 25%,
    transparent 70%
  );
  top: -90px;
  right: 20px;
  filter: blur(25px);
}

.card-title {
  font-size: 34px;
  margin-bottom: 30px;
  font-weight: 500;
}

.dark-card .card-title {
  color: #fff;
}

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

.feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 20px;
}

.feature-list i {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  flex-shrink: 0;
  margin-top: 3px;
}

.dark-card .feature-list i {
  border-color: rgba(255, 255, 255, 0.18);
}

@media (max-width: 991px) {
  .compare-card {
    margin-bottom: 25px;
  }

  .card-title {
    font-size: 28px;
  }
}

/* finance solution */
.solution-wrapper {
  background: #fff;
  border-radius: 25px;
  padding: 35px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.06);
}

@media (max-width: 991px) {
  .solution-wrapper {
    margin-top: 10px;
  }
}

.image-box {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  height: 420px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.12);
}

.image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}

.image-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 35px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
}

.image-overlay h4 {
  color: #fff;
  margin: 0;
  font-size: 28px;
  font-weight: 700;
}

.finance-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 22px;
  border-radius: 15px;
  border: 1px solid #e9ecef;
  margin-bottom: 15px;
  cursor: pointer;
  transition: 0.35s;
  background: #fff;
}

.finance-item i {
  font-size: 22px;
  color: #095763;
}

.finance-item:hover,
.finance-item.active {
  background: #222;
  color: #fff;
  transform: translateX(10px);
}

.finance-item:hover i,
.finance-item.active i {
  color: #fff;
}

/* Plan */
.experience-wrapper {
  position: relative;
  width: 420px;
  height: 340px;
  margin: auto;
}

.plan-image-box {
  position: absolute;
  overflow: hidden;
  border-radius: 2px;
  background: #fff;
}

.plan-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.plan-image-one {
  width: 378px;
  height: 230px;
  left: 35px;
  top: -55px;
}

.plan-image-two {
  width: 410px;
  height: 270px;
  left: 112px;
  top: 125px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.experience-card {
  position: absolute;
  top: 0;
  left: 98%;
  width: 110px;
  height: 125px;
  background: #222;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 3;
}

.experience-card h3 {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.experience-card span {
  font-size: 13px;
  text-align: center;
  line-height: 1.4;
  font-weight: 500;
}

.dot-pattern {
  position: absolute;
  left: 20px;
  bottom: 35px;
  width: 95px;
  height: 95px;
  background-image: radial-gradient(#bcbcbc 1.4px, transparent 1.4px);
  background-size: 9px 9px;
  z-index: -1;
}

@media (max-width: 991px) {
  .experience-wrapper {
    width: 330px;
    height: 300px;
    margin-top: 50px;
  }

  .image-one {
    width: 145px;
    height: 145px;
  }

  .image-two {
    width: 185px;
    height: 185px;
    left: 90px;
    top: 80px;
  }

  .experience-card {
    left: 165px;
    width: 95px;
    height: 95px;
  }

  .experience-card h3 {
    font-size: 26px;
  }
}

/* === blogs.css === */
.blog-bg {
  position: relative;
  background-image: url("../images/banner-img/blog.webp");
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  height: 600px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

.blog-section {
  position: relative;
  background: #f7f7f7;
  isolation: isolate;
  padding: 80px 0;
}

.blog-sidebar-wrapper {
  position: sticky !important;
  top: 80px !important;
  align-self: flex-start !important;
  height: fit-content;
  margin-bottom: 60px;
}

.custom-tabs {
  position: relative;
}

.blog-sidebar-widget-title {
  /* background-color: #222; */
  color: #222;
  padding: 10px 0px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.company-about-tabs-content #pagingBox {
    display: grid;
    grid-template-columns: repeat(2, 15fr);
}

.featured-blog {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  height: auto;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
  margin: 0 15px 0 0;
}

.featured-blog img {
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
  transition: 0.5s;
}

.tp-blog-content h3 a {
  color: #222;
  text-decoration: none;
}

.tp-blog-content p {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  opacity: 0.9;
}

.featured-blog:hover img {
  transform: scale(1.06);
}

.featured-overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 35px;
  color: #fff;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(58, 38, 28, 0.35) 45%,
    rgba(145, 98, 73, 0.75) 75%,
    rgba(184, 140, 112, 0.92) 100%
  );
}

.featured-overlay h2 {
  font-size: 34px;
  line-height: 1.3;
  margin: 18px 0 12px;
  font-weight: 600;
  color: #fff;
}

.latest-posts h4 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 25px;
  padding-bottom: 18px;
  border-bottom: 1px solid #ececec;
}
.latest-post-item {
  color: inherit;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  padding: 12px;
  display: flex;
  gap: 18px;
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid #ececec;
  transition: 0.35s;
}

.latest-post-item:last-child {
  margin-bottom: 0;
  /* padding-bottom: 0; */
}

.latest-post-item:hover {
  transform: translateX(5px);
}

.latest-post-item img {
  width: 90px;
  height: 90px;
  border-radius: 14px;
  object-fit: cover;
  flex-shrink: 0;
}

.latest-post-item h6 a {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 10px;
  font-weight: 600;
  color: #222;
  text-decoration: none;
}

.latest-post-item span {
  color: #888;
  font-size: 12px;
}

.blog-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  transition: 0.35s;
  height: 100%;
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}

.blog-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.blog-card .card-body {
  padding: 28px;
}

.blog-card h4 {
  font-size: 25px;
  line-height: 1.35;
  font-weight: 700;
}

.blog-card p {
  color: #777;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 25px;
}

.pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 70px;
}

.page-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #ddd;
  transition: 0.35s;
}

.page-arrow:hover {
  background: #111;
  color: #fff;
}

.custom-pagination {
  gap: 10px;
  margin: 0;
}

.custom-pagination .page-link {
  width: 44px;
  height: 44px;
  border-radius: 50% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  color: #666;
  background: transparent;
  font-weight: 600;
}

.custom-pagination .page-item.active .page-link {
  background: #111;
  color: #fff;
}

.custom-pagination .page-link:hover {
  background: #111;
  color: #fff;
}

.blog-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
  min-height: calc(1.4em * 2);
  transition: all 0.3s ease;
  color: #222;
}

.sub-blog-meta {
  color: #555;
}

.sub-blogs {
  display: flex;
}

.blog-desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.8;
  min-height: calc(1.8em * 3);
  transition: all 0.3s ease;
}

@media (max-width: 991px) {
  .featured-blog {
    height: auto;
  }

  .latest-posts {
    margin-top: 25px;
  }

  .featured-overlay h2 {
    font-size: 28px;
  }

  .pagination-wrapper {
    flex-direction: column;
    gap: 20px;
  }

  .blog-section .col-lg-4 {
    position: static;
  }
}

@media (max-width: 767px) {
  .blog-section {
    padding: 80px 0;
  }

  .company-about-tabs-content #pagingBox {
    grid-template-columns: repeat(1, 15fr);
  }

  .featured-blog {
    margin: 0;
  }

  .featured-overlay {
    padding: 25px;
  }

  .featured-overlay h2 {
    font-size: 22px;
  }

  .blog-card img {
    height: 200px;
  }

  .latest-post-item {
    gap: 12px;
  }

  .latest-post-item img {
    width: 75px;
    height: 75px;
  }

  .latest-post-item h6 {
    font-size: 15px;
  }

  .blog-section .col-lg-4 {
    position: static;
  }
}

.custom-tabs {
  width: 100%;
}

.tab-wrapper {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.tab-wrapper::-webkit-scrollbar {
  display: none;
}

.main-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 0;
  min-width: max-content;
}

.main-tabs .nav-item {
  position: relative;
}

.main-tabs .nav-link {
  position: relative;
  border: 0;
  background: transparent;
  color: #777;
  border-radius: 0;
  padding: 13px 18px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.main-tabs .nav-link i {
  margin-right: 6px;
  font-size: 17px;
  vertical-align: middle;
}

.main-tabs .nav-link:hover {
  color: #095763;
}

.main-tabs .nav-link.active {
  color: #095763;
  background: transparent;
}

/* Animated underline */

.tab-underline {
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 3px;
  width: 0;
  background: #095763;
  border-radius: 5px 5px 0 0;
  transition:
    left 0.35s ease,
    width 0.35s ease;
}

/* .featured-blog::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(0, 0, 0, .08) 60%,
        rgba(0, 0, 0, .35) 100%
    );
    pointer-events: none;
} */

.featured-overlay {
  z-index: 2;
}

/* =========================================================
   LATEST POSTS
========================================================= */

.latest-posts {
  position: relative;
}

.latest-posts h4 {
  color: #222;
}

.latest-posts h4::after {
  content: "";
  display: block;
  width: 45px;
  height: 3px;
  background: #095763;
  border-radius: 5px;
  margin-top: 10px;
}

#latestPostsContainer {
  transition: opacity 0.2s ease;
}

.latest-post-item {
  color: inherit;
}

.latest-post-item h6 {
  color: #222;
  transition: color 0.3s ease;
}

.latest-post-item:hover h6 {
  color: #095763;
}

.latest-post-item img {
  transition: transform 0.35s ease;
}

.latest-post-item:hover img {
  transform: scale(1.05);
}

/* =========================================================
   EMPTY STATE
========================================================= */

.no-posts {
  padding: 30px 10px;
  text-align: center;
  color: #888;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .main-tabs {
    gap: 2px;
  }

  .main-tabs .nav-link {
    padding: 11px 13px;
    font-size: 13px;
  }

  .main-tabs .nav-link i {
    font-size: 15px;
  }

  .latest-posts {
    margin-top: 25px;
  }
}

/* =========================================================
   SUB BLOG GRID
========================================================= */

.sub-blogs {
  width: 100%;
}

/* Bootstrap columns */

.sub-blogs > .col-lg-4 {
  display: flex;
}

/* Card */

.sub-blogs .blog-card {
  width: 100%;
  height: 100%;

  background: #fff;

  border-radius: 22px;

  overflow: hidden;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

/* Hover */

.sub-blogs .blog-card:hover {
  transform: translateY(-8px);

  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}

/* Link */

.sub-blog-item {
  display: flex;

  flex-direction: column;

  height: 100%;

  color: inherit;

  text-decoration: none;
}

/* Image */

.sub-blogs .blog-card img {
  width: 100%;

  height: 220px;

  object-fit: cover;

  display: block;
}

/* Content */

.sub-blogs .card-body {
  padding: 24px;
}

/* Title */

.sub-blogs .blog-title {
  color: #222;

  font-size: 18px;

  line-height: 1.5;

  font-weight: 600;

  margin: 0 0 12px;
}

/* Date */

.sub-blog-meta {
  display: block;

  color: #888;

  font-size: 12px;
}

.sub-blog-meta i {
  color: #095763;

  margin-right: 4px;
}

/* Empty */

.no-posts {
  padding: 40px;

  text-align: center;

  color: #888;

  background: #fff;

  border-radius: 20px;
}

/* Tablet */

@media (max-width: 991px) {
  .sub-blogs .blog-card img {
    height: 200px;
  }
}

/* Mobile */

@media (max-width: 767px) {
  .sub-blogs .blog-card img {
    height: 220px;
  }
}

/* === faq.css === */
.faq-banner {
  background: url("../images/banner-img/FAQ.webp");
  background-size: cover;
  height: 600px;
  position: relative;
  z-index: 1;
  isolation: isolate;
  background-position: center;
}

/* FAQ Accordion -1 */
.faq-one {
  background: #f7f7f7;
}

.faq-one .accordion-item {
  border: none;
  border-radius: 18px !important;
  overflow: hidden;
  margin-bottom: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  transition: 0.35s ease;
}

.faq-one .accordion-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

.faq-one .accordion-button {
  background: #fff;
  color: #222;
  font-size: 18px;
  font-weight: 600;
  padding: 24px 70px 24px 28px;
  border: none;
  box-shadow: none;
  position: relative;
  transition: 0.35s;
}

.faq-one .accordion-button span {
  color: #095763;
  font-weight: 700;
  margin-right: 10px;
}

.faq-one .accordion-button:not(.collapsed) {
  background: #222;
  color: #fff;
}

.faq-one .accordion-button:not(.collapsed) span {
  color: #fff;
}

.faq-one .accordion-body {
  padding: 22px 28px 28px;
  color: #666;
  font-size: 15px;
  line-height: 1.8;
}

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

/* Remove Bootstrap Icon */
.faq-one .accordion-button::after {
  display: none;
}

/* Custom Plus / Minus */
.faq-one .accordion-button::before {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(9, 87, 99, 0.1);
  color: #095763;
  font-size: 24px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.35s;
}

.faq-one .accordion-button:not(.collapsed)::before {
  content: "−";
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* Smooth Collapse */
.faq-one .accordion-collapse {
  transition: all 0.35s ease;
}

/* Focus */
.faq-one .accordion-button:focus {
  box-shadow: none;
}

/*  */
.question-card {
  background: #22222211;
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.question-card h2 {
  font-size: 28px;
  font-weight: 700;
  color: #222;
  line-height: 1.25;
}

.question-card p {
  color: #8b8ca7;
  font-size: 14px;
  /* margin-bottom: 28px; */
}

/* Responsive */
@media (max-width: 991px) {
  .faq-one .accordion-button {
    font-size: 16px;
    padding: 20px 60px 20px 22px;
  }

  .faq-one .accordion-body {
    padding: 20px 22px 24px;
  }

  .faq-one .accordion-button::before {
    width: 38px;
    height: 38px;
    font-size: 22px;
  }

  .question-card {
    display: block;
  }
}

/*  */
/*==============================
    FAQ Accordion
==============================*/

.faq__accordion-2 .accordion-item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: 0.35s ease;
}

.faq__accordion-2 .accordion-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(9, 87, 99, 0.12);
}

.faq__accordion-2 .accordion-button {
  background: #fff;
  color: #222;
  font-size: 18px;
  font-weight: 600;
  padding: 22px 60px 22px 25px;
  border: none;
  box-shadow: none;
  position: relative;
  transition: 0.3s;
}

.faq__accordion-2 .accordion-button:not(.collapsed) {
  background: #222;
  color: #fff;
  box-shadow: none;
}

.faq__accordion-2 .accordion-button:focus {
  box-shadow: none;
  border: none;
}

/* Custom Plus Icon */

.faq__accordion-2 .accordion-button::after {
  content: "+";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f3f4f6;
  color: #095763;
  font-size: 24px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  background-image: none;
  transition: 0.35s;
}

.faq__accordion-2 .accordion-button:not(.collapsed)::after {
  content: "−";
  background: #fff;
  color: #095763;
}

/* Body */

.faq__accordion-2 .accordion-body {
  padding: 25px;
  background: #fff;
}

.faq__accordion-2 .accordion-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq__accordion-2 .accordion-body ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 14px;
  color: #555;
  font-size: 15px;
  line-height: 1.8;
}

.faq__accordion-2 .accordion-body ul li:last-child {
  margin-bottom: 0;
}

.faq__accordion-2 .accordion-body ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #095763;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

/* Space */

.faq__accordion-2 .accordion-item:not(:last-child) {
  margin-bottom: 18px;
}

.faq-sustain-img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Mobile */

@media (max-width: 767px) {
  .faq__accordion-2 .accordion-button {
    font-size: 16px;
    padding: 18px 55px 18px 18px;
  }

  .faq__accordion-2 .accordion-body {
    padding: 20px;
  }

  .faq-sustain-img {
    max-height: 280px;
    object-fit: contain;
    margin-bottom: 20px;
  }
}

.faq-sm-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .faq-sm-image img {
    max-height: 400px;
  }
}

@media (max-width: 767px) {
  .faq-sm-image img {
    max-height: 300px;
  }
}

/* === career.css === */
.career-banner {
  position: relative;
  background-image: url("../images/banner-img/Company.webp");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  height: 600px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

/* =========================================
   CAREER SECTION
========================================= */

.career-section {
  background: #fff;
  position: relative;
  overflow: hidden;
}

.career-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 50px;
}

.career-heading .section-title {
  max-width: 700px;
  margin-top: 10px;
  margin-bottom: 0;
}

.career-intro {
  max-width: 380px;
  margin: 0 0 5px auto;
  color: #6d6d6d;
  font-size: 15px;
  line-height: 1.8;
}

.career-card {
  height: 100%;
  background: #fff;
  border: 1px solid #dedede;
  overflow: hidden;
  transition:
    transform 0.45s ease,
    box-shadow 0.45s ease,
    border-color 0.45s ease;
}

.career-card:hover {
  transform: translateY(-8px);
  border-color: #bdbdbd;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
}

.career-card-image {
  width: 100%;
  height: 245px;
  overflow: hidden;
  background: #f2f2f2;
}

.career-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  transition: transform 0.7s cubic-bezier(0.2, 0.65, 0.3, 1);
}

.career-card:hover .career-card-image img {
  transform: scale(1.07);
}

.career-card-content {
  padding: 27px 28px 25px;
}

.career-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 18px;
}

.career-number {
  font-size: 14px;
  font-weight: 600;
  color: #222;
}

.career-label {
  font-size: 12px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.career-card h3 {
  margin: 0 0 12px;
  color: #111;
  font-size: 23px;
  line-height: 1.25;
  font-weight: 600;
  transition: color 0.3s ease;
}

.career-card:hover h3 {
  color: #095763;
}

.career-card p {
  margin: 0;
  color: #666;
  font-size: 15px;
  line-height: 1.75;
  max-width: 390px;
}

.career-card-footer {
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid #e8e8e8;
}

.career-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  color: #111;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;

  transition: color 0.3s ease;
}

.career-link span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 28px;
  height: 28px;

  border: 1px solid #222;
  border-radius: 50%;

  font-size: 14px;

  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}

.career-link:hover {
  color: #095763;
}

.career-link:hover span {
  background: #095763;
  color: #fff;
  border-color: #095763;
  transform: translate(3px, -3px);
}

@media (max-width: 991px) {
  .career-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .career-intro {
    margin: 0;
    max-width: 600px;
  }

  .career-card-image {
    height: 230px;
  }
}

@media (max-width: 767px) {
  .career-heading .section-title {
    font-size: 32px;
  }

  .career-intro {
    font-size: 14px;
  }

  .career-card-image {
    height: 240px;
  }

  .career-card-content {
    padding: 24px 22px;
  }

  .career-card h3 {
    font-size: 21px;
  }
}

@media (max-width: 575px) {
  .career-section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .career-heading .section-title {
    font-size: 28px;
  }

  .career-card-image {
    height: 220px;
  }
}

/* =========================================
   CAREER CTA
========================================= */

.career-cta {
  position: relative;
  background: #fff;
  overflow: hidden;
}

/* =========================================
   HEADING
========================================= */

.career-cta-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  margin-bottom: 45px;
}

.career-cta-title {
  max-width: 720px;
}

.career-cta-title .sub-title {
  display: block;
  margin-bottom: 12px;
}

.career-cta-description {
  max-width: 360px;
  padding-bottom: 4px;
}

.career-cta-description p {
  margin: 0;
  color: #777;
  font-size: 15px;
  line-height: 1.8;
}

/* =========================================
   SLIDER
========================================= */

.benefits-slider-wrapper {
  position: relative;
  padding-bottom: 55px;
  overflow: hidden;
}

/* .benefitsSwiper {
    overflow: visible;
} */

.benefitsSwiper .swiper-slide {
  height: auto;
}

/* =========================================
   BENEFIT CARD
========================================= */

.benefit-card {
  position: relative;
  height: 100%;
  min-height: 295px;

  padding: 45px 30px 35px;

  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  background: #fff;

  /* border: 1px solid #e3e3e3; */
  /* border-radius: 22px; */

  overflow: hidden;

  transition:
    transform 0.45s ease,
    border-color 0.45s ease;
}

/* subtle background glow */

.benefit-card::before {
  content: "";
  position: absolute;

  width: 180px;
  height: 180px;

  top: -100px;
  left: 50%;

  transform: translateX(-50%);

  background: rgba(9, 87, 99, 0.06);

  border-radius: 50%;

  filter: blur(20px);

  transition: 0.5s ease;
}

/* hover */

.benefit-card:hover {
  transform: translateY(-8px);
}

.benefit-card:hover::before {
  width: 240px;
  height: 240px;

  background: rgba(9, 87, 99, 0.1);
}

/* =========================================
   ICON
========================================= */

.benefit-icon {
  position: relative;
  z-index: 1;

  width: 78px;
  height: 78px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 27px;

  border-radius: 50%;

  background: linear-gradient(145deg, #f4f9f9, #e7f0f1);

  border: 1px solid #e0ebec;

  box-shadow: 0 12px 30px rgba(9, 87, 99, 0.1);

  transition:
    transform 0.4s ease,
    background 0.4s ease;
}

.benefit-icon i {
  font-size: 31px;
  color: #095763;

  transition:
    transform 0.4s ease,
    color 0.4s ease;
}

.benefit-card:hover .benefit-icon {
  transform: translateY(-4px) scale(1.05);

  background: #095763;
}

.benefit-card:hover .benefit-icon i {
  color: #fff;
  transform: scale(1.05);
}

/* =========================================
   NUMBER
========================================= */

.benefit-number {
  position: absolute;

  top: 22px;
  right: 25px;

  font-size: 11px;
  font-weight: 600;

  color: #a4a4a4;

  letter-spacing: 1px;
}

/* =========================================
   TITLE
========================================= */

.benefit-card h4 {
  position: relative;
  z-index: 1;

  margin: 0 0 12px;

  color: #111;

  font-size: 21px;
  line-height: 1.35;

  font-weight: 600;

  transition: color 0.3s ease;
}

.benefit-card:hover h4 {
  color: #095763;
}

/* =========================================
   DESCRIPTION
========================================= */

.benefit-card p {
  position: relative;
  z-index: 1;

  max-width: 330px;

  margin: 0;

  color: #707070;

  font-size: 14px;
  line-height: 1.75;
}

/* =========================================
   PAGINATION
========================================= */

.benefits-pagination {
  position: absolute;

  left: 50%;
  bottom: 0;

  transform: translateX(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 7px;

  width: auto !important;
}

/* swiper pagination bullets */

.benefits-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;

  margin: 0 !important;

  opacity: 1;

  background: #c5c5c5;

  border-radius: 50%;

  transition:
    width 0.35s ease,
    background 0.35s ease,
    border-radius 0.35s ease;
}

.benefits-pagination .swiper-pagination-bullet-active {
  width: 34px;

  background: #222;

  border-radius: 20px;
}

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

@media (max-width: 1199px) {
  .career-cta-title .section-title {
    font-size: 40px;
  }

  .career-cta-heading {
    gap: 40px;
  }

  .benefit-card {
    min-height: 285px;
    padding: 40px 25px 30px;
  }
}

@media (max-width: 991px) {
  .career-cta-heading {
    display: block;
  }

  .career-cta-description {
    margin-top: 18px;
    max-width: 600px;
  }

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

@media (max-width: 767px) {
  .career-cta {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .career-cta-title .section-title {
    font-size: 32px;
    letter-spacing: -0.5px;
  }

  .career-cta-heading {
    margin-bottom: 35px;
  }

  .benefit-card {
    min-height: 280px;
    border-radius: 18px;
  }
}

@media (max-width: 575px) {
  .career-cta-title .section-title {
    font-size: 29px;
  }

  .career-cta-description p {
    font-size: 14px;
  }

  .benefit-card {
    min-height: 270px;
    padding: 38px 25px 30px;
  }
}

.jobs-career-banner {
  height: 600px;
  background: url("../images/career/job-opportunities.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.jobs-career-banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.career-box {
  position: relative;
  padding: 30px;
  background: #ffffff;
  border: 1px solid #e8eeee;
  border-radius: 18px;
  box-shadow: 0 10px 35px rgba(9, 87, 99, 0.08);
}

.career-box label {
  display: block;
  margin-bottom: 10px;
  color: #222;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.career-box .link {
  width: 100%;
}

.career-box .contact-filed {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.career-box #copyLinkInput {
  width: 100%;
  height: 48px;
  padding: 0 15px;
  border: 1px solid #dce5e6;
  border-radius: 6px;
  outline: none;
  background: #f8fafb;
  color: #555;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  transition: all 0.3s ease;
}

.career-box #copyLinkInput:focus {
  border-color: #095763;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(9, 87, 99, 0.08);
}

.career-box #copyLinkInput:hover {
  border-color: #095763;
}

.career-box .footer-social {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid #edf1f1;
}

.career-box .footer-social-info {
  width: 100%;
  justify-content: center;
}

.career-box .footer-social-icon {
  display: flex;
  align-items: center;
  gap: 10px;
}

.career-box .footer-social-icon a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #dce5e6;
  border-radius: 50%;
  background: #ffffff;
  color: #095763;
  text-decoration: none;
  transition: all 0.3s ease;
}

.career-box .footer-social-icon a i {
  font-size: 17px;
  line-height: 1;
}

.career-box .footer-social-icon a svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.career-box .footer-social-icon a:hover {
  background: #095763;
  border-color: #095763;
  color: #ffffff;
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(9, 87, 99, 0.18);
}

@media (max-width: 767px) {
  .career-box {
    padding: 22px;
    border-radius: 14px;
  }

  .career-box #copyLinkInput {
    height: 45px;
    font-size: 12px;
  }

  .career-box .footer-social {
    margin-top: 25px;
    padding-top: 20px;
  }

  .career-box .footer-social-icon {
    gap: 8px;
  }

  .career-box .footer-social-icon a {
    width: 38px;
    height: 38px;
  }

  .career-box .footer-social-icon a i {
    font-size: 15px;
  }
}

.career-box {
  position: relative;
  padding: 30px;
  background: #ffffff;
  border: 1px solid #e8eeee;
  border-radius: 18px;
  box-shadow: 0 10px 35px rgba(9, 87, 99, 0.08);
}

.career-box label {
  display: block;
  margin-bottom: 10px;
  color: #222;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.career-box .link {
  width: 100%;
}

.career-box .contact-filed {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.career-box #copyLinkInput {
  width: 100%;
  height: 48px;
  padding: 0 15px;
  border: 1px solid #dce5e6;
  border-radius: 6px;
  outline: none;
  background: #f8fafb;
  color: #555;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  transition: all 0.3s ease;
}

.career-box #copyLinkInput:focus {
  border-color: #095763;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(9, 87, 99, 0.08);
}

.career-box #copyLinkInput:hover {
  border-color: #095763;
}

.career-box .footer-social {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid #edf1f1;
}

.career-box .footer-social-info {
  width: 100%;
  justify-content: center;
}

.career-box .footer-social-icon {
  display: flex;
  align-items: center;
  gap: 10px;
}

.career-box .footer-social-icon a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #dce5e6;
  border-radius: 50%;
  background: #ffffff;
  color: #095763;
  text-decoration: none;
  transition: all 0.3s ease;
}

.career-box .footer-social-icon a i {
  font-size: 17px;
  line-height: 1;
}

.career-box .footer-social-icon a svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.career-box .footer-social-icon a:hover {
  background: #095763;
  border-color: #095763;
  color: #ffffff;
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(9, 87, 99, 0.18);
}

@media (max-width: 767px) {
  .career-box {
    padding: 22px;
    border-radius: 14px;
  }

  .career-box #copyLinkInput {
    height: 45px;
    font-size: 12px;
  }

  .career-box .footer-social {
    margin-top: 25px;
    padding-top: 20px;
  }

  .career-box .footer-social-icon {
    gap: 8px;
  }

  .career-box .footer-social-icon a {
    width: 38px;
    height: 38px;
  }

  .career-box .footer-social-icon a i {
    font-size: 15px;
  }
}

/* === media.css === */
.media-banner {
  background: url("../images/banner-img/Media.webp");
  background-size: cover;
  height: 600px;
  position: relative;
  z-index: 1;
  isolation: isolate;
  background-position: center;
}

.pr-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  transition: 0.4s ease;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pr-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px #22222226;
}

.pr-image {
  position: relative;
  overflow: hidden;
  height: 260px;
}

.pr-image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: 0.7s;
}

.pr-image::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.25) 30%,
    rgba(255, 255, 255, 0.7) 65%,
    #fff 100%
  );
  pointer-events: none;
}

.pr-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: #222;
  color: #fff;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.pr-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.pr-content h3 {
  font-size: 20px;
  color: #222;
  font-weight: 700;
  margin-bottom: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pr-content p {
  font-size: 14px;
  color: #666;
  margin-bottom: 30px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pr-footer {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}

.pr-date {
  color: #999;
  font-size: 14px;
  font-weight: 500;
}

.read-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #095763;
  text-decoration: none;
  font-weight: 700;
  transition: 0.3s;
}

.read-more i {
  transition: 0.3s;
}

.read-more:hover {
  color: #095763;
}

.read-more:hover i {
  transform: translateX(6px);
}

.pr-card::after {
  content: "";
  width: 100%;
  height: 4px;
  background: #222;
  transform: scaleX(0);
  transform-origin: left;
  transition: 0.4s;
}

.pr-card:hover::after {
  transform: scaleX(1);
}

@media (max-width: 1200px) {
  .pr-content h3 {
    font-size: 24px;
  }
}

@media (max-width: 991px) {
  .pr-grid {
    grid-template-columns: 1fr;
  }
  .pr-image {
    height: 280px;
  }
}

@media (max-width: 768px) {
  .pr-image {
    height: 240px;
  }

  .pr-content {
    padding: 24px;
  }

  .pr-content h3 {
    font-size: 22px;
  }

  .pr-content p {
    font-size: 15px;
  }
}
@media (max-width: 576px) {
  .pr-image {
    height: 220px;
  }

  .pr-badge {
    top: 15px;
    left: 15px;
    padding: 8px 16px;
    font-size: 12px;
  }

  .pr-content {
    padding: 20px;
  }

  .pr-content h3 {
    font-size: 20px;
  }

  .pr-content p {
    font-size: 14px;
    line-height: 1.8;
  }

  .pr-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .read-more {
    margin-top: 5px;
  }
}

/* === contact.css === */
.contact-banner {
  position: relative;
  background-image: url("../images/contact-bg.webp");
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  height: 600px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

.contact-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.65) 0%,
    rgba(0, 0, 0, 0.45) 35%,
    rgba(0, 0, 0, 0.15) 70%,
    rgba(0, 0, 0, 0) 100%
  );
  z-index: -1;
}

.banner-content {
  max-width: 650px;
  color: #fff;
}

.banner-content h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1;
}

.banner-content p {
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  max-width: 550px;
  margin: 0;
}

.banner-content p::before {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background-color: #fff;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .contact-banner {
    height: 450px;
    background-position: center;
  }

  .banner-content {
    text-align: center;
    margin: 0 auto;
  }

  .banner-content p {
    font-size: 1rem;
  }

  .banner-content p::before {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background-color: #fff;
    margin: 10px auto;
  }
}

.contact-form {
  position: relative;
}

.contact-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background: url("../images/worldmap.png");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.09;
  pointer-events: none;
  z-index: -1;
}

.side-text {
  position: absolute;
  left: -20px;
  top: 120px;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  font-size: 20px;
  letter-spacing: 4px;
  color: #b9b9b9;
  font-weight: 600;
}

.contact-title {
  font-size: 58px;
  line-height: 1.1;
  color: #095763;
  font-weight: 700;
  margin-bottom: 50px;
}

.form-control {
  height: 58px;
  border: none;
  /* background:#fff; */

  border: 1px solid rgba(9, 87, 99, 0.12);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);

  border-radius: 8px;
  padding-left: 55px;
  font-size: 15px;
  color: #555;
}

.form-control:focus {
  background: #fff;
  border: 1px solid #095763;
  box-shadow: none;
}

textarea.form-control {
  height: 150px;
  resize: none;
  padding-top: 18px;
}

.input-group-custom {
  position: relative;
}

.input-group-custom i {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #555;
  font-size: 18px;
  z-index: 10;
}

.textarea-icon {
  top: 22px !important;
  transform: none !important;
}

.form-check {
  margin-top: 25px;
}

.form-check-input:checked {
  background-color: #095763;
  border-color: #095763;
}

.form-check-input:focus {
  box-shadow: none;
}

.form-check-label {
  margin-left: 8px;
  font-size: 14px;
  color: #444;
}

.form-check-label strong {
  color: #111;
}

::placeholder {
  color: #9d9d9d !important;
}

@media (max-width: 991px) {
  .contact-title {
    font-size: 42px;
  }

  .side-text {
    display: none;
  }
}

@media (max-width: 767px) {
  .contact-title {
    font-size: 34px;
  }
}

/* Contact Info Card */
.contact-card {
  border: 1px solid rgba(9, 87, 99, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  height: 100%;
}

.contact-box {
  padding: 28px 32px;
  position: relative;
}

.contact-box:not(:last-child) {
  border-bottom: 1px solid #ececec;
}

/* Icon */
.icon-circle {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(9, 87, 99, 0.08);
  color: #095763;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 18px;
  transition: 0.35s;
}

.contact-box:hover .icon-circle {
  background: #095763;
  color: #fff;
  transform: rotate(-8deg);
}

/* Heading */
.contact-box h3 {
  font-size: 22px;
  font-weight: 700;
  color: #222;
  margin-bottom: 12px;
  line-height: 1.2;
}

/* Paragraph */
.contact-box p {
  margin: 0;
  color: #666;
  font-size: 14px;
}

/* Social */
.social-icons {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}

.social-icons a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #222;
  font-size: 18px;
  text-decoration: none;
  transition: 0.35s;
}

.social-icons a:hover {
  background: #222;
  color: #fff;
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(9, 87, 99, 0.25);
}

/* Responsive */
@media (max-width: 991px) {
  .card {
    margin-top: 40px;
  }

  .contact-box {
    padding: 24px;
  }

  .contact-box h3 {
    font-size: 28px;
  }
}

.contact-map {
  overflow: hidden;
  height: 500px;
}

.contact-map-wrap iframe {
  height: 800px;
  width: 100%;
  filter: brightness(100%) contrast(100%) saturate(0%) blur(0px)
    hue-rotate(0deg);
}

/* === footer.css === */
footer {
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.15) 0%,
      rgba(0, 0, 0, 0.35) 40%,
      rgba(0, 0, 0, 0.75) 75%,
      #000000f2 100%
    ),
    url("../images/footer-img.webp") bottom center/cover no-repeat;
}

.footer-menu {
  position: relative;
  width: 100%;
  padding: 60px 0 45px;
  border-top: 5px solid #095763;
  /* overflow: hidden; */
  overflow-x: visible;
}

.footer-menu::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, 0.82);
}

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

.footer-menu h4 {
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: 1px;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 8px;
}

.footer-links li a {
  color: #bfbfbf;
  text-decoration: none;
  font-size: 14px;
  transition: 0.3s;
}

.footer-links li a:hover {
  color: #ffffff;
  padding-left: 5px;
}

.footer-widget-content p {
  color: #bfbfbf;
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 18px;
  margin-top: 18px;
}

.footer-subscribe-form {
  margin-bottom: 18px;
}

.footer-subscribe-form .email {
  width: 100%;
  max-width: 280px;
  height: 42px;
  background: #2b2b2b;
  border: 1px solid #444;
  color: #fff;
  padding: 0 15px;
  border-radius: 3px 0 0 3px;
  outline: none;
}

.footer-subscribe-form .email::placeholder {
  color: #999;
}

.footer-subscribe-form .submit {
  height: 42px;
  padding: 0 22px;
  background: #095763;
  border: none;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  border-radius: 0 3px 3px 0;
  transition: 0.3s;
}

.footer-subscribe-form .submit:hover {
  background: #0e8597;
}

.footer-social-info {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

.footer-social-info span {
  color: #bfbfbf;
  font-size: 14px;
}

.footer-social-icon {
  display: flex;
  gap: 10px;
}

.footer-social-icon a {
  width: 34px;
  height: 34px;
  border: 1px solid #444;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  border-radius: 50%;
  transition: 0.3s;
}

.footer-social-icon a:hover {
  background: #095763;
  border-color: #095763;
}

.footer-social-icon svg {
  width: 14px;
  fill: #fff;
}

.footer-logo img {
  max-width: 135px;
  filter: brightness(0) invert(1);
}

@media (max-width: 991px) {
  .footer-menu {
    padding: 45px 0;
  }

  .footer-menu .row > div {
    margin-bottom: 35px;
  }
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.contact-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.35s;
}

.contact-item:hover .contact-icon {
  background: #0b5d69;
  border-color: #0b5d69;
  transform: translateY(-3px);
}

.contact-icon i {
  color: #fff;
  font-size: 18px;
}

.contact-content span {
  display: block;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

.contact-content p,
.contact-content a {
  color: #bdbdbd;
  font-size: 15px;
  line-height: 1.7;
  text-decoration: none;
  display: block;
  transition: 0.3s;
}

.contact-content a:hover {
  color: #fff;
  padding-left: 4px;
}

.footer-copyright {
  padding: 25px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-copyright p {
  color: #bfbfbf;
  font-size: 14px;
  margin-bottom: 0;
  text-align: center;
}

/* .footer-badge img {
    position: fixed;
    left: auto;
    right: 160px;
    top: 0;
    text-align: right;
    z-index: 2;
    max-width: 7%;
    height: 140px;
} */

.footer-badge {
  position: absolute;
  top: -65px;
  right: -90px;
  z-index: 10;
}

.footer-badge img {
  display: block;
  height: 140px;
  width: auto;
}

@media (max-width: 1440px) {
  .footer-badge {
    right: -45px;
  }
}

@media (max-width: 1024px) {
  .footer-badge {
    right: -30px;
  }
}

@media (max-width: 992px) {
  .footer-badge {
    top: -50px;
    right: 20px;
  }

  .footer-badge img {
    width: 100px;
  }
}

@media (max-width: 576px) {
  .footer-badge {
    position: absolute;
    text-align: center;
    margin-bottom: 25px;
  }

  .footer-badge img {
    width: 80px;
    margin: 0 auto;
    height: 100px;
  }
}

/* === style.css core === */

/* Common */

body {
  font-family: "Poppins", sans-serif;
}

/* Button */
/* From Uiverse.io by gagan-gv */
/* From Uiverse.io by LeHuyHieu */
.outline-btn {
  outline: none;
  display: inline-block;
  border: 1px solid #000;
  padding: 0.6rem 1.5rem;
  border-radius: 5px;
  background: transparent;
  color: #000;
  font-size: 14px;
  transition: 0.3s;
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

.outline-btn::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  border-top: 2px solid #0957639e;
  border-left: 2px solid #0957639e;
  width: 0px;
  height: 0px;
  opacity: 0;
  transition: 0.3s;
}

.outline-btn::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 5px;
  border-bottom: 2px solid #0957639e;
  border-right: 2px solid #0957639e;
  width: 0px;
  height: 0px;
  opacity: 0;
  transition: 0.3s;
}

.outline-btn:hover {
  box-shadow: 4px 4px 10px rgb(184, 184, 184);
  transform: translateY(-5px);
}

.outline-btn:hover::after,
.outline-btn:hover::before {
  height: 20px;
  width: 20px;
  opacity: 1;
}

/* White version only for transparent header */

.outline-btn-white {
  border-color: #fff;
  color: #fff;
}

.outline-btn-white i {
  color: #fff;
}

/* .outline-btn-white::before{
    border-top-color:rgba(255,255,255,.8);
    border-left-color:rgba(255,255,255,.8);
}

.outline-btn-white::after{
    border-bottom-color:rgba(255,255,255,.8);
    border-right-color:rgba(255,255,255,.8);
} */

.outline-btn-white:hover {
  color: #fff;
}

.header.scrolled .outline-btn-white {
  border-color: #000;
  color: #000;
}

.header.scrolled .outline-btn-white i {
  color: #000;
}

.header.scrolled .outline-btn-white::before {
  border-top-color: #0957639e;
  border-left-color: #0957639e;
}

.header.scrolled .outline-btn-white::after {
  border-bottom-color: #0957639e;
  border-right-color: #0957639e;
}

.header.scrolled .outline-btn-white:hover {
  color: #000;
}

.filled-btn {
  background-color: #095763;
  color: #fff;
  border-color: #095763;
  font-weight: 600;
  font-size: 14px;
  transition: 0.3s;
}

.filled-btn:hover {
  background-color: #0e8597;
  border-color: #0e8597;
}

.tuv-logo {
  position: fixed;
  left: 10px;
  bottom: 10px;
  width: 120px;
  height: 118px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: visible;
  z-index: 999;
  background-color: white;
}

.tuv-logo img {
  width: 110px;
  height: 110px;
}

#solar-calculator {
  position: fixed;
  right: 24px;
  bottom: 110px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #095763;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: visible;
  z-index: 999;
  box-shadow: 0 8px 30px rgba(9, 87, 99, 0.35);
  transition: all 0.35s ease;
}

/* Animated rings */
#solar-calculator::before,
#solar-calculator::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(9, 87, 99, 0.45);
  animation: solarPulse 2.2s ease-out infinite;
  pointer-events: none;
}

#solar-calculator::after {
  animation-delay: 1.1s;
}

/* Ring animation */
@keyframes solarPulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }

  70% {
    transform: scale(1.8);
    opacity: 0;
  }

  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

/* Icon */
#solar-calculator a {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

#solar-calculator a i {
  font-size: 20px;
  transition: transform 0.35s ease;
}

/* Hover effect */
#solar-calculator:hover {
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 12px 35px rgba(34, 34, 34, 0.45);
}

#solar-calculator:hover a i {
  transform: rotate(15deg) scale(1.15);
}

/* Mobile */
@media (max-width: 767px) {
  #solar-calculator {
    right: 20px;
    bottom: 80px;
    width: 50px;
    height: 50px;
  }

  #solar-calculator a i {
    font-size: 18px;
  }
}

.back-to-top-btn {
  position: fixed;
  right: 24px;
  bottom: 150px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #095763;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
  z-index: 999;
  box-shadow: 0 8px 30px rgba(34, 34, 34, 0.35);
  transition: all 0.35s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
}

.back-to-top-btn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top-btn:hover {
  width: 165px;
  border-radius: 50px;
  background: #095763;
}

.back-to-top-btn .svgIcon {
  width: 14px;
  transition: 0.35s;
}

.back-to-top-btn .svgIcon path {
  fill: #fff;
}

.back-to-top-btn:hover .svgIcon {
  transform: translateY(-200%);
}

.back-to-top-btn::before {
  content: "Back to Top";
  position: absolute;
  color: #fff;
  font-size: 0;
  font-weight: 500;
  letter-spacing: 0.4px;
  transition: 0.35s;
}

.back-to-top-btn:hover::before {
  font-size: 14px;
}

@media (max-width: 768px) {
  .back-to-top-btn {
    width: 48px;
    height: 48px;
    right: 18px;
    bottom: 18px;
  }

  .back-to-top-btn:hover {
    width: 48px;
    border-radius: 50%;
  }

  .back-to-top-btn:hover::before {
    display: none;
  }

  .back-to-top-btn:hover .svgIcon {
    transform: none;
  }
}

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

.project-gallery {
  position: relative;
  overflow: hidden;
}

.project-gallery-track {
  display: flex;
  gap: 20px;
}

.project-gallery-item {
  flex: 0 0 100%;
}

.project-gallery-item img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  border-radius: 20px;
}

.project-overview {
  margin-top: 70px;
}

.project-overview-title {
  margin-bottom: 25px;
}

.project-table-wrapper {
  overflow-x: auto;
}

.project-table {
  width: 100%;
  border-collapse: collapse;
}

.project-table th,
.project-table td {
  padding: 18px 20px;
  border-bottom: 1px solid #ddd;
  text-align: left;
}

.project-inner-banner {
  background-size: cover;
  height: 600px;
  background-position: center;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.project-inner-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.65) 0%,
    rgba(0, 0, 0, 0.45) 35%,
    rgba(0, 0, 0, 0.15) 70%,
    rgba(0, 0, 0, 0) 100%
  );
  z-index: -1;
}

.project-inner-banner .page_title {
  color: #fff;
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
}

/* =========================================
   PROJECT DETAILS SWIPER
========================================= */

.project-details-section {
  padding: 100px 0;
  overflow: hidden;
}

.projectDetailsSwiper {
  width: 100%;
}

.project-detail-content {
  width: 100%;
}

.project-detail-image {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
  padding: 3px;
}

.project-detail-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 28px;
}

.project-detail-text h2 {
  margin-bottom: 25px;
  color: #222;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.25;
}

.project-detail-text > p {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 1.8;
}

.project-detail-list {
  margin-top: 30px;
}

.project-detail-list-item {
  position: relative;
  padding-left: 20px;
  margin-bottom: 22px;
}

.project-detail-list-item::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #095763;
  font-size: 18px;
}

.project-detail-list-item h6 {
  display: inline;
  margin: 0;
  color: #555;
  font-size: 15px;
  font-weight: 600;
}

.project-detail-list-item p {
  margin: 3px 0 0;
  color: #777;
  font-size: 15px;
  line-height: 1.6;
}

.project-details-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 45px;
}

.project-details-prev,
.project-details-next {
  width: 48px;
  height: 48px;
  border: 1px solid #095763;
  background: #fff;
  color: #095763;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.project-details-prev:hover,
.project-details-next:hover {
  background: #095763;
  color: #fff;
  transform: translateY(-2px);
}

.project-details-prev i,
.project-details-next i {
  font-size: 19px;
}

.project-details-pagination {
  width: auto !important;
}

.project-details-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #095763;
  opacity: 0.25;
  transition: all 0.3s ease;
}

.project-details-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 20px;
  opacity: 1;
}

@media (max-width: 991px) {
  .project-details-section {
    padding: 70px 0;
  }

  .project-detail-image {
    height: 420px;
  }

  .project-detail-text h2 {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .project-details-section {
    padding: 50px 0;
  }

  .project-detail-image {
    height: 350px;
    border-radius: 0 20px 20px 20px;
  }

  .project-detail-text {
    padding: 10px 0;
  }

  .project-detail-text h2 {
    font-size: 28px;
    margin-bottom: 18px;
  }
}

.card-img-top {
  height: 200px;
}

#solarCalculatorForm .form-control {
  padding-left: 20px;
}

.tp-blog p a {
  text-decoration: none;
  color: #111;
}

.tp-blog p {
    color: #666;
    font-size: 14px;
}

.company-about-tabs-content .tp-blog p {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden;
    white-space: normal;
}

.tp-blog table p {
    padding: 10px;
    margin: 0;
}
.blog_title h1 {
    font-size: 32px;
    font-weight: 600;
}

.blog-post-content h2 {
    font-size: 28px;
}

.blog-post-content h4 {
    font-size: 18px;
}

.tp-blog .blog-post-content a {
    color: #135863;
    text-decoration: revert;
}

.tp-blog-meta span {
  color: #095763;
  font-weight: 600;
  font-size: 18px;
}

.tp-blog h3 {
  font-size: 20px;
}

.company-about-tabs-content .tp-blog h3 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden;
    white-space: normal;
}

.rec-what-where {
  margin-left: 0px !important;
}

.embed_jobs_with_style_3 .rec_filter_cls {
  width: 0px !important;
}

.rec-what-where .rec-job-info.searchButton {
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 5px !important;
}

.rec-job-info {
  background: #f9f9f9e8 !important;
}

@font-face {
  font-family: "Jack Forest";
  src: url("../fonts/JackFrost.otf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

#loader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  overflow: hidden;
  animation: curtainReveal 1.5s ease forwards;
  animation-delay: 3s;
}

.loader-text {
  font-size: 5rem;
  font-weight: 900;
  color: #095763;
  letter-spacing: 8px;
  display: flex;
  justify-content: center;
}

.loader-text span {
  display: inline-block;
  opacity: 0;
  font-family: "Jack Forest", sans-serif !important;
}

.loader-text span:nth-child(odd) {
  animation: slideLeft 0.8s ease forwards;
}

.loader-text span:nth-child(even) {
  animation: slideRight 0.8s ease forwards;
}

.loader-text span:nth-child(1) {
  animation-delay: 0s;
}

.loader-text span:nth-child(2) {
  animation-delay: 0.2s;
}

.loader-text span:nth-child(3) {
  animation-delay: 0.4s;
}

.loader-text span:nth-child(4) {
  animation-delay: 0.6s;
}

.loader-text span:nth-child(5) {
  animation-delay: 0.8s;
}

.loader-text span:nth-child(6) {
  animation-delay: 1s;
}

.loader-subtext {
  font-size: 2.2rem;
  color: #8c8c8c;
  letter-spacing: 10px;
  opacity: 0;
  animation: fadeUp 1s ease forwards;
  animation-delay: 1.6s;
  text-align: end;
  font-weight: 500;
  margin-top: -20px;
}

/* Animations */
@keyframes slideLeft {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes curtainReveal {
  to {
    transform: translateY(-100%);
    opacity: 0.01;
    visibility: hidden;
  }
}
