-긴 하다 (sometimes the verb is repeated instead of 하다) is a structure that puts emphasis on the verb, like the enlgish "do + verb".
Ex. 먹긴 했는데 (or 먹긴 먹었는데) 맛없었어요. I DID eat it but it wasn't good.
우아하지 않더라도 예쁘긴 해요 (or 예쁘긴 예뻐요). Even though I saw she isn't elegant, she IS pretty.
Note the space between -긴 and 하다 (춥긴 해요 and not 춥긴해요). And you're classifying 따뜻하다 as an adjective and 춥다 as a verb, that's not really right. They are both adjectival verbs. 먹다 is an active verb.