In August heat or the middle of a flash flood warning, nobody waits for your homepage animation to finish.
The customer is not browsing
The air conditioning quit and it is 104. Water is coming up through the slab. A limb went through the fence overnight. Nobody in that position is comparing portfolios.
They want to know that you do this, that you come here, and how to reach you right now. Every second and every extra tap between them and that answer sends them back to search results.
Assume the worst connection
Storm traffic loads the network, garages block it, and a phone at nine percent battery throttles itself. These are exactly the conditions of an emergency call.
Build for that case and the good case takes care of itself. Text first, images after, nothing blocking, no third-party script standing between the customer and your number.
Emergency information goes at the top
If you take after-hours calls, that belongs above the fold on the service page, not on a separate emergency page linked from the footer.
Say what after-hours means in plain terms. Answered until ten. Callback within the hour. Weekend calls carry a fee. Vagueness here reads as a no.
Buttons a wet or gloved thumb can hit
Someone standing in a flooded garage is holding the phone one-handed. Small links set close together do not get tapped, they get abandoned.
Make the call button large, keep it visible as the page scrolls, and do not put anything tappable within a thumb's width of it.
Test it in the situation
Take your phone to a job site, drop to one bar, and try to reach your own booking form. Time it.
Most owners are surprised. The site they approved on a laptop is not the site their customers are using, and the gap is where the missed calls come from.