One look, three forms. Put a native <button> inside: it works with no JavaScript (Alder renders the button inside for you). An <a> inside makes a link that looks like a button. The element alone is presentational: it looks like a button but is not one until a framework gives it a role, focus and Enter/Space handling.
A button keeps its natural width in a grid form or a column stack. Add full for a full-width button.