Root cause: .page-container was declared outside any CSS layer, giving it higher
specificity than Tailwind's @layer utilities classes. This caused all py-, px-,
gap- utilities on elements that also had .page-container to be overridden.
Fix: wrap .page-container and its responsive breakpoints inside @layer utilities
so the cascade order is: base < components < utilities (correct Tailwind v4 order).