
:root {
  /* The New Palette */
  --navy-blue: #0A192F;       /* Professional Deep Navy */
  --teal-primary: #14B8A6;    /* Vibrant Modern Teal */
  --teal-dark: #0D9488;       /* Deep Teal for hover/gradients */
  --sand-beige: #F5E6D3;      /* Warm Sand Grey */
  --grey-muted: #64748B;      /* Sophisticated Slate Grey */
  --pure-black: #010411;      /* Rich Black for Footer */
  
  /* Mapping to existing structure */
  --bg-green: var(--navy-blue);
  /* --light-beige: var(--sand-beige); */
  --wood-brown: var(--teal-primary);
  --dark-brown: var(--teal-dark);
  --deep-black: var(--pure-black);

    /* Mapping to your existing variable names to prevent breaking things */
  --bg-green: var(--navy-blue);
  --light-beige: var(--sand-grey);
  --wood-brown: var(--teal-accent);
  --dark-brown: var(--teal-dark);
}

:root {
  --navy-blue: #0A192F;       /* Deep Professional Navy */
  --teal-accent: #14B8A6;     /* Modern Vibrant Teal */
  --teal-dark: #0D9488;       /* Hover Teal */
  --sand-grey: #E2E8F0;       /* Sophisticated Sand Grey */
  --soft-sand: #F8FAFC;       /* Off-white Sand for backgrounds */
  --pure-black: #020617;      /* Rich Black for Footer */
  
  /* Mapping to your existing variable names to prevent breaking things */
  --bg-green: var(--navy-blue);
  --light-beige: var(--sand-grey);
  --wood-brown: var(--teal-accent);
  --dark-brown: var(--teal-dark);
}

/* Updated Dark Mode for the new palette */
body.dark {
  --navy-blue: #020617;
  --teal-primary: #0D9488;
  --sand-beige: #1E293B;      /* Dark Slate for "Dark Sand" */
  --grey-muted: #94A3B8;
  --pure-black: #000000;
}
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: "Poppins", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
      scroll-behavior: smooth;
    }


    /* Header */
    header {
      position: fixed;
      top: 0;
      width: 100%;
      /* background: rgba(4, 56, 42, 0.95); */
      backdrop-filter: blur(20px);
      z-index: 1000;
      padding: .5rem 0;
      transition: all 0.3s ease;

      background: rgba(10, 25, 47, 0.95) !important; /* Navy with glass effect */
  border-bottom: 1px solid rgba(20, 184, 166, 0.2);
    }

    .nav {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .logo img {
      /* width: 40px; */
      height: 50px;
      border-radius: 10px;

    }

    nav a {
      color: var(--light-beige);
      text-decoration: none;
      margin-left: 2rem;
      font-weight: 500;
      position: relative;
      transition: all 0.3s ease;
    }

    nav a::after {
      content: "";
      position: absolute;
      width: 0;
      height: 2px;
      bottom: -5px;
      left: 0;
      background: linear-gradient(90deg,
          var(--wood-brown),
          var(--light-beige));
      transition: width 0.3s ease;
    }

    nav a:hover::after {
      width: 100%;
    }

    .menu-toggle {
      display: none;
      font-size: 1.8rem;
      color: var(--light-beige);
      background: none;
      border: none;
      cursor: pointer;
    }

    /* ===== HERO MODERN (NO CONFLICT) ===== */

    .hero-modern {
      padding: 120px 6%;
      background: linear-gradient(135deg, #03382a, #025240);
      color: #fff;
      font-family: "Playfair Display", serif;
    }

    /* ===== HERO BACKGROUND UPGRADE ===== */

    .hero-modern {
      position: relative;
      background: linear-gradient(135deg, #03382a, #025240);
      overflow: hidden;
    }

    /* 1. Soft radial glow (depth) */
    .hero-modern::before {
      content: "";
      position: absolute;
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.08), transparent 70%);
      top: -150px;
      left: -150px;
    }

    /* 2. Civil blueprint grid (engineering feel) */
    .hero-modern::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 50px 50px;
      opacity: 0.3;
    }

    /* 3. Optional floating light effect */
    .hero-modern-container {
      position: relative;
      z-index: 2;
    }

    @keyframes moveGrid {
      0% {
        transform: translate(0, 0);
      }

      100% {
        transform: translate(50px, 50px);
      }
    }

    .hero-modern::after {
      animation: moveGrid 20s linear infinite;
    }

    .hero-modern-container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
    }

    /* LEFT */
    .hero-modern-left {
      max-width: 500px;
      margin-bottom: 50px;
    }

    .hm-sub {
      opacity: 0.7;
    }

    .hm-title {
      font-size: 3rem;
      margin: 15px 0;
      line-height: 1.2;
      font-family: "Outfit", sans-serif;
    }

    .hm-btn {
      display: inline-block;
      padding: 12px 28px;
      background: linear-gradient(135deg, #61bdc3, #324579);
      border-radius: 30px;
      color: white;
      text-decoration: none;
      margin-top: 20px;
      transition: 0.3s;
    }

    .hm-btn:hover {
      transform: translateY(-4px);
    }

    /* RIGHT */
    .hero-modern-right {
      display: flex;
      gap: 20px;
      position: relative;
    }

    /* CARD */
    .hm-card {
      width: 240px;
      height: 320px;
      border-radius: 20px !important;
      overflow: hidden;
      position: relative;
      transition: 0.4s;
    }

    .hm-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* OVERLAY */
    .hm-overlay {
      position: absolute;
      bottom: 0;
      width: 100%;
      padding: 15px;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    }

    /* MAIN CARD */
    .hm-main {
      transform: scale(1.05);
      z-index: 2;
      overflow: visible;
      border-radius: 5px !important;
    }

    /* SIDE CARD */
    .hm-side {
      transform: scale(0.9);
      opacity: 0.7;
    }

    /* HOVER */
    .hm-card:hover {
      transform: scale(1.1);
    }

   /* =========================
   MOBILE FIX (≤768px)
========================= */
@media (max-width: 768px) {

  .hero-modern {
    padding: 80px 15px;
  }

  .hero-modern-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* TEXT */
  .hm-title {
    font-size: 2rem;
  }

  /* KEEP ROW (IMPORTANT) */
  .hero-modern-right {
    display: flex;
    flex-direction: row;   /* ✅ KEEP SAME AS DESKTOP */
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
  }

  /* SCALE CARDS */
  .hm-card {
    width: 45%;
    height: 220px;
  }

  /* SLIGHT DEPTH */
  .hm-main {
    transform: scale(1.05);
  }

  .hm-side {
    transform: scale(0.9);
    opacity: 0.8;
  }
}
.hero-modern-right {
  flex-wrap: nowrap;
  overflow-x: auto;   /* ✅ allows scroll instead of breaking */
  scrollbar-width: none;
}

.hero-modern-right::-webkit-scrollbar {
  display: none;
}

    /* Hero Section */
    .hero {
  height: 100vh;
  /* We combine the Navy gradient WITH the image URL here */
  background: 
    linear-gradient(135deg, rgba(10, 25, 47, 0.85) 0%, rgba(20, 184, 166, 0.7) 100%),
    url("https://images.unsplash.com/photo-1503387762-592deb58ef4e") center/cover !important;
  background-blend-mode: multiply; /* This allows the image to show through the navy */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  position: relative;
}

    .hero::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(45deg,
          transparent 80%,
          rgba(4, 56, 42, 0.8) 50%,
          transparent 70%);
      /* animation: shimmer 3s ease-in; */
    }

    @keyframes shimmer {

      0%,
      100% {
        transform: translateX(-100%) skewX(-15deg);
      }

      50% {
        transform: translateX(100%) skewX(-15deg);
      }
    }

    .hero-content {
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 24px;
      padding: 1rem 2rem;
      max-width: 800px;
      position: relative;
      z-index: 2;
      transform: translateY(20px);
      animation: fadeInUp 1s ease forwards;
    }

    @keyframes fadeInUp {
      to {
        transform: translateY(0);
        opacity: 1;
      }
    }

    .hero-content h2 {
      font-family: "Playfair Display", serif;
      font-size: 3.5rem;
      margin-bottom: 1.5rem;
      background: linear-gradient(135deg, var(--light-beige), white);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .btn {
      display: inline-block;
      padding: 1rem 2.5rem;
      background: linear-gradient(135deg,
          var(--wood-brown),
          var(--dark-brown));
      color: white;
      text-decoration: none;
      border-radius: 50px;
      font-weight: 600;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }

    .btn::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg,
          transparent,
          rgba(255, 255, 255, 0.3),
          transparent);
      transition: left 0.5s;
    }

    .btn:hover::before {
      left: 100%;
    }

    .btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(195, 141, 97, 0.4);
    }

    /* Services - Card Carousel (Bootstrap) */
    .services {
      padding: 10px 20px;
      background: var(--light-beige);
    }

    .section-title {
      text-align: center;
      font-size: 3rem;
      font-family: "Playfair Display", serif;
      margin-bottom: 2rem;
      color: var(--deep-black);
      position: relative;
    }
.section-title-black {
      text-align: center;
      font-size: 3rem;
      font-family: "Playfair Display", serif;
      margin-bottom: 2rem;
      color: var(--pure-black);
      position: relative;
    }

    .section-title-black::after {
      content: "";
      position: absolute;
      bottom: -10px;
      left: 50%;
      transform: translateX(-50%);
      width: 80px;
      height: 4px;
      background: linear-gradient(90deg,
          var(--wood-brown),
          var(--dark-brown));
      border-radius: 2px;
    }
    .section-title::after {
      content: "";
      position: absolute;
      bottom: -10px;
      left: 50%;
      transform: translateX(-50%);
      width: 80px;
      height: 4px;
      background: linear-gradient(90deg,
          var(--wood-brown),
          var(--dark-brown));
      border-radius: 2px;
    }

    .service-card {
      flex: 0 0 350px;
      background: white;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.342);
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      position: relative;
    }

    .service-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg,
          var(--wood-brown),
          var(--dark-brown));
      transform: scaleX(0);
      transition: transform 0.3s ease;
    }

    .service-card:hover::before {
      transform: scaleX(1);
    }

    .service-card img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      transition: transform 0.5s ease;
    }

    .service-card:hover img {
      transform: scale(1.05);
    }

    .service-card-content {
      padding: 2rem;
    }

    .service-card h3 {
      font-family: "Playfair Display", serif;
      font-size: 1.5rem;
      color: var(--deep-black);
      margin-bottom: 1rem;
    }

    .service-card p {
      color: #666;
      line-height: 1.7;
    }

    /* Bootstrap carousel controls styled like original buttons */
    .carousel-control-prev,
    .carousel-control-next {
      width: 50px;
      height: 50px;
      top: 50%;
      transform: translateY(-50%);
      border-radius: 50%;
      background: linear-gradient(135deg,
          var(--wood-brown),
          var(--dark-brown));
      opacity: 1;
    }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
      filter: invert(1);
    }

    .carousel-control-prev:hover,
    .carousel-control-next:hover {
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 10px 25px rgba(195, 141, 97, 0.4);
    }

    /* Services multi-item carousel (desktop: 3, mobile: 1) */
    #servicesCarousel .service-card {
      width: 100%;
      min-width: 360px;
      flex: initial;
    }

    /* Team Section */
    .team {
      padding: 120px 0;
      background: linear-gradient(135deg,
          var(--deep-black) 0%,
          var(--bg-green) 100%);
    }

    .team-grid {
      position: relative;
      display: flex !important;
      justify-content: center;
      align-items: center;
      height: 400px;
      perspective: 1200px;
      overflow: hidden;
    }

    @media (max-width: 1200px) {
      .team-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1.25rem;
      }
    }

    @media (max-width: 768px) {
      .team-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1rem;
      }

      .team-card {
        padding: 1.75rem 1.25rem;
      }

      .team-avatar {
        width: 105px;
        height: 105px;
        font-size: 3rem;
      }
    }

    @media (max-width: 576px) {
      .team-grid {
        grid-template-columns: 1fr;
        padding: 0 1rem;
        gap: 0.85rem;
      }

      .team-card {
        padding: 1.5rem 1rem;
      }
    }

    .team-card {
      background: rgba(219, 211, 198, 0.1);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(219, 211, 198, 0.2);
      border-radius: 24px;
      padding: 2.5rem 2rem;
      text-align: center;
      transition: all 0.4s ease;
      transition: all 0.6s ease;
      position: relative;
      overflow: hidden;
      position: absolute;
      width: 260px;
      height: 320px;
      opacity: 0;
      /* ADD */
      transform: scale(0.6);
      /* ADD */
      filter: blur(3px);
      /* ADD */
    }

    .team-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg,
          var(--wood-brown),
          var(--dark-brown));
      transform: scaleX(0);
      transition: transform 0.3s ease;
    }

    .team-card:hover::before {
      transform: scaleX(1);
    }

    .team-avatar {
      position: relative;
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin: 0 auto 1.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(219, 211, 198, 0.2);
      border: 4px solid var(--wood-brown);
      transition: all 0.3s ease;
      color: var(--light-beige);
      font-size: 3.5rem;
    }

    .team-avatar .gender-icon {
      position: absolute;
      right: 8px;
      bottom: 8px;
      font-size: 0.9rem;
      color: var(--wood-brown);
      background: rgba(255, 255, 255, 0.85);
      border-radius: 50%;
      width: 22px;
      height: 22px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .team-card:hover .team-avatar {
      transform: scale(1.1);
      box-shadow: 0 15px 40px rgba(195, 141, 97, 0.4);
    }

    .team-card h3 {
      font-family: "Playfair Display", serif;
      color: var(--light-beige);
      margin-bottom: 0.5rem;
      font-size: 1.4rem;
    }

    .team-card .role {
      color: var(--wood-brown);
      font-weight: 500;
      margin-bottom: 1rem;
    }

    .team-card:hover {
      transform: translateY(-15px);
      box-shadow: 0 30px 80px rgba(195, 141, 97, 0.3);
    }

    .team-card p {
      color: var(--light-beige);
    }

    /* Video Gallery */
    .video-gallery {
      padding: 120px 0 80px;
      background: var(--light-beige);
    }

    .video-grid {
      max-width: 1200px;
      margin: 4rem auto 0;
      padding: 0 2rem;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
      gap: 2rem;
    }

    .video-card {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
      transition: all 0.4s ease;
      background: white;
    }

    .video-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(135deg,
          rgba(195, 141, 97, 0.1),
          rgba(121, 84, 50, 0.1));
      opacity: 0;
      transition: opacity 0.3s ease;
      z-index: 1;
    }

    .video-card:hover::before {
      opacity: 1;
    }

    .video-card iframe {
      width: 100%;
      height: 220px;
      border: none;
      display: block;
      transition: transform 0.5s ease;
    }

    .video-card:hover iframe {
      transform: scale(1.05);
    }

    .video-overlay {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: rgba(4, 56, 42, 0.9);
      color: white;
      padding: 1rem 1.5rem;
      border-radius: 50px;
      font-weight: 600;
      z-index: 2;
      opacity: 0;
      transition: all 0.3s ease;
    }

    .video-card:hover .video-overlay {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1.05);
    }

    /* Associates Section */
    .associates {
      padding: 80px 0;
      background: linear-gradient(135deg,
          var(--deep-black) 0%,
          var(--bg-green) 100%);
    }

    .associates-grid {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 2rem;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 2rem;
    }

    .associate-card {
      background: rgba(219, 211, 198, 0.1);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(219, 211, 198, 0.2);
      border-radius: 20px;
      padding: 2rem 1rem;
      text-align: center;
      transition: all 0.4s ease;
      cursor: pointer;
    }

    .associate-logo {
      height: 80px;
      width: auto;
      margin-bottom: 1rem;
      filter: grayscale(100%);
      transition: all 0.3s ease;
      max-width: 80%;
    }

    .associate-card:hover .associate-logo {
      filter: grayscale(0%);
      transform: scale(1.1);
      max-width: 100%;
    }

    .associate-card h4 {
      color: var(--light-beige);
      font-size: 1.1rem;
      margin-bottom: 0.5rem;
    }

    .associate-card p {
      color: rgba(219, 211, 198, 0.8);
      font-size: 0.9rem;
    }

    .associate-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(195, 141, 97, 0.3);
    }

    /* About Section */
    .about {
      padding: 100px 0;
      background: linear-gradient(135deg,
          var(--bg-green) 0%,
          var(--deep-black) 100%);
    }

    .about-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 2rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
    }

    .about-img {
      position: relative;
    }

    .about-img img {
      width: 100%;
      height: 400px;
      object-fit: cover;
      border-radius: 24px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    }

    .about-text {
      color: var(--light-beige);
    }

    .about-text h2 {
      font-family: "Playfair Display", serif;
      font-size: 2.8rem;
      margin-bottom: 2rem;
      color: var(--light-beige);
    }

    /* Rest remains same... */
    .video-section,
    .vision-section {
      padding: 100px 0;
    }

    .video-container {
      max-width: 900px;
      margin: 0 auto;
      padding: 0 2rem;
    }

    .video-container iframe {
      width: 100%;
      height: 500px;
      border-radius: 24px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    }

    .vision-section {
      background: var(--deep-black);
    }

    .vision-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 2rem;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
      gap: 1rem;
    }

    .vision-card {
      background: rgba(219, 211, 198, 0.1);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(219, 211, 198, 0.2);
      border-radius: 24px;
      padding: 3rem 2rem;
      text-align: center;
      transition: all 0.4s ease;
    }

    .vision-card i {
      font-size: 3.5rem;
      display: inline-block;
      color: var(--wood-brown);
      /* fallback */
      background: linear-gradient(135deg, rgb(15, 63, 27), rgb(1, 92, 1));
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      -webkit-text-fill-color: transparent;
      margin-bottom: 1.5rem;
    }

    .vision-card i vision {
      background: white !important;


    }

    .vision-card h3 {
      font-family: "Playfair Display", serif;
      color: var(--light-beige);
      margin-bottom: 1.5rem;
    }

    .vision-card p {
      color: var(--light-beige);
    }

    /* Footer */
    .footer {
      background: black;
      color: var(--light-beige);
      padding: 10px 0 10px;
    }

    .footer-container {
      max-width: 1200px;
      margin: 0 auto 1rem;
      padding: 1rem;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 3rem;
    }

    /* Theme Toggle & Responsive - Same as before */
    .theme-btn {
      background: rgba(219, 211, 198, 0.2);
      border: 1px solid var(--light-beige);
      color: var(--light-beige);
      width: 45px;
      height: 45px;
      border-radius: 50%;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .theme-btn:hover {
      background: var(--wood-brown);
      transform: rotate(180deg);
    }

    .fade-in {
      opacity: 0;
      transform: translateY(50px);
      transition: all 0.8s ease;
    }

    .fade-in.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .social a i {
      font-size: 32px;
      /* bigger icon */
      margin-right: 15px;
      background: linear-gradient(45deg, #ff512f, #dd2476);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .social a:nth-child(1) i {
      background: linear-gradient(45deg, #1877f2, #00c6ff);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .social a:nth-child(2) i {
      background: linear-gradient(45deg, #f9ce34, #ee2a7b, #6228d7);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .social a:nth-child(3) i {
      background: linear-gradient(45deg, #0a66c2, #00c6ff);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .social a:nth-child(4) i {
      background: linear-gradient(45deg, #ff0000, #ff5f6d);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .whatsapp-float {
      position: fixed;
      bottom: 20px;
      right: 20px;
      width: 60px;
      height: 60px;
      background: linear-gradient(45deg, #25d366, #128c7e);
      color: white;
      border-radius: 50%;
      text-align: center;
      font-size: 30px;
      line-height: 60px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
      z-index: 1000;
    }

    .whatsapp-float:hover {
      transform: scale(1.1);
      transition: 0.3s;
    }

    /* Fade-in animation baseline */
    .fade-in {
      opacity: 0;
      transform: translateY(25px);
      transition:
        opacity 0.8s ease,
        transform 0.8s ease;
    }

    .fade-in.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* About typing placeholder */
    .typing-text {
      color: var(--light-beige);
      font-family: "Poppins", sans-serif;
      font-size: 1.05rem;
      font-weight: 500;
    }

    .typing-cursor {
      display: inline-block;
      width: 2px;
      height: 1.2em;
      background: var(--light-beige);
      margin-left: 4px;
      animation: blink 0.7s steps(2, start) infinite;
      vertical-align: bottom;
    }

    @keyframes blink {

      0%,
      50% {
        opacity: 1;
      }

      51%,
      100% {
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .hero {
        min-height: 85vh;
        padding-top: 12vh;
      }

      .hero-content h2 {
        font-size: 2rem;
      }

      .about-container {
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .about-img img {
        height: auto;
        max-height: 320px;
      }

      .service-card {
        flex: 0 0 100%;
        max-width: 100%;
      }
    }

    .nav {
      padding: 0 1rem;
    }

    nav {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      background: rgba(4, 56, 42, 0.98);
      flex-direction: column;
      padding: 1rem;
    }

    nav.active {
      display: flex;
      background: rgba(10, 25, 47, 0.993) !important; 
    }

    .menu-toggle {
      display: block;
    }

    .hero-content h2 {
      font-size: 2.5rem;
    }

    .about-container {
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    .service-card {
      flex: 0 0 280px;
    }

    .section-title {
      font-size: 2.2rem;
    }
  /* Header - Dark Navy Blue */
header {
  background: rgba(10, 25, 47, 0.95) !important; /* Professional Navy */
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(20, 184, 166, 0.3);
}

/* Hero Section - Gradient Update (Navy to Teal) */
.hero-modern{
  background: linear-gradient(135deg, var(--navy-blue) 0%, #134E4A 100%) !important;
}

/* Button & Accent Gradients (Teal Professional Look) */
.btn, .hm-btn, .carousel-control-prev, .carousel-control-next {
  background: linear-gradient(135deg, var(--teal-primary), var(--teal-dark)) !important;
  border: none;
}

/* Section Titles (Navy text with Teal underline) */
.section-title {
  /* color: var(--navy-blue) !important; */
  color: var(--sand-grey) !important;
}

.section-title::after {
  background: linear-gradient(90deg, var(--teal-primary), var(--navy-blue)) !important;
}

/* Card Icons & Specific Accents */
.vision-card i {
  background: linear-gradient(135deg, var(--teal-primary), var(--navy-blue)) !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
}

/* Footer - Pure Black */
.footer {
  background: var(--pure-black) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-container p, .footer-container h4 {
  color: var(--sand-beige) !important;
}
/* Nav Links - Sand Grey Color */
nav a {
  color: #F5E6D3 !important; /* Sand Grey */
  text-decoration: none;
  margin-left: 2rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

/* Hover effect - Teal with Sand Grey underline */
nav a:hover {
  color: #14B8A6 !important; /* Modern Teal */
}

nav a::after {
  background: linear-gradient(90deg, #14B8A6, #F5E6D3) !important;
}

/* Mobile Menu Toggle - Sand Grey */
.menu-toggle {
  color: #F5E6D3 !important;
}
/* Styling for Nav Icons */
nav a i {
  font-size: 1.1rem;
  vertical-align: middle;
  transition: transform 0.3s ease, color 0.3s ease;
  color: var(--teal-primary); /* Icons start as Teal for a professional accent */
}

/* Icon Animation on Hover */
nav a:hover i {
  transform: translateY(-2px);
  color: #F5E6D3 !important; /* Icons turn Sand Grey on hover */
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  nav a {
    display: flex;
    align-items: center;
    padding: 12px 0;
    margin-left: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }
  
  nav a i {
    margin-right: 15px;
    width: 25px; /* Keeps icons aligned in a straight line on mobile */
  }
}
/* ===== FIRELY BASE ===== */
.firefly {
  position: absolute;
  width: 5px;
  height: 5px;
  background: rgb(0, 217, 255);
  border-radius: 50%;
  box-shadow: 0 0 10px rgb(0, 247, 255), 0 0 20px rgb(0, 225, 255);
  animation: float linear infinite, blink ease-in-out infinite;
}

/* ===== RANDOM POSITIONS ===== */
/* ===== RANDOM POSITIONS (FIXED + NATURAL) ===== */

.firefly:nth-child(1)  { top: 12%; left: 18%; animation-duration: 14s, 2.2s; transform: scale(0.8); }
.firefly:nth-child(2)  { top: 28%; left: 82%; animation-duration: 16s, 3s;   transform: scale(1); }
.firefly:nth-child(3)  { top: 62%; left: 8%;  animation-duration: 18s, 2.5s; transform: scale(0.7); }
.firefly:nth-child(4)  { top: 78%; left: 52%; animation-duration: 20s, 3.2s; transform: scale(1.2); }
.firefly:nth-child(5)  { top: 48%; left: 72%; animation-duration: 15s, 2s;   transform: scale(0.9); }

.firefly:nth-child(6)  { top: 22%; left: 38%; animation-duration: 17s, 2.3s; transform: scale(1); }
.firefly:nth-child(7)  { top: 72%; left: 28%; animation-duration: 19s, 3s;   transform: scale(0.6); }
.firefly:nth-child(8)  { top: 42%; left: 63%; animation-duration: 18s, 2.2s; transform: scale(1.1); }
.firefly:nth-child(9)  { top: 68%; left: 88%; animation-duration: 21s, 2.6s; transform: scale(0.8); }
.firefly:nth-child(10) { top: 18%; left: 58%; animation-duration: 13s, 2s;   transform: scale(1); }

.firefly:nth-child(11) { top: 8%;  left: 35%; animation-duration: 15s, 2.4s; transform: scale(0.7); }
.firefly:nth-child(12) { top: 32%; left: 92%; animation-duration: 17s, 3s;   transform: scale(1.2); }
.firefly:nth-child(13) { top: 58%; left: 22%; animation-duration: 19s, 2.5s; transform: scale(0.9); }
.firefly:nth-child(14) { top: 82%; left: 62%; animation-duration: 22s, 3.3s; transform: scale(1); }
.firefly:nth-child(15) { top: 52%; left: 78%; animation-duration: 16s, 2.1s; transform: scale(0.8); }

.firefly:nth-child(16) { top: 24%; left: 48%; animation-duration: 18s, 2.3s; transform: scale(1.1); }
.firefly:nth-child(17) { top: 70%; left: 38%; animation-duration: 20s, 3s;   transform: scale(0.6); }
.firefly:nth-child(18) { top: 38%; left: 68%; animation-duration: 17s, 2s;   transform: scale(1); }
.firefly:nth-child(19) { top: 64%; left: 73%; animation-duration: 23s, 2.7s; transform: scale(0.9); }
.firefly:nth-child(20) { top: 14%; left: 12%; animation-duration: 14s, 2s;   transform: scale(0.7); }
/* ===== FLOAT ANIMATION ===== */
@keyframes float {
  0%   { transform: translate(0,0); }
  25%  { transform: translate(30px,-40px); }
  50%  { transform: translate(-20px,30px); }
  75%  { transform: translate(40px,20px); }
  100% { transform: translate(0,0); }
}

/* ===== BLINK EFFECT ===== */
@keyframes blink {
  0%, 100% { opacity: 0.2; }
  50% { opacity: 1; }
}
