{% comment %}
Every question is rendered, and Alpine hides all but the active one. That is
what makes the final POST carry every answer and what keeps a radio group's
native `required` meaningful.
`novalidate` is the price. Left to itself the browser would refuse to submit,
try to focus a control inside a hidden fieldset, fail, and report nothing —
the form would simply do nothing. So the checking is driven from here, while
the messages still come from the browser.
{% endcomment %}