#projects {
  display: grid;
  gap: 1.5px;
  grid-template-columns: repeat(3, 1fr);
  background: var(--stb-border-gray);
  border: 1px solid var(--stb-border-gray);
  padding: 0;
  margin-top: var(--stb-space);
  margin-bottom: var(--stb-space);
}

.project {
  position: relative;
  background: var(--stb-white);
  overflow: hidden;
  transition: transform 0.3s ease;
}

.project a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  height: 480px;
  padding: 20px;
}

.project h2 {
  text-align: center;
  opacity: 0;
}

.project hr {
  width: 0%;
  max-width: 160px;
  height: 4px;
  background-color: var(--stb-black);
  margin: 0;
}

.project p {
  opacity: 0;
}

.thumbnail {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 5;
  transition: opacity ease 0.3s;
}

.thumbnail .blur-thumbnail,
.thumbnail .focused-thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all ease 0.3s;
}

.project .thumbnail .focused-thumbnail {
  width: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 4px solid var(--stb-black);
  transition: width ease 0.3s, height ease 0.3s;
}

.project .thumbnail .blur-thumbnail {
  filter: blur(10px);
}

.project:hover .thumbnail {
  opacity: 1;
}



.project:hover .thumbnail .focused-thumbnail {
  width: 80%;
  height: 61%;
  z-index: 6;
  transition: width ease 0.3s, height ease 0.3s;
}


@media screen and (max-width: 1024px) {
  #projects {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media screen and (max-width: 768px) {
  #projects {
    grid-template-columns: 1fr;
  }
}