.bg-black{
    background-color: black;
}

        :root {
             --primary-color: #05245b;   
              --secondary-color: #042f8c;  /* lighter version */
            /* --secondary-color: #07162f; */
            --text-gray: #9ca3af;
            --glass-bg: linear-gradient(145deg, #06122e, #020805);
            --border-color: rgba(34, 94, 197, 0.2);
        }

        body {
            background-color: var(--secondary-color);
            color: #ffffff;
            font-family: 'Poppins', sans-serif;
            margin: 0;
            overflow-x: hidden;
        }

        /* --- NAVBAR --- */
        .custom-navbar { border-bottom: 1px solid rgba(255,255,255,0.05); }
        .logo-box { background: var(--primary-color); width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; }
        .nav-link { color: #ffffff !important; font-size: 13px; font-weight: 600; padding: 10px 18px !important; }
        .nav-link.active { color: #ffffff !important; background: var(--glass-bg); border-radius: 8px; }
        .bg-pr{background-color: var(--secondary-color);}

        /* --- HERO SECTION --- */
        .hero-section { padding: 50px 0; }
        
        .hero-subtitle { color: var(--text-gray); font-size: 1.1rem; max-width: 500px; margin-bottom: 40px; }

        .btn-primary-custom { background: var(--glass-bg); border: none; padding: 14px 28px; border-radius: 10px; font-weight: 600; color: white; transition: 0.3s; }
        .btn-primary-custom:hover { background: #05245b; transform: translateY(-3px); }

        /* --- CARDS --- */
        .hero-card {
            background: var(--glass-bg);
            border: 1px solid var(--border-color);
            border-radius: 24px;
            padding: 30px;
            height: 100%;
            position: relative;
            overflow: hidden;
        }

        .stat-number { font-size: 3rem; font-weight: 700; margin-bottom: 5px; }
        .stat-label { color: var(--text-gray); font-size: 0.9rem; line-height: 1.4; }

        .card-img-wrap { border-radius: 20px; overflow: hidden; height: 100%; }
        .card-img-wrap img { width: 100%; height: 100%; object-fit: cover; }

        .quality-pill {
            background: rgba(255,255,255,0.05);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 15px;
            text-align: center;
            font-weight: 600;
            font-size: 0.9rem;
        }

        /* --- TRUSTED SECTION --- */
        .avatar-stack img { width: 35px; height: 35px; border-radius: 50%; border: 2px solid var(--secondary-color); margin-left: -12px; }
        .avatar-stack img:first-child { margin-left: 0; }
        .trusted-text { font-size: 0.85rem; color: var(--text-gray); }

        @media (max-width: 991px) {
            .hero-section { text-align: center; }
            .hero-subtitle { margin-left: auto; margin-right: auto; }
            .avatar-stack { justify-content: center; margin-top: 20px; }
        }


        
      /* Container with extra padding to simulate image margins */
      .portfolio-container {
        padding-top: 100px;
        padding-bottom: 100px;
        position: relative;
      }

      /* Optional: Faint dark green overlay for texture */
      .bg-overlay {
        position: fixed;
        top: 0; left: 0; width: 100%; height: 100%;
        background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(0, 30, 0, 0.05) 10px, rgba(0, 30, 0, 0.05) 20px);
        z-index: -1;
      }

      /* --- Common Card Styling (Base) --- */
      .animated-card {
        background-color: transparent;
        color: #ffffff;
        padding: 0; /* Bootstrap g-* classes handle interior spacing */
        position: relative;
        overflow: hidden; /* Important to clip the animated borders */
        border: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%; /* Important for equal height rows */
        isolation: isolate; /* Required for z-indexing over the pseudo-elements */
      }

      /* Base border mask: creates the thin-line effect and the slightly opaque fill */
      .animated-card::before {
        content: '';
        position: absolute;
        inset: 2px; /* Defines the border thickness */
        background: rgba(2, 2, 2, 0.95); /* A very dark grey, nearly black */
        z-index: -1;
        /* Match Bootstrap standard border-radius if needed, or define your own */
        border-radius: calc(var(--bs-border-radius-lg) * 0.9);
      }


      
      /* --- Border Animation Logic --- */
       

      /* --- Text and Element Styling --- */
      
      .large-number {
        font-size: 4.5rem;
        font-weight: 700;
        color: #ffffff;
        letter-spacing: -2px;
        line-height: 1;
      }

      .text-light-green {
        color: #8fa5ff; /* A lighter, slightly desaturated green */
      }
      
      .descriptor {
        color: #ffffff;
        font-weight: 500;
        line-height: 1.4;
      }

      /* Image Card specific styling */
      .card-img-container {
        overflow: hidden;
        width: 100%;
        height: 100%;
        /* Match image background to container for seamless fit */
        background: #000c00; 
      }
      
      .card-person-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.95; /* Slight fade into background */
      }

      /* 3D Geometry Object styling */
      .geometry-image {
        max-width: 80%;
        margin-top: 1.5rem;
        animation: floating 6s ease-in-out infinite; /* Optional: adds life to the object */
      } 
      .br{
        border: 1px solid rgba(0, 60, 255, 0.462) !important;
      }

      
/* CARD */
.card-animated { 
  background: #0a0a0a;
  overflow: hidden;

  /* ✅ STATIC BORDER */
  border: 1px solid rgba(0, 21, 255, 0.3);
}

/* INNER CONTENT MASK */
.card-animated::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: #020202;
  border-radius: inherit;
  z-index: 2;
}

/* 🔥 MOVING LIGHT GREEN LINE */
.card-animated::before {
  content: "";
  position: absolute;
  inset: -50%;
  background: conic-gradient(
    transparent 0deg,
    transparent 320deg,
    #0f3fff 360deg
  );
  animation: rotate 6s linear infinite;
  z-index: 1;

  /* glow */
  filter: drop-shadow(0 0 6px #117df9)
          drop-shadow(0 0 12px rgba(44, 150, 255, 0.6));
}

/* CONTENT */
.card-content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d2ffe9;
  font-size: 1.6rem;
}

/* ANIMATION */
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

.logo-bar {
            border-top: 1px solid rgba(0, 60, 255, 0.462);
            border-bottom: 1px solid rgba(0, 60, 255, 0.462);
            padding-bottom: 40px;
            margin-bottom: 60px;
            
        }

        /* .logo-item {
            filter: brightness(0) invert(1);
            opacity: 0.7; 
            transition: opacity 0.3s;
            max-width: 40px;
        } */

        /* .logo-item:hover {
            opacity: 1;
            
        } */


        
        .impact-section {
            background: var(--glass-bg);
            padding: 100px 0;
        }

        .stat-number {
            color: rgb(138, 179, 255);
            font-size:3.5rem;
            font-weight: 800;
            display: inline-block;
            min-width: 150px; /* Prevents layout jitter during counting */
        }
 

        
        .section-title {
            font-weight: 700;
            font-size: 2.5rem;
            max-width: 500px;
        }

        .section-subtitle {
            color: var(--text-gray);
            max-width: 600px;
            margin-bottom: 3rem;
        }

        /* Feature Cards */
        .feature-card {
            background: var(--glass-bg);
            border: 1px solid var(--border-color);
            border-radius: 20px;
            padding: 40px 30px;
            height: 100%;
            transition: transform 0.3s ease;
        }

        .feature-card:hover {
            transform: translateY(-5px);
            border-color: var(--accent-green);
        }

        .icon-circle {
            width: 50px;
            height: 50px;
            background-color: var(--primary-color);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 25px;
            font-size: 1.5rem;
        }

        .feature-card h3 {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 15px;
        }

        .feature-card p {
            color: var(--text-gray);
            font-size: 0.95rem;
            line-height: 1.6;
        }

        /* Large CTA Card */
        .cta-card {
            background: var(--glass-bg);
            border: 1px solid var(--border-color);
            border-radius: 24px;
            padding: 40px;
            text-align: center;
            height: 100%;
            position: relative;
            overflow: hidden;
        }

        /* Mock for the 3D Abstract Sphere */
.sphere-placeholder {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin: 0 auto 30px;
    box-shadow: 0 0 50px rgba(57, 100, 181, 0.2);

    /* --- ADDED PROPERTIES BELOW --- */
    
    /* 1. Point to your image file */
    background-image: url('https://plus.unsplash.com/premium_photo-1683121716061-3faddf4dc504?fm=jpg&q=60&w=3000&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8Y2lyY3VpdHxlbnwwfHwwfHx8MA%3D%3D'); 

    /* 2. Ensure image covers the whole circle without distorting */
    background-size: cover;

    /* 3. Center the image within the circle */
    background-position: center;

    /* 4. Good practice for fallback colors */
    background-color: #000; 
}

        .btn-get-started {
            background-color: var(--accent-green);
            color: white;
            border: none;
            padding: 12px 30px;
            border-radius: 8px;
            font-weight: 600;
            transition: opacity 0.3s;
        }

        .btn-get-started:hover {
            opacity: 0.9;
            color: white;
        }

                .bg-custom-card { background-color: #0c0c0c !important; border: 1px solid #1a1a1a; }
        .text-success-custom { color: #2e97cc !important; }
        .text-gray-custom { color: #8a8a8a; }


        
        .bg-custom-card { background-color: #000b35 !important; border: 1px solid #1a1a1a; overflow: hidden; }
        .text-blue { color: #117df9 !important; }
        
        #chip-container {
            width: 100%;
            height: 350px;
            position: relative;
            cursor: move;
        }
        canvas { display: block; }

        .fs-7{
          font-size: 0.8rem !important;
        }

        /* Parallax images */
.parallax-img {
  overflow: hidden;
  border-radius: 15px;
}

.parallax-img img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  transform: translateY(0);
  transition: transform 0.2s linear;
}

.parallax-img2 img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transform: translateY(0);
  transition: transform 0.2s linear;
}

/* Responsive */
@media (max-width: 991px) {
  .sticky-content {
    position: relative;
    top: 0;
    margin-top: 40px;
  }
}
 
    .parallax-section { 
  color: #fff;
}

/* Sticky right content */
.sticky-content {
  position: sticky;
  top: 100px;
}

/* Specific brand colors not in standard Bootstrap */
        .bg-black-900 { background-color: #050505; } 
        
        /* Custom input wrapper to match the image border style */
        .input-wrapper-custom {
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 8px;
            padding: 4px;
        }
        .footer-nav-link {
            text-decoration: none;
            font-size: 0.9rem;
            transition: 0.3s;
        }
        .footer-divider {
            border-top: 1px solid rgba(255,255,255,0.1);
        }
        .form-control::placeholder {
  color: #aaa;
}


        /* Card Styling */
        .premium-card {
            background-color: var(--secondary-color);
            border: 1px solid var(--border-color);
            border-radius: 20px;
            transition: border-color 0.3s ease;
        }
 
        /* Text & Colors */
        .text-accent {
            color: #69a0ff;
        }
 

        /* Button Styling */
        .support-cta-btn {
            background-color: var(--primary-color);
            color: white;
            border: none;
            font-weight: 600;
            padding: 14px 30px;
            border-radius: 10px;
            transition: all 0.2s ease;
            display: inline-flex;
            align-items: center;
            text-decoration: none;
        }

        .support-cta-btn:hover {
            background-color: #0e2e68;
            transform: translateY(-2px);
            color: white;
        }

        /* Responsive image adjustment */
        .support-img {
            object-fit: cover;
            width: 100%;
            max-height: 450px;
        }


        
        /* Modal Customization */
        .modal-content {
            background-color: var(--secondary-color);
            border: 1px solid var(--border-color);
            border-radius: 24px;
            padding: 20px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
        }

        .modal-header {
            border-bottom: none;
            padding-bottom: 0;
        }

        .modal-title {
            font-weight: 700;
            letter-spacing: -0.5px;
            color: #ffffff;
        }

        .btn-close {
            filter: invert(1) grayscale(100%) brightness(200%);
            opacity: 0.6;
        }

        /* Professional Input Styling */
        .form-label {
            font-size: 0.65rem;
            /* font-weight: 600; */
            color: #888;
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .form-control {
            background-color: var(--input-bg);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            color: #ffffff;
            padding: 14px 16px;
            transition: all 0.3s ease;
        }

        .form-control:focus {
            background-color: #1f1f1f;
            border-color: var(--);
            box-shadow: 0 0 0 4px rgba(46, 107, 204, 0.15);
            color: #ffffff;
        }
         



        /* ABOUT US */
        .about-parallax-img {
            overflow: hidden;
            border-radius: 15px;
        }

        .about-parallax-img img {
            width: 100%;
            height: 350px;
            object-fit: cover;
            transition: transform 0.2s linear;
        }

        /* Parallax images */



        /* Sticky right content */
        .sticky-content {
            position: sticky;
            top: 100px;
        }

        .about-parallax-img {
            overflow: hidden;
            border-radius: 15px;
        }

        .about-parallax-img img {
            width: 100%;
            height: 400px;
            object-fit: cover;
            transform: translateY(0);
            transition: transform 0.2s linear;
        }

        
        /* Responsive */
        @media (max-width: 991px) {
            .sticky-content {
                position: relative;
                top: 0;
                margin-top: 40px;
            }
        }


        .blur-box {
            background: linear-gradient(to top, rgba(137, 136, 136, 0.3), rgba(90, 90, 90, 0.2), rgba(137, 136, 136, 0.3));
            backdrop-filter: blur(6px);
        }



.testimonial-section {
  padding: 80px 0;
}

/* Divider */
.divider {
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

/* Quote */
.quote-icon {
  font-size: 50px;
  color: #8fa5ff;
}

/* Text */
.testimonial-text {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
}

/* User */
.user-img {
  width: 60px;
  height: 60px;
  object-fit: cover;
}

/* Right Side */
.stars i {
  color: #28a745;
  font-size: 20px;
}

.brand-logo {
  opacity: 0.6;
  font-weight: 600;
}

.btn-green 
  { background: var(--primary-color); border: none; padding: 14px 28px; border-radius: 10px;  color: white; transition: 0.3s; }
 

.btn-green:hover { background: #05245b; transform: translateY(-3px); }

/* Responsive */
@media (max-width: 991px) {
  .divider {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    margin-top: 40px;
    padding-top: 40px;
  }

  .testimonial-text {
    font-size: 20px;
  }
}

.off-white{
    color: #dfdede;
}


/* CONTACT FORM */


/* Card */
.form-card {
  background: linear-gradient(135deg, #0712414e, #1628843d);
  border-radius: 15px;
  padding: 30px;
}

/* Budget Buttons */
.budget-btn {
  background: rgba(255,255,255,0.08);
  color: #ccc;
  border-radius: 10px;
  padding: 10px 18px;
  border: none;
  transition: 0.3s;
}

.budget-btn:hover,
.budget-btn.active {
  background: var(--primary-color);
  color: #fff;
}

/* Inputs */
.form-control {
  background: #000;
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  border-radius: 10px;
  padding: 12px;
}

.form-control:focus {
  background: #000;
  color: #fff;
  border-color: var(--primary-color);
  box-shadow: none;
}

/* Labels */
.form-label {
  color: #ccc;
}

/* Textarea */
textarea {
  resize: none;
}

/* Responsive */
@media (max-width: 768px) {
  .budget-group {
    gap: 10px !important;
  }
  .logo-item {
  max-width: 50px;
  object-fit: contain;  
  transition: 0.3s;
}

}

/* FIX: Map must have height */
#map {
  width: 100%;
  height: 300px;
  border-radius: 15px;
}

/* Optional wrapper */
.map-container {
  overflow: hidden;
  border-radius: 15px;
}



.logo-marquee {
  overflow: hidden;
  width: 100%;
  background: var(--glass-bg);
  padding: 20px 0;
}

.logo-track {
  display: flex;
  gap: 50px;
  width: max-content;
  animation: scroll 20s linear infinite;
}

.logo-item {
  max-width: 70px;
  object-fit: contain; 
  opacity: 0.7;
  transition: 0.3s;
}

.logo-item:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* Animation */
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 768px) {
  .budget-group {
    gap: 10px !important;
  }
  .logo-item {
  max-width: 50px;
  object-fit: contain;  
  transition: 0.3s;
}

}