One unmentioned con: The menu has to be repeated in HTML for this to switch responsively from spelled-out menu to hamburger, with the widescreen version outside the details. (Or JavaScript is needed to set the initial open/close state based on viewport size, and that seems to defeat the purpose.)
Left as comment at https://lucas-levin.com/code/blog/burger-navigation-menu-with-no-javascript-and-no-checkbox-hack