.journey { 
  padding-top: 62px;
  padding-bottom: 91px;
}

.journey__heading { 
  font-family: var(--font-title);
  color: #363749;
  font-size: 50px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -2px;
  text-align: center;
  margin: 0 0 45px 0;
}

.journey__grid { 
  max-width: 1232px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.journey__card { 
  position: relative;
  overflow: hidden;
  background: #1F1E27;
}

.journey__link { 
  display: block;
  position: relative;
  height: 100%;
}

.journey__link:focus, .journey__link:focus-visible {
  border: 1px solid var(--base-blue);
}

.journey__img { 
  display: block;
  width: 100%;
  height: 378px;
  object-fit: cover;
}

.journey__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #363749;
  color: #F6F3EE;
  padding: 25px 35px;
  z-index: 1;
  display: flex;                
  flex-direction: column;
  justify-content: center;      
  gap: 4px;
  height: 125px;
}

.journey__title { 
  color: #F6F3EE;
  font-family: Nunito, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.24px;
  margin: 0;
}

.journey__sub-title { 
  color: #F6F3EE;
  font-family: Montserrat, sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5; 
  letter-spacing: -0.88px;
  margin: 0;
}


@media (max-width: 1024px) { 
  .journey__grid { 
    grid-template-columns: repeat(2, 1fr);
  } 
}

@media (max-width: 768px) { 
  .journey { 
    padding-top: 28px;
    padding-bottom: 28px;
  }
  
  .journey__heading {
    font-size: 32px;
    letter-spacing: -1.28px;
    font-weight: 600;
  }
  
  .journey__grid { 
    gap: 28px;
  } 
  
  .journey__img { 
    height: 322px;
  }
  
  .journey__title {
    line-height: 27px; /* 225% */
  }
  
  .journey__caption { 
    padding: 11px 30px 24px;
  }
}

@media (max-width: 640px) { 
  .journey__grid { 
    grid-template-columns: 1fr;
  }