# Landing Page Layout Build public-facing pages — landing, blog, changelog, pricing — using the Header + Main + Footer shell with Page components. ## When to use - Marketing sites, product pages, company sites - Blog and content pages - Pricing, changelog, portfolio pages - Any public-facing page that isn't a dashboard or documentation ## App shell ```vue [app.vue] ``` ### Common mistakes - Forgetting the `#body` slot on `UHeader` — this is the mobile menu content. Without it, mobile users have no navigation. - Using `variant="solid"` for both header and hero buttons — the header button should be lower weight than the hero CTA. ## Landing page ```vue [pages/index.vue] ``` ## Key components - `UPageHero` — hero with title, description, links, and optional media. Use `orientation="horizontal"` for side-by-side layout. - `UPageSection` — content section with headline, title, description, and `features` grid. Use `id` for anchor links. - `UPageCTA` — call to action block. - `UPageGrid` / `UPageCard` — card grid for features, testimonials, etc. - `UPageFeature` — individual feature item. - `UPageLogos` — logo wall for social proof. - `UPricingPlans` / `UPricingTable` — pricing cards and comparison tables. - `UFooterColumns` — multi-column footer with link groups (used inside `UFooter`). ## Variations ### Alternating feature sections ```vue ``` ### Blog listing ```vue [pages/blog/index.vue] ``` ### Changelog ```vue [pages/changelog.vue] ```