Aha! Muchas gracias! Ya he encontrado el fallo al ver tu código. Olvidé de añadirle "px" a los valores que asignaba. Ya está arreglado.
Y doblemente gracias porque ese método cortito de usar Math.max() la verdad es que nunca se me había ocurrido, y ahorra código y transparencia.
Un cordial saludo!