I literally just went through this same process! I was also nervous about negotiating, but after reading about how many women leave money on the table by not negotiating their initial salary (and how much this might contribute to the gender pay gap), I was determined.
My offer was for a government job, so the job ad had the available pay grades and the qualifications needed for each, which made it a bit easier, but it should still work similarly for you. Basically, in the initial phone screen, we had discussed a salary range (in this case, two different pay grades) that I’d be considered at. When I got the initial offer via email, it was for the lower of the two grades (e.g. bottom of the range we’d discussed). I scheduled a call with the hiring manager to chat, and before we talked I made a list of all their posted requirements for the next higher pay grade and all the experience I had that matched (for you, make a list of all the things you’re bringing to the table for them, with details!). When we talked, I started by saying we’d discussed my initial range in the first interview, and I thought I deserved to be at the top of that range for X, Y, and Z. There was also some tricky business with their benefits (one big one is that they contribute a large percentage of your salary to your 401k, but I won’t qualify that for immediately because I’m too young), which gave me some more bargaining room in the discussion that followed. You might be able to leverage something similar.
Overall, it worked out well! I got bumped to the next pay grade, which was a 20% raise over the initial offer. The hiring manager was surprisingly nice and reasonable about the whole thing, and it went way better than I’d hoped.
Final piece of advice: WWAMWND? (What Would A Mediocre White Man Do? Because you know there’s a lot of them out there earning way more than they deserve to be based on their fearlessness in salary negotiations.)