+ {/*
+ md:overflow-hidden clamps the landing page (/) to one viewport on
+ desktop + iPad as Grant requested. Mobile (below md) keeps
+ overflow-y-auto so the Hero remains reachable on narrow screens.
+ Scroll-needing routes (/resume) reintroduce their own
+ md:overflow-y-auto on an inner container so the layout decision
+ never has to know which pages are scrollable.
+ */}
+
{children}
diff --git a/frontend/src/app/resume/page.tsx b/frontend/src/app/resume/page.tsx
index 25294e4..5318f65 100644
--- a/frontend/src/app/resume/page.tsx
+++ b/frontend/src/app/resume/page.tsx
@@ -114,7 +114,11 @@ const skills = [
export default function ResumePage() {
return (
-
+ // md:h-full + md:overflow-y-auto re-enables scrolling on desktop/iPad
+ // here, since the global layout switched to md:overflow-y-hidden so the
+ // landing page can be a single viewport. /resume is long-form content;
+ // scrolling stays the expected behavior.
+
{/* Nav row — hidden on print */}