div.game {
  max-width: 500px;
  aspect-ratio: 1.26;
  cursor: pointer;
  background: var(--clr-bg);
}

div.game a, div.game img.banner {
  display: block;
  width: 100%;
  height: 100%;
}

div.game a { position: relative; }
div.game img.banner { transition: opacity .3s ease; }

div.game.new { position: relative; }

div.game:hover img.banner { opacity: .25; }
div.game:hover a:before {
  opacity: 1;
  transform: scale(.25);
}

div.game.new:before {
  position: absolute;
  content: '';
  background: url('/src/svg/new.svg');
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  right: -3%;
  top: -7%;
  width: 25%;
  aspect-ratio: 1/1;
  z-index: 10;
}

div.grid.games-small { gap: 1rem; }
div.grid.games-small div.game { width: 25%; }

div.game a:before {
  position: absolute;
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  background-size: 100% 100%;
  background-image: url('/src/svg/play.svg');
  background-repeat: no-repeat;
  transition: transform .3s ease, opacity .3s ease;
  opacity: 0;
  top: 0;
  left: 0;
  transform: scale(.5);
  z-index: 5;
}

div.banner-half {
  width: 100%;
  aspect-ratio: 16/1;
  overflow: hidden;
  border-radius: 5em;
}

a.game-link {
  width: 5rem;
}
a.game-link:hover img {
  opacity: .25;
  transform: scale(.8);
}

a.game-link img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  transition: transform .3s ease, opacity .3s ease;
}