Perched above the emerald waters of the Kupa River, Ozalj is one of Croatia's best-kept secrets — a medieval castle, rich history, and untouched nature just an hour from Zagreb.