* {
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  height: 100%;
  font-size: 1rem;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}
p{
  font-size: 16px;
}
.text-justify{
  text-align: justify;
}
:root {
  --primary-newcolor: #034bac;
  --primary-light-color: #07195fb8;
  --secondary-newcolor: #ec5f4d;
  --white: #fff;
  --black: #000;
  --light-grey: #f5f5f5;
  --primary-color: #4A90E2;
  --secondary-color: #6c5ce7;
  --accent-color: #00cec9;
  --text-color: #f8f9fa;
  --bg-color: #0a0a1a;
  --card-bg: #13132b;
  --border-color: #2a2a5a;
  --gradient-1: linear-gradient(135deg, #4A90E2, #6c5ce7);
  --gradient-2: linear-gradient(135deg, #00cec9, #0984e3);
  --gradient-3: linear-gradient(135deg, #fd79a8, #e84393);
  --background-color: linear-gradient(120deg, #89f7fe 0%, #66a6ff 100%);
  --soft-grey: #f9f9f9;

}

.common-section-cl {
  display: grid;
  place-items: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  background: #f5f5f5;
  text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
  padding-bottom: 1rem;
}

#home,
#solution {
  background: #162561;
  background-image: radial-gradient(circle at 20% 100%, rgba(184, 184, 184, 0.1) 0%, rgba(184, 184, 184, 0.1) 33%, rgba(96, 96, 96, 0.1) 33%, rgba(96, 96, 96, 0.1) 66%, rgba(7, 7, 7, 0.1) 66%, rgba(7, 7, 7, 0.1) 99%), linear-gradient(40deg, #040a22, #162561, #202e64, #6f7aa6);
  background-repeat: no-repeat;
  background-size: cover;
}

.swiper-outer {
  display: flex;
  place-items: center;
  gap: 60px;
  min-height: 100vh;
  padding: 20px 60px;
  position: relative;
  z-index: 1;

}

.content h1 {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 36px;
  color: var(--white);
}

.content p {
  font-size: clamp(0.9rem, 3vw, 1.25rem);
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 30px;
  color: var(--white);
}

.content button {
  background: #eaeaea;
  color: #202134;
  font-size: clamp(0.9rem, 4vw, 1rem);
  font-weight: 600;
  border: 0;
  padding: 8px 14px;
  border-radius: 7px;
  transition: all 0.4s ease-in;
  cursor: pointer;
}

.content button:hover {
  transform: scale(0.98);
  background-color: #6f7aa6;
  color: #eaeaea;
}

.swiper {
  position: relative;
  width: 400px;
  height: 400px;
}

.swiper-slide {
  position: relative;
  border-radius: 20px;
  box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

#particles-js {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* about  */

.about-section {
  background-color: var(--soft-grey);
  position: relative;
  min-height: 80vh;
}

.about-title {
  font-size: 2rem;
  font-weight: 700;
  color: #2a2a5a;
  margin-bottom: 20px;
}

.about-text {
  font-size: 1rem;
  color: #4a4a6a;
  line-height: 1.6;
}

.about-img {
  border-radius: 15px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  position: absolute;
  width: 295px;
  /* min-height: 250px; */
  min-height: 255px;
  max-height: 270px;
}

.img-top {
  top: 0;
  right: 50px;
  z-index: 2;
}

.img-bottom {
  bottom: 0;
  left: 50px;
  z-index: 1;
}

.expertise-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: #2a2a5a;
  margin-bottom: 15px;
}

.expertise-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--soft-grey);
  border-radius: 12px;
  padding: 12px 15px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  font-size: 0.95rem;
  font-weight: 500;
  color: #333;
}

.expertise-card i {
  background: #2a2a5a;
  color: var(--white);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.expertise-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

/* solution */
.custom-row {
  display: flex;
  justify-content: center;
  margin-left: 15px;
}

.supervisor {
  width: 350px;
  height: 200px;
  padding: 20px;
  margin-top: 165px;
  margin-right: 20px;
  border-color: var(--secondary-newcolor);
  border-radius: 10px;
  box-shadow: 5px 5px 15px var(--bg-color);
  border: 2px solid var(--white);
  background-color: var(--white);
}

.Team-Builder {
  width: 350px;
  height: 200px;
  padding: 20px;
  margin-top: 30px;
  border-color: var(--secondary-newcolor);
  border-radius: 10px;
  box-shadow: 5px 5px 15px var(--bg-color);
  border: 2px solid var(--white);
  background-color: var(--white);
}

.Karma {
  width: 350px;
  height: 200px;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 50px;
  border-color: var(--secondary-newcolor);
  border-radius: 10px;
  box-shadow: 5px 5px 15px var(--bg-color);
  border: 2px solid var(--white);
  background-color: var(--white);
}

.Calculator {
  width: 350px;
  height: 200px;
  padding: 20px;
  margin-top: 165px;
  margin-left: 20px;
  border-color: var(--secondary-newcolor);
  border-radius: 10px;
  box-shadow: 5px 5px 15px var(--bg-color);
  border: 2px solid var(--white);
  background-color: var(--white);
}

.title {
  margin-top: 10px;
  color: var(--Very-Dark-Blue);
  font-weight: bold;
}

.description {
  font-weight: 200;
  color: var(--Very-Dark-Blue);
}

.icon {
  margin-left: 280px;
}

#vision {
  background: #162561;
  background-image: radial-gradient(circle at 20% 100%, rgba(184, 184, 184, 0.1) 0%, rgba(184, 184, 184, 0.1) 33%, rgba(96, 96, 96, 0.1) 33%, rgba(96, 96, 96, 0.1) 66%, rgba(7, 7, 7, 0.1) 66%, rgba(7, 7, 7, 0.1) 99%), linear-gradient(40deg, #040a22, #162561, #202e64, #6f7aa6);
}

#vision .container {
  min-height: 50vh;
}

.about-img-vsion {
  background-color: var(--white);
  color: var(--black);
  position: relative;
  z-index: 2;
  padding: 1rem;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
  border-radius: 1.2rem;
}

.about-img-vsion .service-icon,
.about-img-vsion h4,
.about-img-vsion p {
  color: var(--border-color);
}

/* conatct  */
.grid-left-right {
  display: grid;
  grid-template-columns: 65% 35%;
}

/* Form Box */
.form-box {
  padding: 2rem 3rem;
  background: var(--soft-grey);
  box-shadow: -4px -2px 20px -7px #cfd5df;
}

.form-header h3 {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--primary-light-color);
  margin-bottom: 2rem;
}

input,
textarea {
  width: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 2px;
  color: #333;
  outline: 0;
  padding-left: 20px;
  font-size: 14px;
}

input {
  height: 42px;
}

textarea {
  padding-top: .86rem;
  margin-bottom: 1.2rem;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-full {
  margin: 1.7rem 0;
}

input[type="submit"] {
  font-size: 16px;
  text-transform: uppercase;
  background: transparent;
  border: 2px solid #103e65;
  font-weight: 500;
  cursor: pointer;
  color: #103e65;
  transition: all 0.3s ease;
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  text-align: center;
  padding-left: 0;
  border-radius: 25px;
}

input[type="submit"]:hover {
  background: #f85508;
  border-color: #f85508;
  color: var(--white);
}

/* Info Area */
.contact-info-area {
  background: #162561;
  padding: 45px 0 25px 0;
  position: relative;
}

.contact-info-area p {
  color: var(--white);
  font-size: 26px;
  margin-bottom: 40px;
}

.info-list {
  list-style: none;
  padding-left: .5rem;
}

.info-list i {
  color: var(--white);
  font-size: 1.5rem;
}

.info-list li {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}


.error-text {
  color: red;
  font-size: .67rem;
  display: none;
  margin-top: 5px;
}

.is-invalid {
  border: 1px solid red !important;
}

.is-valid {
  border: 1px solid green !important;
}

.contact-info-area iframe {
  width: 100%;
  padding: 0 1rem;
}

.circle-box {
  position: relative;
  display: inline-block;
}

.circle {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: var(--white);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px;
  text-align: center;
  z-index: 2;
  position: relative;
  border: 1px solid #e6e6e6;
  padding: 1rem;
  position: relative;

}

.circle h2 {
  margin-bottom: 15px;
  font-size: 22px;
  color: #4b2e2e;
}

.circle p {
  font-size: 15px;
  color: #444;
  line-height: 1.6;
}

/* Rectangle outside */
.circle-box::before {
  content: "";
  position: absolute;
  top: 15%;
  left: -9%;
  width: 300px;
  height: 300px;
  border: 3px solid var(--white);
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
}

.service-wrap {
  border: 1px solid #e6e6e6;
  padding: 1rem;
  position: relative;
  background-color: var(--border-color);
  border-radius: 15px;
  color: var(--white);
}

.service-wrap p {
  position: relative;
}

.circle:hover {
  background-image: url(../image/ai-hand.jpg);
  background-size: cover;
  background-position: center center;
  background-attachment: local;
  transition: all .5s;
  border-radius: 50%;
  width: 250px;
  height: 250px;
}

.circle:hover:before {
  background: rgba(0, 0, 0, 0.453);
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0px;
  content: "";
  top: 0;
  opacity: 1;
  border-radius: 50%;
}

.circle:hover i,
.circle:hover p {
  color: var(--white);
  position: relative;
  line-height: 1.5;
  z-index: 4;
  font-weight: 600;
}

.circle p {
  position: relative;
  line-height: 1.5;
  z-index: 4;
  font-size: .875rem;
}

.service-card {
  position: relative;
  background: var(--primary-light-color);
  color: #fff;
  overflow: hidden;
  min-height: 15rem;
}

.service-card::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  transition: 0.6s;
  z-index: 0;
}

.service-card:hover {
  box-shadow: 0.063rem 0.063rem 1.25rem 0.375rem var(--primary-light-color);
}

.service-card p {
  transition: 0.8s;
  /* color: #9ca3af; */
  /* gray-400 */
  position: relative;
  z-index: 1;
}

.service-card:hover p {
  color: #fff;
}

/* Background circles */
.service-circle {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.service-card-first .service-circle {
  background: url("../image/services.jpg");
  bottom: 0;
  left: 0;
  clip-path: circle(45% at 100% 100%);
    background-position: calc(100% - 280px); 
   background-size: cover;
}

.service-card-two .service-circle {
  background: url("../image/services.jpg") no-repeat center/cover;
  bottom: 0;
  left: 0;
      background-position: calc(100% - 230px); 
  clip-path: circle(45% at 0% 100%);
}

.service-card-three .service-circle {
  background: url("../image/services.jpg") no-repeat center/cover;
  top: 0;
  right: 0;
      background-position: calc(100% - (-181px)); 

  clip-path: circle(45% at 100% 0%);

}

.service-card-four .service-circle {
  background: url("../image/services.jpg") no-repeat center/cover;
  top: 0;
  left: 0;
        background-position: calc(100% - 230px); 

  clip-path: circle(45% at 0% 0%);
}

.inner-first {
  padding: 1rem 2rem 1rem 1rem;
}

.division-right {
  background-color: var(--primary-light-color);
  color: var(--white);
  border-radius: 6px;
}
.division-mid{
  border: 1px solid var(--border-color);
  border-radius: 6px;
    max-height: 240px;

}

/* footer */
/* footer {
  background: #162561;
  background-image: radial-gradient(circle at 20% 100%, rgba(184, 184, 184, 0.1) 0%, rgba(184, 184, 184, 0.1) 33%, rgba(96, 96, 96, 0.1) 33%, rgba(96, 96, 96, 0.1) 66%, rgba(7, 7, 7, 0.1) 66%, rgba(7, 7, 7, 0.1) 99%), linear-gradient(40deg, #040a22, #162561, #202e64, #6f7aa6);
  color: var(--white);
}

.footer-left {
  width: 50%;
}

.footer-left img {
  width: 250px;
}

.footer-left ul {
  display: flex;
  gap: 1rem;
  padding-left: 0;
}

.footer-left ul li {
  list-style: none;
}

.footer-left ul li a i {
  font-size: 1.5rem;
  padding-top: 1.2rem;
}
.footer-mid ul{
padding: 0;
display: flex;
gap: 2rem;
padding-top: 1rem;
}
.footer-mid ul li{
  list-style: none;
}
.footer-bottom{
  border-top: .5px solid var(--light-grey);
} */
#division, #team{
   width: 100%;
    position: relative; 
    z-index: 1;
}
.circles{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background: #1625618b;
    animation: animate 25s linear infinite;
    bottom: -150px;
    
}

.circles li:nth-child(1){
    left: 25%;
    width: 10px;
    height: 10px;
    animation-delay: 0s;
}


.circles li:nth-child(2){
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

.circles li:nth-child(3){
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}

.circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}

.circles li:nth-child(5){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.circles li:nth-child(6){
    left: 75%;
    width: 70px;
    height: 70px;
    animation-delay: 3s;
}

.circles li:nth-child(7){
    left: 35%;
    width: 10px;
    height: 10px;
    animation-delay: 7s;
}

.circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 45s;
}

.circles li:nth-child(9){
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.circles li:nth-child(10){
    left: 45%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 11s;
}
.circles li:nth-child(11){
    left: 55%;
    width: 10px;
    height: 10px;
    animation-delay: 0s;
    animation-duration: 19s;
}
.circles li:nth-child(12){
    left: 25%;
    width: 53px;
    height: 53px;
    animation-delay: 0s;
    animation-duration: 17s;
}.circles li:nth-child(13){
    left: 10%;
    width: 15px;
    height: 15px;
    animation-delay: 0s;
    animation-duration: 6s;
}.circles li:nth-child(14){
    left: 5%;
    width: 40px;
    height: 40px;
    animation-delay: 0s;
    animation-duration: 9s;
}.circles li:nth-child(15){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
    animation-duration: 15s;
}

@keyframes animate {

    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }

    100%{
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }

}

.btn-cont {
  position: relative;
  display: inline-block;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 600;
  color: var(--black);
  background: var(--white);
  border: none;
  cursor: pointer;
  overflow: hidden;
  transition: color 0.3s ease;
  text-decoration: none;
  border-radius: 25px;
}

.btn-cont span {
  position: relative;
  z-index: 2;
}

.btn-cont:before,
.btn-cont:after{
  content: '';
  position: absolute;
  width: 50.25%;
  height: 0;
  background-color: var(--secondary-newcolor);
  transition: height 0.4s ease;
  z-index: 1;
}

.btn-cont:before { left: 0; top: 0; }
.btn-cont:after { left: 50%; top: 0; }
.btn-cont span:before { left: 25%; bottom: 0; }
.btn-cont span:after { left: 75%; bottom: 0; }

.btn-cont:hover span {
  color: var(--white);
}

.btn-cont:hover:before,
.btn-cont:hover:after,
.btn-cont:hover span:before,
.btn-cont:hover span:after {
  height: 100%;
}
#team{
 background: #162561;
  background-image: radial-gradient(circle at 20% 100%, rgba(184, 184, 184, 0.1) 0%, rgba(184, 184, 184, 0.1) 33%, rgba(96, 96, 96, 0.1) 33%, rgba(96, 96, 96, 0.1) 66%, rgba(7, 7, 7, 0.1) 66%, rgba(7, 7, 7, 0.1) 99%), linear-gradient(40deg, #040a22, #162561, #202e64, #6f7aa6);
  background-repeat: no-repeat;
  background-size: cover;  
  color: var(--white);
}
 .main{
     width: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 1rem 0;
 }
  .profile-card {
  position: relative;
  font-family: sans-serif;
  width: 200px;
  height: 200px;
  background: #fff;
  padding: 30px;
  border-radius: 50%;
  box-shadow: 0 0 22px #3336;
  transition: transform .4s, border-radius .4s;
  margin: 25px;
}

.profile-card:hover {
  transform: scale(1.1);
  border-radius: 10px;
}

   .profile-card .img{
     position: relative;
     width: 100%;
     height: 100%;
     transition: .6s;
     z-index: 99;
   }
   .profile-card:hover .img{
     transform: translateY(-60px);
   }
   .img img{
     width: 100%;
     border-radius: 50%;
     box-shadow: 0 0 22px #3336;
     transition: .6s;
     background-color: var(--white);
     min-height: 140px !important;
     max-height: 140px !important;
     height: 100% !important;
   }
   .profile-card:hover img{
     border-radius: 10px;
   }
   .caption{
     text-align: center;
     transform: translateY(-48px);
     opacity: 0;
     transition: .6s;
   }
   .profile-card:hover .caption{
     opacity: 1;
   }
   .caption h3{
     font-size: 1.2rem;
     color: var(--border-color);
     margin-bottom: 0;
   }
   .caption p{
     font-size: .875rem;
     color: var(--border-color);
     margin: 2px 0 9px 0;
   }
   .caption .social-links a{
     color: #333;
     margin-right: 15px;
     font-size: 21px;
     transition: .6s;
   }
   .social-links a:hover{
     color: #0c52a1;
   }
   
       /* Hidden by default */
    .sticky-call {
      display: none;
      position: fixed;
      bottom: 15px;       /* Padding from bottom */
      right: 15px;        /* Padding from right */
      background-color: #1137ca;
      color: white;
      padding: 16px;      /* Padding inside the circle */
      border-radius: 50%;
      font-size: 20px;    /* Larger icon */
      z-index: 1000;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
      text-align: center;
      text-decoration: none;
      transition: background-color 0.3s ease;
    }
    
    /* Hover effect */
    .sticky-call:hover {
      background-color: #218838;
    }
    
    /* Show only on mobile (screen width ≤ 768px) */
    @media (max-width: 768px) {
      .sticky-call {
        display: block;
      }
    }
    
   #spinner-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(255, 255, 255, 0.6); /* white with transparency */
      backdrop-filter: blur(3px); /* optional, nice blur effect */
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
    }
    
    .spinner {
      width: 50px;
      height: 50px;
      border: 6px solid #ccc;       /* Light gray */
      border-top: 6px solid #1137ca; /* blue */
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }
    
    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    /* footer new */
    .footer {
  background: #162561;
  background-image: radial-gradient(circle at 20% 100%, rgba(184, 184, 184, 0.1) 0%, rgba(184, 184, 184, 0.1) 33%, rgba(96, 96, 96, 0.1) 33%, rgba(96, 96, 96, 0.1) 66%, rgba(7, 7, 7, 0.1) 66%, rgba(7, 7, 7, 0.1) 99%), linear-gradient(40deg, #040a22, #162561, #202e64, #6f7aa6);
  color: var(--white);
  text-align: center;
   padding: 1.5rem;
}

.footer-container {
  max-width: 900px;
  margin: 0 auto;
}

.footer-logo {
  width: 250px;
  margin-bottom: .8rem;
}

.footer-desc {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #dcdcdc;
  margin-bottom: .8rem;
}

.footer-social {
  margin-bottom: 1.5rem;
}

.footer-social a {
  color: #fff;
  font-size: 1.3rem;
  margin: 0 .5rem;
  transition: color 0.3s ease;
}

.footer-social a:hover {
  color: #ffce00;
}

.footer-bottom {
  font-size: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 15px;
  margin-top: 10px;
}

.footer-bottom a {
  color: #ffce00;
  text-decoration: none;
}

.footer-bottom a:hover {
  text-decoration: underline;
}