
/* ======================================================
   css/style.css
   Combined styles: your original CSS blocks kept intact,
   plus minimal helper rules for preloader, sticky navbar,
   reveal animations, and scroll-to-top.
   Place at: /kdee-website/css/style.css
   ====================================================== */


/*-----------------------------------------------About Us---------------------------------------------------------*/
  /* ---------- ABOUT SECTION ---------- */
    .about {
      position: relative;
      padding: 70px 6%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 60px;
      background: #fff;
      overflow: hidden;
      isolation: isolate;
    }

    /* ---------- TEXT ---------- */
    .about-text {
      flex: 1;
      z-index: 2;
    }

    .about-text h4 {
      font-size: 0.95em;
      letter-spacing: 2px;
      color: #23A6DD;
      text-transform: uppercase;
      margin-bottom: 10px;
      font-weight: 700;
    }

    .accent-line {
      width: 70px;
      height: 3px;
      background: linear-gradient(90deg, #28a745, #ffb300);
      border-radius: 2px;
      margin-bottom: 14px;
    }

    /* ---------- UNIQUE ABOUT NAV ---------- */
   .about-nav {
      display: flex;
      gap: 20px;
      margin-left: -35px;
      padding-left: 0;
      margin-bottom: 20px;
      margin-top: 10px;
      flex-wrap: nowrap;
      width: auto !important;
      max-width: none !important;
      justify-content: flex-start !important;
    }
    .about-nav a {
      color: #23A6DD;
      font-weight: 600;
      text-decoration: none;
      border-bottom: 2px solid transparent;
      transition: all 0.3s ease;
    }
    .about-nav a:hover {
      color: #28a745;
      border-color: #28a745;
      transform: translateY(-2px);
    }


    .about-text h2 {
      font-size: 1.8em;
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 18px;
      background: linear-gradient(90deg, #28a745, #f39c12, #ffee58);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .about-text p {
      color: #555;
      font-size: 1.05em;
      line-height: 1.75;
      margin-bottom: 14px;
      max-width: 520px;
    }


    /* ---------- KNOW MORE LINK ---------- */
    .know-more {
      display: inline-block;
      margin-top: 0px;
      font-weight: 600;
      color: #23A6DD;
      text-decoration: none;
      transition: color 0.3s ease, transform 0.3s ease;
      border-bottom: 2px solid transparent;
    }

    .know-more:hover {
      color: #28a745;
      border-color: #28a745;
      transform: translateX(4px);
    }

    /* ---------- IMAGES ---------- */
    .about-images {
      flex: 1;
      position: relative;
      min-height: 360px;
    }

    .about-images img {
      position: absolute;
      width: 70%;
      border-radius: 20px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.12);
      transition: transform 0.5s ease, box-shadow 0.3s ease;
      object-fit: cover;
      border: 4px solid #fff;
    }

    .about-images img:hover {
      transform: scale(1.03);
      box-shadow: 0 15px 40px rgba(0,0,0,0.18);
    }

    .about-images .img1 {
      top: 0;
      left: 0;
      transform: rotate(-3deg);
      z-index: 2;
    }

    .about-images .img2 {
      bottom: 0;
      right: 0;
      transform: rotate(3deg) translate(5%, 5%);
      z-index: 1;
    }

    /* Decorative glow */
    .image-glow {
      position: absolute;
      inset: 0;
      border-radius: 25px;
      background: linear-gradient(120deg, rgba(0,184,148,0.12), rgba(255,179,0,0.08));
      filter: blur(50px);
      animation: pulse 6s infinite alternate;
      z-index: 0;
    }

    @keyframes pulse {
      0% { opacity: 0.25; transform: scale(1); }
      100% { opacity: 0.45; transform: scale(1.05); }
    }

    /* ---------- RESPONSIVE ---------- */
    @media (max-width: 900px) {
      .about {
        flex-direction: column-reverse;
        text-align: center;
        gap: 50px;
        padding: 60px 8%;
      }

      .about-images {
        min-height: 320px;
      }

      .about-images img {
        width: 80%;
      }

      .about-text h2 {
        font-size: 1.6em;
      }

      .about-text p {
        margin: 0 auto 14px;
      }

      .about-text h4 {
        margin-bottom: 8px;
      }

      .about-nav { justify-content: center; margin-top: 20px; }

    }



    /* ---------- RESPONSIVE BREAKPOINTS ---------- */
    
    /* Tablet & Small Desktop (Max-width 900px) */
    @media (max-width: 900px) {
      .about {
        flex-direction: column; /* Stack vertically */
        text-align: center;
        gap: 50px;
        padding: 60px 5%;
      }

      .about-text {
        width: 100%;
      }

      /* Center the accent line */
      .accent-line {
        margin: 0 auto 15px auto;
      }

      /* Fix Navigation Alignment */
      .about-nav { 
        justify-content: center !important; 
        margin-left: 0 !important; /* Remove the desktop offset */
        margin-top: 20px;
        flex-wrap: wrap; /* Allow wrapping on smaller screens */
        gap: 15px;
      }

      /* Image Container Height Adjustment */
      .about-images {
        width: 100%;
        min-height: 400px; /* Ensure space for overlapping images */
      }

      .about-images img {
        width: 60%; /* Make images smaller so they don't overflow */
      }
      
      /* Adjust positioning for centered look */
      .about-images .img1 {
        left: 10%;
        top: 0;
      }
      .about-images .img2 {
        right: 10%;
        bottom: 0;
      }
    }

    /* Mobile Phones (Max-width: 600px) */
    @media (max-width: 600px) {
      .about {
        padding: 50px 20px;
        gap: 40px;
      }

      .about-text h2 {
        font-size: 1.5em; /* Scale down heading */
        line-height: 1.3;
      }

      .about-text p {
        font-size: 0.95em;
        padding: 0 5px;
      }

      /* Navigation Tweak for Mobile */
      .about-nav {
        gap: 10px;
        margin-bottom: 25px;
        justify-content: center !important;
        margin-left: 0 !important;
      }
      .about-nav a {
        font-size: 0.9em;
      }

      /* Image Mobile Optimization */
      .about-images {
        min-height: 280px; /* Compact height for mobile */
      }

      .about-images img {
        width: 65%; /* Slightly larger relative width for visibility */
        border: 3px solid #fff;
      }

      /* Tighter positioning to prevent side cutoff */
      .about-images .img1 {
        left: 0;
        transform: rotate(-3deg) scale(0.9);
      }
      
      .about-images .img2 {
        right: 0;
        bottom: 0;
        transform: rotate(3deg) scale(0.9);
      }
    }


 

/*-------------------------------------------Company at Glance---------------------------------------*/

.glance-section {
  font-family: 'Arial', sans-serif;
  background-color: #f9fafb;
  text-align: center;
  padding: 60px 20px;
}

.glance-container {
  max-width: var(--max-content, 1600px);
  margin: 0 auto;
}

.glance-section h2 {
  font-size: 40px;
  font-weight: 800; /* Made slightly bolder */
  color: #23A6DD;
  margin-bottom: 20px;
}

.glance-section p.glance-description {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 50px;
  /* Gradient text styling */
  background: linear-gradient(90deg, rgb(25, 192, 25), #FF6D00, #FFD600);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* Standard property added */
  color: transparent; /* Fallback */
}

.glance-stats-grid {
  display: grid;
  /* Smart Responsive Grid: Fits as many columns as possible, min width 150px */
  grid-template-columns: repeat(5, 1fr); 
  gap: 30px;
}

.glance-stat-card {
  background-color: #fff;
  padding: 30px 20px;
  border-radius: 20px;
  box-shadow: 0 15px 30px rgba(0,0,0,0.08); /* Softened shadow */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: default;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.glance-stat-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 25px 40px rgba(0,0,0,0.12);
}

.glance-stat-number {
  font-size: 42px;
  font-weight: 800;
  margin-bottom: 10px;
  color: #23A6DD;
}

.glance-stat-title {
  font-size: 15px;
  font-weight: 600;
  background: linear-gradient(90deg, rgb(25, 192, 25), #FF6D00, #FFD600);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---------------- RESPONISVE FIXES ---------------- */

/* Tablet & Mobile (Max width 768px) */
@media (max-width: 768px) {
  .glance-section {
    padding: 40px 20px;
  }

  .glance-section h2 {
    font-size: 28px;
    margin-bottom: 15px;
  }

  /* Hide the <br> tags on mobile so text wraps naturally */
  .glance-section p.glance-description br {
    display: none;
  }
  
  .glance-section p.glance-description {
    font-size: 15px;
    max-width: 100%;
    margin-bottom: 35px;
    padding: 0 10px;
  }

  .glance-stats-grid {
    gap: 15px; /* Reduce gap to fit more on screen */
    /* Force 2 columns on mobile (looks better than 1 giant stacked column) */
    grid-template-columns: repeat(2, 1fr); 
  }

  .glance-stat-card {
    padding: 20px 15px;
  }

  .glance-stat-number {
    font-size: 32px;
  }

  .glance-stat-title {
    font-size: 13px;
  }
}

/* Very Small Phones (Max width 360px) */
@media (max-width: 360px) {
  /* Switch to 1 column only if the screen is tiny */
  .glance-stats-grid {
    grid-template-columns: 1fr;
  }
}




/*--------------------------------------journey-----------------------------------*/
    .kdee-story-section {
      background: #ffff;
      color: #333;
      display: flex;
      flex-direction: column;
      align-items: center;
      font-family: 'Poppins', sans-serif;
      padding: 40px 20px;
      overflow: hidden; /* Important: Prevents horizontal scroll */
    }

    .kdee-story-section h1 {
      margin-top: 40px;
      font-size: 32px;
      color: #23A6DD;
      text-align: center;
    }

    .kdee-story-section .intro {
      width: 90%;
      max-width: 800px;
      text-align: center;
      margin-top: 10px;
      font-size: 16px;
      line-height: 1.6;
      color: #555;
    }

    .kdee-story-section .container {
      display: flex;
      width: 90%;
      max-width: var(--max-content, 1600px);
      margin-top: 40px;
      gap: 40px;
      position: relative; 
    }

    .kdee-story-section .timeline {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 35px;
      margin-right: 60px;
      position: sticky;
      top: 100px;
      z-index: 2;
    }

    .kdee-story-section .year-btn {
      font-size: 18px;
      padding: 10px 20px;
      border: 2px solid #ccc;
      background: #fff;
      cursor: pointer;
      font-weight: 500;
      color: #555;
      transition: all 0.3s ease;
      border-radius: 10px;
      min-width: 70px;
      text-align: center;
    }

    .kdee-story-section .year-btn:hover {
      border-color: #5DADE2;
    }

    .kdee-story-section .year-btn.active {
      font-weight: 600;
      color: transparent;
      background-clip: text;
      -webkit-background-clip: text;
      background-image: linear-gradient(to right, #28a745, orange, yellow);
      border-color: #28a745;
    }

    /* Gradient Lines */
    .kdee-story-section .gradient-line-horizontal {
      position: absolute;
      top: 1%; 
      left: 20%;
      width: 80%;
      height: 2px;
      background: linear-gradient(to right, #28a745, #ff7e5f, #feb47b);
      border-radius: 2px;
      z-index: 0;
      pointer-events: none; 
      transform: translate(-75px,-20px);
    }

    .kdee-story-section .gradient-line-vertical {
      position: absolute;
      top: 0;
      left: 13%; 
      width: 2px;
      height: 100%;
      background: linear-gradient(to bottom, #28a745, #ff7e5f, #feb47b);
      border-radius: 2px;
      z-index: 0;
      pointer-events: none;
      transform: translate(15px,-30px)
    }


    .kdee-story-section .content {
      flex: 1;
      transition: all 0.5s ease;
      display: flex;
      flex-direction: column;
      gap: 10px;
      z-index: 1;
    }

    .kdee-story-section .content img {
      width: 100%;
      max-height: 280px; 
      border-radius: 10px;
      object-fit: cover;
      box-shadow: 0 3px 10px rgba(0,0,0,0.2);
    }

    .kdee-story-section .content h2 {
      margin-top: 10px;
      font-size: 24px;
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      background-image: linear-gradient(to right, #28a745, orange, yellow);
    }

    .kdee-story-section .content p {
      font-size: 16px;
      color: #555;
      line-height: 1.6;
      margin-top: -5px; 
    }

    /* =======================================================
       RESPONSIVE ADJUSTMENTS (Mobile View)
       1. Hides gradient lines.
       2. Adjusts sizes to fit screen.
       3. Keeps layout structure.
    ======================================================= */
    @media (max-width: 768px) {
      
      /* 1. DISAPPEAR THE LINES */
      .kdee-story-section .gradient-line-horizontal,
      .kdee-story-section .gradient-line-vertical {
        display: none !important;
      }

      /* 2. Adjust Main Section padding */
      .kdee-story-section {
        padding: 30px 10px;
      }

      .kdee-story-section h1 {
        font-size: 24px;
        margin-top: 20px;
      }

      .kdee-story-section .intro {
        font-size: 14px;
        width: 100%;
      }

      /* 3. Fix Container Gap */
      .kdee-story-section .container {
        gap: 15px;      /* Reduce gap between buttons and text */
        margin-top: 30px;
        width: 100%;
      }

      /* 4. Fix Timeline Column */
      .kdee-story-section .timeline {
        margin-right: 0;   /* Remove extra right margin */
        min-width: 80px;   /* Give it just enough space for buttons */
        gap: 20px;         /* Reduce vertical space between buttons */
      }

      /* 5. Resize Buttons to fit mobile */
      .kdee-story-section .year-btn {
        font-size: 13px;
        padding: 8px 5px;
        min-width: auto;   /* Allow button to shrink to text size */
        width: 100%;
      }

      /* 6. Adjust Content Text */
      .kdee-story-section .content h2 {
        font-size: 18px;
        margin-top: 5px;
      }

      .kdee-story-section .content p {
        font-size: 14px;
      }
    }
   


/*----------------------------------------services------------------------------------------------*/
/* --- Base Section --- */
.services-section {
  position: relative;
  /* UPDATED BACKGROUND: fixed attachment prevents the "zoomed in" look */
  background: url("../imgs/testing.webp") no-repeat center center fixed;
  background-size: cover;
  
  color: #000;
  padding: 90px 20px;
  text-align: center;
  font-family: "Segoe UI", Arial, sans-serif;
  overflow: hidden; 
  z-index: 0;
  width: 100%;
  box-sizing: border-box; /* Prevents padding from causing scrollbars */
}

/* Light overlay for readability */
.services-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.37);
  z-index: 0;
  pointer-events: none; /* Allows clicking through the overlay */
}

.services-section > * {
  position: relative;
  z-index: 1;
}

/* --- Section Heading --- */
.services-section .section-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 50px;
  gap: 20px;
  max-width: var(--max-container, 1240px);
  margin-left: auto;
  margin-right: auto;
  flex-wrap: nowrap;
}

.services-section .gradient-text {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0px;
  display: inline-block;
  color: #ffffff;
  white-space: nowrap;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3); /* Added shadow for better contrast */
}

.services-section .section-heading .heading-line {
  flex: 1;
  height: 3px;
  background: linear-gradient(90deg, #28a745, #ff7b00, #ffc107);
  border-radius: 2px;
  opacity: 0.9;
  min-width: 50px;
}

/* --- Services Grid --- */
.services-section .services-container {
  display: grid;
  /* Auto-fit ensures responsiveness on desktop */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  max-width: var(--max-container, 1240px);
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* --- Service Box --- */
.services-section .service-box {
  position: relative;
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  border-radius: 14px;
  padding: 55px 25px 35px;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
  color: #000;
  overflow: visible;
  text-align: left;
  box-sizing: border-box; /* Ensures padding stays inside width */
  width: 100%;
}

.services-section .service-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  background: rgba(255, 255, 255, 0.4); /* Slightly more opaque on hover */
  border-color: #28a745;
}

/* --- Corners (L-shapes) --- */
.services-section .service-box::before,
.services-section .service-box::after {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.15);
  transition: background 0.3s ease;
}

.services-section .service-box::before {
  top: 0; left: 0; width: 80px; height: 2px;
}
.services-section .service-box::after {
  top: 0; left: 0; width: 2px; height: 80px;
}

/* --- Icon Circle --- */
.services-section .icon-circle {
  position: absolute;
  top: -25px;
  left: 20px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.5);
  border: 3px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  z-index: 5;
  overflow: hidden;
  transition: all 0.3s ease;
}

.services-section .service-box:hover .icon-circle {
  border-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
}

.services-section .icon-circle img {
  width: 60%; height: 60%;
  object-fit: cover;
  border-radius: 50%;
}

/* --- Text --- */
.services-section .service-box h3 {
  font-size: 1.3rem;
  margin-bottom: 10px;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 20px;
  color: #fff; 
  text-shadow: 0 1px 3px rgba(0,0,0,0.5); /* Added shadow for readability on glass */
  transition: color 0.3s ease;
}

.services-section .service-box p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #000;
  margin-top: 10px;
}

.services-section .service-box:hover h3 {
   color: #28a745;
   text-shadow: none;
}

/* =======================================================
   RESPONSIVE SECTION (Fixes Overflow & Background)
   ======================================================= */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
  .services-section {
    padding: 60px 20px;
  }
}

/* Mobile Devices (max-width: 600px) */
@media (max-width: 600px) {
  
  .services-section {
    padding: 50px 15px;
    /* IMPORTANT: Re-state background for mobile to ensure it behaves */
    background-attachment: fixed;
    background-position: center center;
    background-size: cover;
  }

  /* 1. Layout: Force Single Column & Contain Width */
  .services-section .services-container {
    display: grid;
    grid-template-columns: 1fr; /* Force 1 column */
    gap: 40px;
    width: 100%;
    margin: 0;
    padding: 0; /* Remove extra grid padding */
  }

  /* 2. Heading: Allow Wrapping */
  .services-section .gradient-text {
    font-size: 1.8rem;
    white-space: normal;
    text-align: left;
    line-height: 1.2;
  }
  
  .services-section .section-heading {
    margin-bottom: 40px;
  }

  /* 3. Cards: Ensure they fit the screen */
  .services-section .service-box {
    padding: 50px 20px 30px;
    width: 100%; /* Strict width */
    margin: 0;
  }

  /* 4. Icon Adjustment */
  .services-section .icon-circle {
    width: 60px;
    height: 60px;
    top: -30px;
    left: 20px; 
  }

  .services-section .service-box h3 {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

/* Desktop baseline stabilization */
@media (min-width: 901px) {
  .about {
    width: min(100%, var(--max-content, 1600px));
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }

  .glance-container,
  .kdee-story-section .container,
  .services-section .section-heading,
  .services-section .services-container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .services-section .services-container {
    /* Keep a true desktop 3x2 card rhythm */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: var(--max-content, 1600px);
  }
}

@media (min-width: 769px) and (max-width: 900px) {
  .services-section .services-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: var(--max-content, 1600px);
  }
}

@media (max-width: 768px) {
  .services-section .services-container {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

/* Main1 anti right-shift containment */
body {
  overflow-x: hidden;
}

.hero-slider,
.glance-section,
.kdee-story-section,
.services-section,
.ind-section,
.clients-section,
.contact-section,
.digital-india-section {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow-x: clip;
}

.glance-container,
.kdee-story-section .container,
.services-section .section-heading,
.services-section .services-container {
  width: min(calc(100% - 40px), var(--max-content, 1600px));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .glance-container,
  .kdee-story-section .container,
  .services-section .section-heading,
  .services-section .services-container {
    width: min(calc(100% - 24px), var(--max-content, 1600px));
  }
}


