Often enough to be constantly annoyed at it and wish I could just design an alternate site instead of trying to “make it work” at different sizes.
Obviously, designing mobile-first can help, as it can be easier to scale up than to scale down. I’m not really talking about your average modern website which is normally just a monolithic single column “tower” page. But rather, try taking a magazine or newspaper site, or other content heavy sites that depend a lot on searches, filters, tags, categories, and shrink them to flip phone sizes.
In my brain, I just think think you have to ruin the experience a little. You either have mobile-first design which creates a great experience on mobile, than scale it up for desktops where you end up with a non-optimized experience that can feel unnatural. Or you design an awesome desktop experience and end up with a crammed, less than stellar mobile experience.
For example, it always obvious when a desktop experience is crammed into mobile. They don’t remove frustrating popups and modal windows that are impossible to close. Fonts aren’t right. Giant social share bars still follow you up and down the screen, too many graphics, animations, and ads which may have been acceptable on a large screen, feel like they take 80% of the space on mobile.
The opposite is sometimes true too. A great mobile site is upscaled to desktop where the experience seems awkward, typography is not optimized, the size, scale, ratio of screen elements is unnatural, too many things hidden that don’t need to be, etc etc.
All that to say this. You get a better mobile experience when you design for mobile. And you get a better desktop experience when you design for desktop. You can certainly do both, if you want to spend the money on designers and programmers. Or you can create alternate, fully optimized sites, for each.
And remember this is not just CSS here. I know with media queries you can re-style just about everything, which is great. But there comes a time when your actual HTML may need rearranged too. This isn’t only about source order, but certain elements may need to be moved to be in completely different contexts and containers.