- ProjectCard accepts a `priority` prop forwarded to the thumbnail Image so
above-the-fold cards skip lazy-loading and get a preload hint.
- ProjectsSection marks the first card *with an image* as priority; handles
the case where the first project has no image and the LCP candidate ends
up being a later card.
- View Project button drops `w-full` on mobile (collapsed sidebar above the
card body), using `self-start` + `text-center` instead so it sizes to its
content. Restores column-filling on lg+ where the sidebar is its own
narrow column.
Replace inline var(--blue) arbitrary shadow values with typed theme
tokens (shadow-brutal-xl, shadow-brutal-2xl). Remove translate on
ProjectCard hover — shadow-only interaction is less distracting in
a dense grid layout.