.background-container {
    position: relative;
    top: 0; 
    left: 0;
    width: 100%;
    background-image: url(../images/who-we-are.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 60vh; 
}

/* Hero Banner Section */
.hero-banner {
  position: relative;
  width: 100%;
  height: 50vh; /* Full viewport height for the hero section */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background: none; /* Ensures no background here since it inherits from parent */
}

/* Hero Overlay */
.hero-overlay {
  position: absolute;
  top: 1px; /* Starts at the top of the hero section */
  left: 0;
  width: 100%;
  height: 100%; /* Covers the full hero section */
  background-color: rgba(0, 0, 0, 0.7); /* Grey overlay with 50% transparency */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  padding: 20px;
  z-index: 10;
}

/* Text Styling Inside the Hero Banner */
.breadcrumb {
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 3.5rem;
  opacity: 0.8; /* Muted white text for breadcrumb */
}

.page-title {
  font-size: 2.5rem;
  font-weight: bold;
  text-transform: capitalize;
  margin: 0; /* Removes unnecessary spacing */
}

/* Adjust the Spacing Below the Hero Section */
section.hero-banner + .about-us {
  margin-top: 20px; /* Adds space before the next section */
}

.animate-left,
.animate-right {
  opacity: 0;
}

.animate-now.animate-left {
  animation: slideInLeft 1s ease-out forwards;
}

.animate-now.animate-right {
  animation: slideInRight 1s ease-out forwards;
}


  
/* Who We are Section */
/* LEFT SIDE */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.who-we-are-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 50px 100px;
    gap: 40px;
}
.left-content {
    width: 30%;
}
.about-us-box {
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
}
.about-us-item {
    padding: 15px;
    border: 1px solid rgb(195, 199, 208);
    color: rgb(53, 59, 70);
    margin: 5px 0;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    align-items: center;
}
.about-us-item:hover, .about-us-item.active {
    background: red;
    color: white;
    border: none;
}
.arrow {
    font-size: 14px;
}
  
.quote-contact {
    margin-top: 20px;
}

/* CONTACT US SECTION */ 
.contact-box {
    background-color: rgb(53, 59, 70);
    color: white;
    padding: 20px;
    margin: 20px;
}

.contact-title {
    background-color: rgba(255, 255, 255, 0.2);
    padding: 10px;
    margin: 40px, 0, 20px, 0;
    font-weight: bold;
    text-align: center;
    width: 50%;
}

.get-in-touch-title {
    margin-top: 20px;
    margin-left: -70px;
    font-weight: bold;
    font-size: 24px;
}

.get-in-touch-paragraph {
    font-size: 16px;
    margin-left: -70px;
    padding-bottom: 20px;
}

.contact-box-address, .contact-box-tel, .contact-box-time {
    padding-left: 50px;
    font-size: 15px;
    padding-bottom: 20px;
}
.contact-box .icon {
    display: flex;
    align-items: center;
    margin-top: 10px;
}
.contact-icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}
    
.biz, .contact-us-tel, .working-time {
    font-size: 20px;
    font-weight: bold;
}
    
.contact-box button {
    width: 100%;
    padding: 20px;
    background-color: white;
    color: rgb(53, 59, 70);
    border: none;
    border-radius: 30px;
    cursor: pointer;
    text-align: center;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 20px;
}  


/* RIGHT SIDE */
.right-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #2c2c2c;
    line-height: 1.6;
}

.right-content h2::before,
.right-content h3::before {
    content: "—";  /* This is the dash */
    color: red;     /* Red color */
    margin-right: 10px; /* Space between dash and text */
    font-weight: bold;  /* Make it bold to stand out */
    font-size: 1.2em; /* Adjust size if needed */
}

/* Main Heading (h1) */
.heading main {
    padding-top: 20px;
    padding-left: 70px;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: black;
}

.highlight-red {
    color: #D02B2F;
}

.paragraph-intro {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 70px;
}

/* Section heading (h2) */
.heading-section {
    padding-top: 10px;
    margin-left: 0px;
    margin-bottom: 20px ;
    font-weight: bold;
    font-size: 24px;
    color: rgb(53, 59, 70) 
} 

/* Subsection heading (h3) */
.heading-subsection {
    padding-top: 10px;
    padding-left: 30px;
    margin-top: 20px;
    margin-bottom: 20px ;
    font-weight: bold;
    font-size: 24px;
    color: rgb(53, 59, 70)    
} 

/* Mission Paragraph */
.paragraph-mission {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 70px;
} 

/* Vision Paragraph */
.paragraph-vision {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 70px;
} 

h1 {
    padding-top: 20px;
    padding-left: 70px;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 20px;
} 
.sculpting-image-container {
    margin-top: 40px;
    display: flex;
    justify-content: flex-start; /* Aligns the image to the left */
}
.sculpting-image-container img {
    width: 100%; /* Reduce the size */
    height: auto;
    padding-left: 70px;
}
.vision-and-mission-container {
    margin-top: 40px; 
    padding-left: 50px;
}


/* Our Approach */
.our-approach-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    background-color: rgb(247, 243, 243);
    height: 70%;
}

.our-approach-box {
    padding: 40px 10px 20px 10px;
}

.our-approach-box h1 {
    margin-top: 100px;
    margin-left: 70px;
    color: rgb(208, 46, 46);
}

.our-approach-box p {
    margin-left: 70px;
    font-size: 18px;
}

.our-process-box {
    margin-top: 40px;
}

.our-process-box p {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px;
}

.our-process-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    padding-left: 50px;
}

.step {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    position: relative;
}

.step {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s ease-out;
}
  
.step.step-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Grey Circle for Icon */
.approach-icon-circle {
    width: 90px;
    height: 90px;
    background-color: #d0cece;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-right: 15px;
    flex-shrink: 0;
}

/* Icon Styling */
.approach-icon-circle i {
    color: black;
    font-size: 20px;
}

/* Small Black Number Circle */
.number-circle {
    width: 30px;
    height: 30px;
    background-color: black;
    color: white;
    font-size: 12px;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -5px;
    right: -5px;
}

/* Title & Text Wrapper */
.text-container {
    display: flex;
    flex-direction: column;
    max-width: 400px;
}

/* Headline */
.listening-title, .insights-title, .partnership-title, .agility-innovation-title {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 5px;
    color: rgb(208, 46, 46);
}

/* Description */
.listening-text, .insights-text, .partnership-text, .agility-innovation-text {
    color: #555;
    font-size: 16px;
    max-width: 400px;
    line-height: 1.6;
}

/* WHAT SETS US APART */ 
.difference-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    height: 60%;
}

.difference-container p {
    margin-top: 90px;
    margin-bottom: 20px;
    margin-left: 70px;
    font-weight: bold;
    font-size: 20px;
}

.difference-highlight-text {
    color: #D02B2F;
}


.difference-container ul{
    padding-right: 80px;
}

.difference-container li {
    margin-left: 120px;
    line-height: 2;
    font-size: 18px;
}

/* Image Wrapper */
.difference-image-container {
    position: relative;
    width: 100%;
}

.difference-image-text h2 {
    color: white;
}

/* Image */
.difference-image-container img {
    width: 100%;
    display: block;
}

/* Text Overlay */
.difference-image-text {
    position: absolute;
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Ensure perfect centering */
    color: white;
    padding: 15px;
    text-align: center;
    border-radius: 10px;
    width: 80%;
}


/* INDUSTRIES WE SERVE */
.industry-container {
    width: 100%;
    padding: 0 80px;
    margin-bottom: 50px; 
}

.industries-served h1 {
    text-align: center;
}

.industries-served p {
    text-align: center;
    margin-bottom: 40px;
}

.industries {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.industries div {
    overflow: hidden; /* Ensures the image swells inside the container */
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.industries img {
    width: 100%; /* Makes the image take full width */
    height: 100%; /* Makes the image take full height */
    object-fit: cover;
    transition: transform 0.3s ease-in-out; /* Smooth transition */
}

.industries img:hover {
    transform: scale(1.1); /* Slightly enlarges the image */
}

.education-image-text, .mining-image-text, .finance-image-text, .fmcg-image-text, .government-image-text {
    position: absolute;
    top: 20%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Ensure perfect centering */
    color: white;
    text-align: center;
    border-radius: 10px;
    width: 100%;
}

.higher-education-container, .mining-container, .finance-container, .fmcg-container, .government-container {
    position: relative;
    width: 100%;
}

.industry-title {
    color: white;
    font-size: 20px;
    font-weight: 600;
    padding-right: 20px;
}

.second-industry-title {
    color: black;
    font-size: 20px;
    font-weight: 600;
}


/* CALL TO ACTION */
.about-section-cta {
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: center;
}

.about-section-cta h2 {
    font-size: 32px;
    text-align: center;
    padding-bottom: 20px;
}

.about-section-cta p {
    font-size: 20px;
    text-align: center;
    padding-bottom: 60px;
}

.button {
    display: block;
    width: fit-content;
    margin: 20px auto 0 auto;
    background-color: #d62828; /* Red button */
    color: white;
    font-size: 18px;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s ease-in-out;
}

.button:hover {
    background-color: #b71c1c; /* Darker red on hover */
}

.back-to-top {
    position: fixed;
    bottom: 40px;
    right: 20px;
    background-color: #c40000;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 50px;
    cursor: pointer;
    font-size: 1rem;
    display: none;
    z-index: 1000;
}


/* =========================
   Responsive Design
   ========================= */

@keyframes slideInLeft {
    from {
    opacity: 0;
    transform: translateX(-100px);
    }
    to {
    opacity: 1;
    transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
    opacity: 0;
    transform: translateX(100px);
    }
    to {
    opacity: 1;
    transform: translateX(0);
    }
}

.animate-left {
animation: slideInLeft 1s ease-out forwards;
}

.animate-right {
animation: slideInRight 1s ease-out forwards;
}
  

/* Tablets (≤ 1024px) */
@media (max-width: 1024px) {
    .who-we-are-section {
      flex-direction: column;
      padding: 40px 50px;
    }
  
    .left-content,
    .right-content {
      width: 100%;
      padding: 0;
    }
  
    .contact-box {
      margin: 10px 0;
    }
  
    .get-in-touch-title,
    .get-in-touch-paragraph,
    .contact-box-address,
    .contact-box-tel,
    .contact-box-time {
      margin-left: 0;
      padding-left: 20px;
    }
  
    .sculpting-image-container img {
      padding-left: 20px;
    }
  
    .paragraph-intro,
    .paragraph-mission,
    .paragraph-vision {
      padding-left: 20px;
    }
  
    .heading.main,
    .heading-section,
    .heading-subsection {
      padding-left: 20px;
    }
  }
  
  /* Phones (≤ 768px) */
  @media (max-width: 768px) {
    .hero-banner {
      height: 40vh;
    }
  
    .page-title {
      font-size: 2rem;
    }
  
    .breadcrumb {
      font-size: 0.9rem;
    }
  
    .our-approach-container {
      grid-template-columns: 1fr;
      padding: 20px;
    }
  
    .contact-box button {
      font-size: 16px;
      padding: 15px;
    }
  }
  
  /* Small Phones (≤ 480px) */
  @media (max-width: 480px) {
    .hero-overlay {
      padding: 10px;
    }
  
    .page-title {
      font-size: 1.5rem;
    }
  
    .breadcrumb {
      font-size: 0.8rem;
    }
  
    .contact-icon-circle {
      width: 30px;
      height: 30px;
      font-size: 14px;
    }
  
    .get-in-touch-title {
      font-size: 20px;
    }
  
    .paragraph-intro,
    .paragraph-mission,
    .paragraph-vision {
      font-size: 16px;
    }
  }