Flexbox or Grid?
Use Flexbox when content decides the size of items along one axis (toolbars, nav bars, button groups). Use Grid when the layout decides the size of items in two dimensions (cards, dashboards, page shells).
Responsive grids without media queries
auto-fit with minmax() creates as many columns as fit, each at least the minimum width. Wrapping the minimum in min() keeps a single column from overflowing on narrow screens.
Centering, the reliable way
Fluid type and spacing with clamp()
clamp(min, preferred, max) scales a value with the viewport while respecting limits. Mixing rem into the preferred value keeps text zoomable for accessibility.
Container queries for reusable components
Media queries react to the viewport; container queries react to the space a component actually has. That makes the same card work in a sidebar and in the main column.