/* ============ Hero Section ============ */
.hero {
  text-align: center;
}
.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  padding: 0 9%;
}
.tagline {
  font-weight: 500;
  padding: 10px 25px;
  background-color: var(--light-green);
  border-radius: 4em;
}

.hero .descripton {
  font-size: 25px;
  padding: 0 10%;
}

@media (max-width: 768px) {
  .hero-content {
    padding: 0;
  }
  .hero .descripton {
    padding: 0 5%;
  }
}
@media (max-width: 500px) {
  .hero .descripton {
    font-size: 20px;
    padding: 0;
  }
}
/* ============= Overview ============ */

.overview {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.overview p {
  /*font-size: 25px;*/
}
.overview-section ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-left: 1em;
}
.overview-section ul li {
  font-weight: bold;
}
.problem {
  /*max-width: 52ch;*/
}
.problem ul,
.solution ul {
  margin: 25px 0;
}
.problem p,
.solution p {
  margin-top: 10px;
}
.overview,
.problem {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #f4f4f4;
}
/* ============= Features ============ */
.features-wrapper {
  padding: 50px;
  border-radius: 40px;
  background-color: var(--light-purple);
}
.features {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.feature-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-right: 20%;
  position: relative;
  border-bottom: 1px solid #f4f4f4;
  padding-bottom: 25px;
}
.feature-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.feature-no {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;

  font-size: 45px;
  font-weight: 700;
  letter-spacing: -0.9px;
}

@media (max-width: 500px) {
  .features-wrapper {
    padding: 25px;
    border-radius: 20px;
  }
  .features {
    margin-top: 25px;
  }
  .feature-item {
    padding-right: 16%;
  }
  .feature-no {
    font-size: 32px;
    top: 0;
    transform: none;
  }
  .overview p {
    font-size: 18px;
  }
}

/* ============ Techstack =========== */

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 30px;
}
table th,
table td {
  border: 1px solid #f4f4f4;
  padding: 16px 20px;
  text-align: left;
}
table thead th {
  font-size: 25px;
}
table thead th:first-child {
  width: 30%;
}
table thead tr {
  background-color: var(--light-purple);
}
table tbody th {
  font-size: 20px;
}
@media (max-width: 500px) {
  table thead th {
    font-size: 16px;
  }
  table thead th:first-child {
    width: 40%;
  }
  table tbody th {
    font-size: 14px;
  }
  table th,
  table td {
    padding: 12px;
    font-size: 14px;
  }
}

/* =========== Challenges ========= */
.challenges table thead th:first-child {
  width: 50%;
}

/* ============== Takeaways ============= */

.takeaways ul {
  margin-top: 50px;
  padding-left: 1em;
}
.takeaways ul li {
  font-weight: bold;
  /*max-width: 50ch;*/
  margin-top: 8px;
}
@media (max-width: 500px) {
  .takeaways ul {
    margin-top: 30px;
  }
}
/* ====== Demo ======= */
.screenshots {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 25px;
}

.screenshots--sm {
  flex: 1;
  max-width: calc(50% - 13px);
}
.screenshots--lg {
  flex: 1;
}
@media (max-width: 500px) {
  .screenshots--sm {
    max-width: 100%;
  }
}
/* =========== Testimonials ========= */
.testimonial-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: 50px;
}
.testimonial-card {
  text-align: left;
  flex: 1;
  flex-basis: 30%;
}

.stars {
  padding: 7px 0;
}
.avatar {
  width: 57px;
  height: 57px;
  border-radius: 50%;
  margin: 0 auto;
}
.avatar,
.testimonial-text {
  margin-top: 15px;
}
.info .name {
  color: #000;
  font-family: var(--font-urban);
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-top: 5px;
}
.info .position {
  font-size: 16px;
  line-height: normal;
  margin-top: 8px;
}
@media (max-width: 500px) {
  .testimonial-grid {
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
  }
}
