Make the marinade. In a small food processor, pulse the cilantro, garlic and lime juice until chopped. Add the remaining marinade ingredients in with the cilantro mixture and pulse until combined.
Marinate the steak. Place the steak and marinade in a gallon size re-sealable bag or shallow dish. Cover and marinate steak in the refrigerator for 2 to 4 hours.
Make the Pico de Gallo. Combine all of the ingredients for the Pico de Gallo in a large bowl and toss to combine. Cover with plastic wrap and refrigerate until the tacos are ready.
Bring the steak back to room temperature. Remove the dish (or bag) from the refrigerator, take the steak out of the marinade and transfer it to a clean plate. Season each side with a few generous pinches of salt and pepper, then let the steak rest for 30 minutes or until it reaches room temperature.
Cook the steak. Preheat your grill to 450-500°F. Once your grill is preheated, place the steak onto the hot grates. (you can discard marinade) Close the lid and grill for 5 minutes. Flip and repeat for 4 to 5 more minutes.
Rest the steak. Transfer the steak to a cutting board, tent with foil and let rest for 8-10 minutes before slicing, which will help to seal in the juices. Be sure to slice the steak against the grain.
Warm tortillas. Pop the tortillas in the microwave for 20-30 seconds, on a skillet for about 20-30 seconds per side, or on the grill for 20-30 seconds or just until they get a few char lines on each side.
Assemble tacos. Divide thinly sliced strips of the steak among the heated tortillas and top with thinly shredded iceberg lettuce, Pico de Gallo and cheese if you'd like. Serve with chips, salsa, and margaritas and you’re good to go!