Why it matters
On mobile 100vh is the largest viewport (URL bar hidden), so full-height heroes are cut off behind the browser UI and jump when the bar collapses.
How to fix it
Use dynamic/small viewport units: min-h-svh or min-h-dvh (100svh, 100dvh).
Example
<section className="min-h-svh">…</section>References
More lint rules
void lint reports 67 rules in this category. Static source checks with no browser: Tailwind v4 silent failures, Next.js 16 API traps, React render-body bugs, accessibility markup, SEO files and motion hygiene.
ease-in-enter`ease-in` used for an entrance or hoverlong-ui-durationUI feedback transition longer than 500msno-reduced-motionAnimations present but no `prefers-reduced-motion` handling anywhereoverflow-x-hidden-sticky`overflow-x: hidden` on html/body/root wrapper breaks `position: sticky`will-change-static`will-change` applied statically to many elementsz-index-soupMany distinct z-index valueshardcoded-colorsHard-coded colors in components instead of tokensmissing-metadataPage has no `metadata` / `generateMetadata` and inherits only the root title