It appears that the solution you are seeking involves utilizing the ":checked" attribute instead of the ":focus" attribute currently in use.
Modification:
.c-form__checkbox:focus + .r-form__label .c-form__checkbox-square,
.r-form__radio:focus + .r-form__label .r-form__radio-circle {
stroke: #31CC89;
fill: #31CC89;
}
Revised to:
.c-form__checkbox:checked + .r-form__label .c-form__checkbox-square,
.r-form__radio:checked + .r-form__label .r-form__radio-circle {
stroke: #31CC89;
fill: #31CC89;
}
Using focus may cease triggering once you click outside the radio button, shifting focus to another element.