Client wants a 2-3 page mini-site. Some pages are static (Home, Contact) where the content will never change and dynamic (Product page) where client has the ability to add/remove new products to a gallery or list of products.
Client also wants for the site to be accessible when they don't have access to an internet connection (at an event or visiting retailers, customers, etc).
For the sake of brevity, I'm only considering the development portion of this project and intentionally not taking into account any design processes or decisions which would obviously have their own impact on development.
We will need to make two main decisions about how to approach the development of a project like this: Which CMS will we use to build the site and which browsers and devices will we support for the offline functionality?
Since this is a small project, I would select a CMS that is simple to use for both the developer and the client. The client's request is only for minimal content management (products on product page) so I would want a CMS that's light-weight and customizeable. Perch would be an excellent candidate. I would avoid using a static-site generators like Jekyll or Kirby unless the client is comfortable editing front-end markup (or markdown).
WordPress wouldn't be a bad solution either, but it could become a bit heavy-handed for a small project like this one, more so for the developer than the client. But if the developer is experienced and comfortable with WordPress, this would make it a bit better of a choice.
The problem with offline support is that while it's fairly simple to do, it's really tricky to do right. So long as you ignore anything below IE10, browser support of offline applications is actually quite good.
Using application cache allows us to define which pages and assets we want to be available offline regardless of the CMS selected. However, this is where selecting a lighter CMS would be beneficial as we don't want the application cache to store excessive amounts of data if the CMS is delivering bloated markup with the content. (DISCLAIMER: I have never actually used application cache, so I could be wrong about CMS selection having any impact on application cache).
While offline support will some device testing to ensure that it works on the client's required devices, implementation shouldn't be too difficult since all we are doing is caching assets to display offline. We don't need to capture any user interactions when offline (e.g. capturing user input data) which will make offline functionality relatively simple. Additionally, since the offline functionality is primarily for the client's internal use when demoing their catolog remotely, we can tailor the solution to the specific devices and browsers they use most frequently.
I would build the site using a light, customizeable CMS like Perch to allow the client to manage and edit content and I would make all the pages and assets available offline using application cache which is supported on all modern browsers (IE10+) and mobile devices.