.project-photo {
  position: absolute;
  overflow: hidden;
  isolation: isolate;
  background-color: #07101b;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 52%;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .24);
  transition: background-position 1.2s cubic-bezier(.2, .8, .2, 1), filter .8s ease;
}

.project-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(115deg, rgba(5, 10, 17, .46), rgba(5, 10, 17, .74));
}

.project-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: .22;
  background-image: linear-gradient(rgba(126, 169, 229, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(126, 169, 229, .16) 1px, transparent 1px);
  background-size: 54px 54px;
}

.photo-tag {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 25px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .5);
  color: #eef5ff;
  background: rgba(8, 17, 30, .32);
  backdrop-filter: blur(7px);
  font: 500 9px 'DM Mono';
  letter-spacing: .1em;
}

.reservation-photo { background-image: url("assets/project-reservas.jpg"); }
.delivery-photo { background-image: url("assets/project-delivery.jpg"); background-position: center 46%; }
.hr-photo { background-image: url("assets/project-rh.jpg"); background-position: center 49%; }
.finance-photo { background-image: url("assets/project-financeiro.jpg"); background-position: center 42%; }

.project-showcase .reservation-photo,
.project-hr .hr-photo {
  left: 4.5%;
  right: 28%;
  top: 7%;
  bottom: 10%;
}

.project-delivery .delivery-photo,
.project-finance .finance-photo {
  left: 22%;
  right: 4.5%;
  top: 8%;
  bottom: 9%;
}

.project-finance .project-info {
  top: 17%;
  left: 6%;
  width: 26%;
}

.project-finance .project-info h3 { margin-top: 115px; }
.project-finance::before { content: ""; position: absolute; z-index: 1; width: 11px; height: 11px; left: 16%; top: 14%; border: 1px solid #76a9ef; transform: rotate(18deg); }
.project.is-story-active .project-photo { background-position: center 45%; filter: saturate(.82) contrast(1.04); }
.project:hover .project-photo { background-position: center 42%; }

@media (max-width: 720px) {
  .project-showcase .reservation-photo,
  .project-delivery .delivery-photo,
  .project-hr .hr-photo,
  .project-finance .finance-photo {
    position: relative;
    inset: auto;
    width: 100%;
    height: 470px;
  }

  .project-finance { display: flex; flex-direction: column; min-height: 0; }
  .project-finance .project-info { position: relative; inset: auto; width: auto; padding: 42px 20px; background: #111722; order: 2; }
  .project-finance .project-info h3 { margin: 55px 0 22px; font-size: 17vw; }
  .photo-tag { top: 17px; left: 17px; }
}
