.page { max-width: 1200px; width: 100%; margin: 0 auto; padding: 40px 32px 60px; display: grid; grid-template-columns: 25% 1fr; gap: 32px; align-items: start; } .menu { min-width: 0; } .content { min-width: 0; display: flex; flex-direction: column; gap: 16px; } /* < 1024px: menu and content stack into a single column */ @media (max-width: 1023px) { .page { grid-template-columns: 1fr; padding: 24px 20px 40px; gap: 24px; } } /* < 640px: tighter page padding */ @media (max-width: 639px) { .page { padding: 16px 16px 40px; } }