An iPhone has a screen resolution and also a viewport resolution. For instance the iPhone 11 actual screen is resolution is 828 x 1792 pixels and its viewport size is 414 x 896 pixels. You can find that the browser decides to show a page at the actual resolution instead of the normal viewport size that you actually want.
To set it to use the viewport resolution add this to the head section of your page:
https://skanky.dev/cloud/css/responsive-css/stopping-zooming-to-<meta name="viewport" content="width=device-width, initial-scale=1">
Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.