More flexible respond-to mixin with legacy support for "small/large"