Sequentia Filii Bonacci Leonardo of Pisa (ca. 1175 - ca. 1245) is better known as Fibonacci. But this is actually a short for the Latin "filius Bonacci" (the son of Bonacci) which was made up during the 18th century (according to Wikipedia).

In this challenge, you'll be given an ordinal number (in the literal sense) between 1st and 20th and you have to return the corresponding term in the Fibonacci sequence.

The twist is that the ordinal number will be given in Latin.

Example: "duodecimus" → \$89\$.

Full I/O table

 input              | meaning | output
--------------------+---------+--------
 "primus"           |   1st   |    0
 "secundus"         |   2nd   |    1
 "tertius"          |   3rd   |    1
 "quartus"          |   4th   |    2
 "quintus"          |   5th   |    3
 "sextus"           |   6th   |    5
 "septimus"         |   7th   |    8
 "octavus"          |   8th   |   13
 "nonus"            |   9th   |   21
 "decimus"          |  10th   |   34
 "undecimus"        |  11th   |   55
 "duodecimus"       |  12th   |   89
 "tertius decimus"  |  13th   |  144
 "quartus decimus"  |  14th   |  233
 "quintus decimus"  |  15th   |  377
 "sextus decimus"   |  16th   |  610
 "septimus decimus" |  17th   |  987
 "duodevicesimus"   |  18th   | 1597
 "undevicesimus"    |  19th   | 2584
 "vicesimus"        |  20th   | 4181


Rules


The input is guaranteed to be exactly one of the strings described above.
If that helps, you may take it in full uppercase instead. But it must be consistent for all entries. Mixed cases are not allowed.
Depending on your algorithm and language, hardcoding or computing the terms of the sequence may either win or lose bytes. Both approaches are explicitly allowed.
This is code-golf!
R, 91 86 bytes

Look up the index of the sum of bytes in a brute-forced UTF8 lookup table and use the magic Fibonacci generating function to give the answer.



function(x)round(1.618^match(sum(!x)%%93,!'&#21;%(-1!5&#29;&#5;&#2;+3JOSCW&#25;&#17;6')*.2765)
"!"=utf8ToInt


Try it online!

Edit: -2 bytes by improved numeric rounding 

Edit: -3 bytes with a change to the lookup (thanks for the hint, @Giuseppe!)