* {
  box-sizing: border-box;
}
body {
  font-size: 14px;
  margin: 0;
  padding: 0;
}
.main-container {
  width: 100%;
  height: auto;
  background: rgba(255,255,255,1);
  opacity: 1;
  position: relative;
  top: 0px;
  left: 0px;
  overflow: visible;
}
.hero-image {
  width: 100%;
  aspect-ratio: 1440 / 827;
  background: url("../images/hero-image.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 1;
  position: relative;
  top: 0px;
  left: 0px;
  overflow: hidden;
}

.section-label {
  width: 10%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  opacity: 1;
}

/* Project info section*/
.project-info-section {
  width: 100%;
  position: relative;
  display: flex;
}

.project-info-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
  gap: 10%;
}

.main-heading {
  flex: 1;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: Regular;
  font-size: 35px;
  opacity: 1;
  text-align: left;
}

.project-info {
  height: auto;
  opacity: 1;
  position: relative;
  display: grid;
  grid-template-columns: 115px 1fr;
  gap: 20px 15px;
}


.info-row-label {
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 14px;
  opacity: 1;
  text-align: left;
  grid-column: 1;
}

.info-row-text {
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: bold;
  font-size: 14px;
  opacity: 1;
  text-align: left;
}

/* Responsive Design for Project Info Section */

@media (max-width: 1200px) {
  .project-info-container {
    flex-direction: column;
  }

  .main-heading {
    width: 100%;
  } 

  .project-info {
    width: 100%;
    margin-top: 30px;
  }
}



/* Background section*/
.background-section{
  width: 100%;
  background: rgba(244, 244, 244, 1);
  position: relative;
  display: flex;
}
.background-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}
.background-content-container {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}

.background-title {
  width: 100%;
  color: rgba(0,0,0,1);
  font-family: Urbanist;
  font-weight: 700;
  font-size: 25px;
}
.background-description {
  width: 100%;
  padding-top: 5%;
  color: rgba(0,0,0,1);
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  margin-bottom: 5%;
}

.stat-row {
  width: 100%;
  display: flex;
  flex-direction: row;
  padding-bottom: 3%;
}
.stat-row-final {
  width: 100%;
  display: flex;
  flex-direction: row;
}

.stat-number {
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: Regular;
  font-size: 45px;
  opacity: 1;
}
.stat-description {
  width: 40%;
  margin-left: 3%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  opacity: 1;
  align-self: center;
}


/* Challenge section*/
.challenge-section{
  width: 100%;
  position: relative;
  display: flex;
}
.challenge-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}
.challenge-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}
.challenge-question {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: 700;
  font-size: 25px;
}
.challenge-description {
  width: 100%;
  margin-top: 5%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  line-height: 1.6;
}


/* Process section*/
.process-section{
  width: 100%;
  background: rgba(244, 244, 244, 1);
  position: relative;
  display: flex;
}
.process-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}
.process-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}

.process-title {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: 700;
  font-size: 25px;
}

.process-description {
  width: 100%;
  margin-top: 5%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  line-height: 1.6;
}

.process-list {
  width: 100%;
  margin-top: 1%;
  padding-left: 3%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  line-height: 1.8;
}


/* Insights section*/
.insights-section{
  width: 100%;
  position: relative;
  display: flex;
}
.insights-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}
.insights-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}

.insights-paragraph-container{
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 5%;
}

.insights-paragraph-container-final{
  width: 100%;
  display: flex;
  flex-direction: column;
}

.insights-paragraph-title {
  width: 100%;
  margin-bottom: 3%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: 700;
  font-size: 25px;
}

.insights-item {
  width: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}
.insight-bullet-point-title {
  width: 100;
  padding-left: 3%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: 600;
  font-size: 16px;
  opacity: 1;
  text-align: left;
}

.insight-description {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
}

.indicator-list {
  width: 100%;
  padding-left: 3%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
}
.indicator-list li {
  margin-bottom: 2%;
}

.indicator-list li:last-child {
  margin-bottom: 0;
}


/* Solution section*/
.solution-section{
  width: 100%;
  position: relative;
  background: rgba(244, 244, 244, 1);
  display: flex;
}
.solution-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}
.solution-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}
.solution-title {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: 700;
  font-size: 25px;
}
.solution-description {
  width: 100%;
  padding-top: 5%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  line-height: 1.6;
}


/* Features section*/
.features-section{
  width: 100%;
  position: relative;
  display: flex;
}
.features-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: column;
}
.features-label {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  opacity: 1;
}

.features-paragraph {
  width: 100%;
  margin-top: 18%;
  display: flex;
  flex-direction: row;
}

.feature-text {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-text-thin {
  width: 25%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-text-title {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: 600;
  font-size: 16px;
  opacity: 1;
  text-align: left;
}


.feature-text-description {
  width: 100%;
  padding-left: 5%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  line-height: 1.8;
}

/* Features images*/

.feature-investment-image-1 {
  width: 25%;
  aspect-ratio: 678 / 1342;
  background: url("../images/investment-image-1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}
.feature-investment-image-2 {
  width: 25%;
  margin-left: 5%;
  margin-right: 10%;
  aspect-ratio: 688 / 1332;
  background: url("../images/investment-image-2.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}


.feature-progress-image-1 {
  width: 25%;
  margin-left: 2%;
  aspect-ratio: 682 / 1350;
  background: url("../images/progress-image-1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}
.feature-progress-image-2 {
  width: 25%;
  margin-left: 2%;
  aspect-ratio: 672 / 1342;
  background: url("../images/progress-image-2.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}
.feature-progress-image-3 {
  width: 25%;
  margin-left: 2%;
  aspect-ratio: 682 / 1342;
  background: url("../images/progress-image-3.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}

.feature-save-image-1 {
  width: 25%;
  aspect-ratio: 670 / 1342;
  background: url("../images/save-image-1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}
.feature-save-image-2 {
  width: 25%;
  margin-left: 5%;
  margin-right: 10%;
  aspect-ratio: 678 / 1330;
  background: url("../images/save-image-2.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 1;
  position: relative;
}


/* Impact section*/
.impact-section{
  width: 100%;
  background: rgba(244, 244, 244, 1);
  position: relative;
  display: flex;
}
.impact-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}
.impact-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}
.impact-title {
  width: 100%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: 700;
  font-size: 25px;
}
.impact-description {
  width: 100%;
  padding-top: 5%;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 16px;
  line-height: 1.6;
}


/* Responsive breakpoints */
@media (max-width: 1200px) {
  .content-wrapper {
    padding: 0 40px;
  }


  /* Keep hero full-screen */
  .hero-image {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  .content-wrapper {
    padding: 0 20px;
  }

  /* Keep hero full-screen on mobile */
  .hero-image {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
    position: relative !important;
  }

  /* Adjust text sizes for mobile */
  .main-container span[style*="font-size: 120px"] {
    font-size: 60px !important;
  }

  .main-container span[style*="font-size: 35px"] {
    font-size: 24px !important;
  }

  .main-container span[style*="font-size: 25px"] {
    font-size: 20px !important;
  }
}

@media (max-width: 480px) {
  .content-wrapper {
    padding: 0 15px;
  }

  /* Keep hero full-screen on small mobile */
  .hero-image {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
    position: relative !important;
  }

  /* Further reduce text sizes for small screens */
  .main-container span[style*="font-size: 120px"] {
    font-size: 48px !important;
  }

  .main-container span[style*="font-size: 35px"] {
    font-size: 20px !important;
  }

  .main-container span[style*="font-size: 25px"] {
    font-size: 18px !important;
  }

  .main-container span[style*="font-size: 16px"] {
    font-size: 14px !important;
  }
}