Slow websites are rarely the result of careless code. They are the result of design choices made before code existed: a slider with eight photos, four typeface weights, an embedded map on every page, a chat widget loading a third-party bundle.
Each of those is defensible in isolation. Together they turn a page that could load in under a second into one that takes five on a phone with an average connection.
The discipline is to budget. Pick one hero asset, two typefaces, and a single embedded third party — then anything new has to displace something already there. A budget makes the trade-off visible while it is still cheap to change.
Where motion matters, use transforms and opacity rather than layout-affecting properties, and respect the visitor's reduced-motion setting. Motion should make a page feel considered, not busy.
Fast sites feel more trustworthy. That is not a metaphor about metrics — it is what visitors report when asked why they preferred one business to another.
