Как сделать, чтобы placeholder (или label) в input при фокусе смещался вверх и уменьшался?
Пошаговый туториал:
product.hubspot.com/blog/how-to-build-a-sleek-anim...
Можете поместить в разметке label после input и с помощью нехитрой конструкцииinput:focus + label {
    /* .... */
}
делать с ним все, что захотите (вероятно с помощью transform).