/* =========================
   GOOGLE FONT
========================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');



/* =========================
   GLOBAL CSS
========================= */

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   scroll-behavior: smooth;
}

body {
   font-family: 'Poppins', sans-serif;
   background: #f9fbfd;
   color: #333;
   line-height: 1.7;
   overflow-x: hidden;
}

img {
   max-width: 100%;
   display: block;
}

a {
   text-decoration: none;
   transition: 0.3s;
}

ul {
   list-style: none;
}

.container {
   width: 90%;
   max-width: 1200px;
   margin: auto;
}



/* =========================
   HEADER
========================= */

header {
   position: sticky;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 999;
   background: #ffffff;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 18px 6%;
   box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
}

.logo h2 {
   font-size: 28px;
   font-weight: 700;
   color: #00a884;
   letter-spacing: 1px;
}

nav ul {
   display: flex;
   align-items: center;
   gap: 25px;
}

nav ul li a {
   font-size: 16px;
   font-weight: 500;
   color: #333;
   position: relative;
   padding-bottom: 5px;
}

nav ul li a::after {
   content: '';
   position: absolute;
   left: 0;
   bottom: 0;
   width: 0;
   height: 2px;
   background: #00b894;
   transition: 0.4s;
}

nav ul li a:hover {
   color: #00b894;
}

nav ul li a:hover::after {
   width: 100%;
}

.menu-toggle {
   display: none;
   font-size: 30px;
   cursor: pointer;
   color: #00a884;
}

/* Active Menu Link */
nav ul li a.active {
   color: #00b894;
   font-weight: 600;
}

nav ul li a.active::after {
   width: 100%;
}

/* =========================
   HERO SLIDER
========================= */

.slider {
   position: relative;
   height: 90vh;
   overflow: hidden;
}

.slide {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-position: center;
   opacity: 0;
   transition: opacity 1s ease-in-out;
}

.slide.active {
   opacity: 1;
   z-index: 1;
}

.overlay {
   width: 100%;
   height: 100%;
   background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55));
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
   padding: 20px;
   color: #fff;
}

.overlay h1 {
   font-size: 58px;
   font-weight: 700;
   max-width: 900px;
   margin-bottom: 20px;
   line-height: 1.2;
   color: #fff;
}

.overlay p {
   font-size: 22px;
   margin-bottom: 30px;
   font-weight: 300;
   color: #fff;
}

.btn {
   display: inline-block;
   padding: 14px 35px;
   background: #00b894;
   color: #fff;
   border-radius: 50px;
   font-size: 16px;
   font-weight: 600;
   transition: 0.4s;
   box-shadow: 0 8px 25px rgba(0, 184, 148, 0.3);
}

.btn:hover {
   background: #019875;
   transform: translateY(-3px);
}



/* =========================
   PAGE BANNER
========================= */

.page-banner {
   height: 420px;
   background-size: cover;
   background-position: center;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
}

.page-banner::before {
   content: '';
   position: absolute;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.55);
   top: 0;
   left: 0;
}

.banner-content {
   position: relative;
   z-index: 1;
   color: #fff;
   text-align: center;
   padding: 20px;
}

.banner-content h1 {
   font-size: 56px;
   margin-bottom: 15px;
   font-weight: 700;
   color: #fff;
}

.banner-content p {
   font-size: 20px;
   font-weight: 300;
   color: #fff;
}



/* =========================
   SECTIONS
========================= */

section {
   padding: 90px 6%;
}

section h1,
section h2 {
   font-size: 42px;
   text-align: center;
   margin-bottom: 25px;
   color: #111;
   position: relative;
   font-weight: 700;
}

section h1::after,
section h2::after {
   content: '';
   width: 80px;
   height: 4px;
   background: #00b894;
   position: absolute;
   bottom: -10px;
   left: 50%;
   transform: translateX(-50%);
   border-radius: 10px;
}

section p {
   font-size: 17px;
   color: #555;
}



/* =========================
   ABOUT SECTION
========================= */

.about-section .container {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 60px;
   flex-wrap: wrap;
}

.about-image img {
   border-radius: 20px;
   box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.about-content {
   flex: 1;
   min-width: 300px;
}

.about-content h2 {
   text-align: left;
}

.about-content h2::after {
   left: 0;
   transform: none;
}

.about-content p {
   margin-bottom: 18px;
}



/* =========================
   CARDS
========================= */

.service-box {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
   gap: 30px;
   margin-top: 50px;
}

.card {
   background: #fff;
   padding: 35px 30px;
   border-radius: 20px;
   text-align: center;
   transition: 0.4s;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
   border: 1px solid #f1f1f1;
}

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

.card img {
   border-radius: 15px;
   margin-bottom: 20px;
   height: 220px;
   object-fit: cover;
   width: 100%;
}

.card i {
   font-size: 55px;
   margin-bottom: 20px;
   color: #00b894;
}

.card h3 {
   font-size: 24px;
   margin-bottom: 15px;
   color: #111;
}

.card p {
   font-size: 16px;
}



/* =========================
   WHY CHOOSE SECTION
========================= */

.why-choose {
   background: #f3f9f8;
}



/* =========================
   VISION & MISSION
========================= */

.vision-mission {
   background: #ffffff;
}

.vision-mission .container {
   display: flex;
   gap: 30px;
   flex-wrap: wrap;
}

.vision-box {
   flex: 1;
   background: #f7fffc;
   padding: 40px;
   border-radius: 20px;
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
   border-left: 5px solid #00b894;
}

.vision-box h2 {
   text-align: left;
   margin-bottom: 20px;
}

.vision-box h2::after {
   display: none;
}



/* =========================
   COUNTER SECTION
========================= */

.counter-section {
   background: linear-gradient(135deg, #00b894, #00cec9);
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 30px;
   padding: 70px 6%;
   text-align: center;
   color: #fff;
}

.counter-box {
   background: rgba(255, 255, 255, 0.1);
   padding: 40px 20px;
   border-radius: 20px;
   backdrop-filter: blur(8px);
}

.counter-box h2 {
   font-size: 50px;
   margin-bottom: 10px;
   color: #fff;
}

.counter-box p {
   color: #fff;
   font-size: 18px;
}



/* =========================
   CONTACT FORM
========================= */

.contact-section {
   background: #f7f9fc;
}

.contact-section form {
   max-width: 700px;
   margin: auto;
   background: #fff;
   padding: 40px;
   border-radius: 20px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.contact-section input,
.contact-section textarea {
   width: 100%;
   padding: 15px;
   margin-bottom: 20px;
   border: 1px solid #ddd;
   border-radius: 10px;
   font-size: 16px;
   outline: none;
   transition: 0.3s;
   font-family: 'Poppins', sans-serif;
}

.contact-section input:focus,
.contact-section textarea:focus {
   border-color: #00b894;
   box-shadow: 0 0 10px rgba(0, 184, 148, 0.15);
}

.contact-section textarea {
   height: 150px;
   resize: none;
}

.contact-section button {
   width: 100%;
   padding: 15px;
   background: #00b894;
   border: none;
   border-radius: 50px;
   color: #fff;
   font-size: 18px;
   font-weight: 600;
   cursor: pointer;
   transition: 0.3s;
}

.contact-section button:hover {
   background: #019875;
}



/* =========================
   GOOGLE MAP
========================= */

.map iframe {
   border-radius: 20px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}



/* =========================
   FOOTER
========================= */

footer {
   background: #0f172a;
   color: #fff;
   text-align: center;
   padding: 50px 20px;
}

footer p {
   margin-bottom: 12px;
   font-size: 16px;
   color: #d1d5db;
}



/* =========================
   FLOATING BUTTONS
========================= */

.whatsapp-btn {
   position: fixed;
   bottom: 20px;
   right: 20px;
   background: #25d366;
   color: #fff;
   width: 60px;
   height: 60px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 30px;
   z-index: 999;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.call-btn {
   position: fixed;
   bottom: 95px;
   right: 20px;
   background: #00b894;
   color: #fff;
   width: 60px;
   height: 60px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 26px;
   z-index: 999;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}



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

@media(max-width:991px) {

   .overlay h1 {
      font-size: 42px;
   }

   .banner-content h1 {
      font-size: 42px;
   }

   section h1,
   section h2 {
      font-size: 34px;
   }

}



@media(max-width:768px) {

   .menu-toggle {
      display: block;
   }

   nav {
      display: none;
      position: absolute;
      top: 80px;
      left: 0;
      width: 100%;
      background: #fff;
      box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
      padding: 20px 0;
   }

   nav ul {
      flex-direction: column;
      gap: 20px;
   }

   nav ul li {
      text-align: center;
   }

   .overlay h1 {
      font-size: 34px;
   }

   .overlay p {
      font-size: 18px;
   }

   .banner-content h1 {
      font-size: 34px;
   }

   .about-content h2 {
      text-align: center;
   }

   .about-content h2::after {
      left: 50%;
      transform: translateX(-50%);
   }

   .contact-section form {
      padding: 25px;
   }

   section {
      padding: 70px 5%;
   }

}



@media(max-width:480px) {

   .logo h2 {
      font-size: 22px;
   }

   .overlay h1 {
      font-size: 28px;
   }

   .overlay p {
      font-size: 16px;
   }

   .btn {
      padding: 12px 28px;
      font-size: 15px;
   }

   .banner-content h1 {
      font-size: 28px;
   }

   section h1,
   section h2 {
      font-size: 28px;
   }

   .card {
      padding: 25px 20px;
   }

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

}