Думаю квадрат у вас не выйдет резиновый, поскольку его резиновость пойдет в ту или иную сторону взависимости от контента, может быть только на js спрограммировать, но тоже сомнительное занятие.
Даже не знаю что сказать) думаю ничто не пострадает если вы все-таки jquery примените, к блоку нужному jQuery(".square").on("resize",function(){
ну а тут вычисляйте размеры типо что больше высота или ширина и в зависимости от этого , одно под другое подстраивается
});