Once we have the initial registration form, break it into sections to allow some fields to be rendered dynamically. E.g. the accommodations field might change in response to the age group field changing.
There is a JavaScript package called Intercooler.js that can be used to add dynamic functionality without writing too much AJAX code:
https://engineering.instawork.com/iterating-with-simplicity-evolving-a-django-app-with-intercooler-js-8ed8e69d8a52